מאמרים עם התגית “C++”
17 מאמרים עם התגית “C++”, מהחדש לישן.
-
Time Travel Debugging — להקליט ולהריץ אחורה באגים שלא משתחררים באפליקציות ארוכות-ריצה
באג פעם בחודש משאיר ב-crash dump רק את התוצאה. מקליטים ומריצים אחורה את הביצוע עם WinDbg Time Travel Debugging (TTD): TTD.exe, ring buffers ו-TTD.Calls.
-
למה arguments נשברים — כללי command-line arguments ב-Windows
Windows מעביר ל-CreateProcess מחרוזת אחת שהמקבל מפצל. מכסה את כללי CommandLineToArgvW, CRT ו-.NET, ArgumentList, ובניה ב-C++.
-
מה נשאר אחרי שה-parent מת — מחזיקים child processes ב-Job Object
למה SDK helpers שורדים UI שנהרג ומחזיקים את המצלמה או את ה-COM port? מתכננים משך חיים של child process עם Job Objects, KillOnJobClose ו-completion ports.
-
Win32 Thread Pool API — מקביליות בלי CreateThread, דרך CreateThreadpoolWork
מפזרים קריאות CreateThread בכל הקוד ה-native? המאמר מסביר את ה-Win32 Thread Pool API שעוצב מחדש ב-Vista: ארבעת האובייקטים work, timer, wait ו-io, cleanup gro...
-
Named Pipes בפועל — ה-IPC הסטנדרטי של Windows, מתכנון עד אבטחה
מדריך מעשי ל-Named Pipes, ה-IPC הסטנדרטי ב-Windows. המאמר מסדר לפי מקורות ראשוניים את הבחירה בין byte mode ל-message mode, תכנון server לכמה clients, אבטחה ע...
-
DllMain ו-loader lock — הסיבה האמיתית שאומרים לא לעשות כלום ב-initialization של DLL
למה אסור לקרוא ל-LoadLibrary או להסתנכרן עם threads מתוך DllMain. המאמר מסביר ממקורות ראשוניים איך loader lock מסדר כל DLL notification, תרחישי deadlock קלאס...
-
Spurious wakeup — למה condition variable מתעורר בלי notify, ואיך לחכות נכון ב-Windows
Wait של condition variable יכול להתעורר בלי notify (spurious wakeup). למה Windows מתיר זאת, וצורת ה-wait הנכונה עם while ו-predicate ב-Win32, ב-C++ וב-C#.
-
שיטות עבודה מומלצות ל-multithreading בפועל: מהדורת C++ — לבטל תאונות במבנה עם RAII ו-jthread
ב-C++, multithreading הוא עולם שבו data race הוא undefined behavior. המאמר עובר על מלכודת ה-destructor של std::thread, תכנון עצירה עם jthread ו-stop_token, ה...
-
מה זה MFC ב-Windows — יסודות לתחזוקת אפליקציות קיימות
סקירה של Microsoft Foundation Classes (MFC): הקשר ל-Win32, מבנה האפליקציה, message map, Document/View, DDX/DDV, ונקודות שחשוב לשים לב אליהן בתחזוקה.
-
רשימת בדיקה לניהול בטוח של child processes באפליקציית Windows
בניהול בטוח של child processes באפליקציית Windows, בעלות על עץ התהליכים ותהליך הסיום חשובים יותר מבחירת API להפעלה. המאמר עובר על Job Object, הפצת סיום, stdi...
-
הפצת אפליקציית Windows כקובץ אחד: מה single binary כן מכסה, ומה נשאר תלוי ב-OS
כשרוצים אפליקציית Windows כ-EXE אחד, חשוב להפריד בין אריזה לקובץ אחד לבין ביטול תלות ב-OS. המאמר עובר על .NET, C++, WebView2, WinUI, שירותים ומנהלי התקן.
-
מלכודות של shared memory ו-best practices מעשיים
המאמר עובר על המלכודות בשימוש ב-shared memory בשטח, ועל התכנון שמוריד את שיעור התקלות: סנכרון, visibility, lifetime, ABI והרשאות.
-
השוואת ביצועים הוגנת בין C#, C++, Java ו-Go
איך משווים בהגינות את מהירות הריצה של C#, C++, Java ו-Go: תכנון המדידה, warm-up, קיבוע הסביבה, קריאת הסטטיסטיקה, ופריטי benchmark קונקרטיים.
-
איך ממירים YUV ל-RGB ב-Media Foundation
איך ממירים frame ב-YUV ל-RGB ב-Media Foundation: ההמרה האוטומטית של Source Reader, המרה עצמית של NV12/YUY2, stride, ומרחב הצבע.
-
איך לשלוף still מ-MP4 בזמן נתון עם Media Foundation
עם Source Reader שולפים מ-MP4 את ה-frame הקרוב לזמן שביקשת, מיישרים stride ו-alpha של RGB32, ושומרים כ-PNG.
-
איך קוראים ל-DLL של C# Native AOT מ-C/C++
איך מפרסמים ספריית מחלקות C# כ-DLL native עם Native AOT, וקוראים לנקודות כניסה מסוג UnmanagedCallersOnly מ-C/C++ — לפי מקום השימוש, דפוסי מימוש ונקודות זהירות.
-
מבוא ל-Media Foundation: להבין את ה-API דרך COM
מה זה Media Foundation, דרך המונחים הבסיסיים של Windows media API — COM, HRESULT, IMFSourceReader ו-MFT — בסדר שכדאי לתפוס אותם קודם.