GNU







C/C++
    ‐ Hello, world!
    ‐ Time
    ‐ CRC32
    ‐ Signal
    ‐ Thread
    ‐ Daemon
    ‐ JSON-C
    ‐ Open DIR
    ‐ Scan DIR
    ‐ Backtrace
    ‐ RapidJSON
    ‐ System Log
    ‐ Ring Buffer
    ‐ Input_Event
    ‐ Get Environ
    ‐ Share Memory
    ‐ ZIP Compress
    ‐ LZ77 Compress
    ‐ Domain Socket
    ‐ Set Capability
    ‐ Protocol Buffers
    ‐ Multiline String
    ‐ Write Framebuffer
    ‐ TCP Server、Client
    ‐ UDP Server、Client
    ‐ Load Share Library
    ‐ Memory Map(PROT_EXEC)
    ‐ Read Data from USB HID
    ‐ Read File(Line by Line)
    ‐ Protocol Buffers(nanopb)
    ‐ Process Pipe Stream(popen)
    ‐ Get Private Profile String
    ‐ Set Capability(In Container)
Assembly (ARM)
    ‐ 開發環境
    ‐ Hello, world!(printf)
    ‐ Hello, world!(swi, eabi)
    ‐ Hello, world!(swi, oabi)
Assembly (ARM 64)
    ‐ 開發環境
    ‐ Hello, world!(svc)
    ‐ Hello, world!(printf)
Assembly (MIPSEL)
    ‐ 開發環境
    ‐ Hello, world!(printf)
    ‐ Hello, world!(syscall)
Assembly (RISC-V 64)
    ‐ 開發環境
    ‐ Hello, world!(ecall)
    ‐ Hello, world!(printf)
Assembly (x86)
    ‐ 開發環境
    ‐ Hello, world!(gs)
    ‐ Hello, world!(printf)
    ‐ Hello, world!(int 0x80)
    ‐ Hello, world!(sysenter)
Assembly (x64)
    ‐ 開發環境
    ‐ Hello, world!(printf)
    ‐ Hello, world!(syscall)
    ‐ Hello, world!(int 0x80)
Invoke
Struct
Set PID
BASH Array
CFLAGS -rdynamic
CFLAGS -fsanitize=address
Makefile .PHONY
Makefile =、:=、?=、+=
Makefile EXTRA_CFLAGS
Makefile 列印Shell執行結果
int 0x80、sysenter、syscall
交換變數(無需暫存變數)
為何變數要使用兩個!!符號
如何在Preprocessor列印定義的數值
關於musl libc: Share Library Unload問題
解決Undefined reference to mq_timedreceive問題
解決Undefined reference to __gmpn_invert_limb問題



Wine







Assembly (ARM 64)
    ‐ 開發環境
    ‐ Hello, world!
C/C++
    ‐ 開發環境
    ‐ Hello, world!
    ‐ Dialog
        ‐ Create Window
        ‐ Handle Event
    ⊕ Single Document Interface (SDI)
        ‐ Create Window
        ‐ Handle Event
    ‐ Keyboard Event
    ‐ Mouse Event
    ‐ Set Timer
    ‐ Set Scrollbar
    ⊕ Painting
        ‐ Set Pixel
        ‐ Create Brush
        ‐ Create Pen
        ‐ Create Font
        ‐ Draw Line
        ‐ Draw Rectangle
        ‐ Draw Ellipse
        ‐ Draw Polygon
        ‐ Draw Arc
        ‐ Draw Chord
        ‐ Draw Pie
        ‐ Draw Text
        ‐ BitBlt
        ‐ StretchBlt
    ⊕ Menu
        ‐ Resource
        ‐ CreateMenu
        ‐ SystemMenu
        ‐ TrackPopupMenu
    ⊕ Control
        ‐ Button
        ‐ Edit
    ⊕ Resource
        ‐ Icon
        ‐ RCData
        ‐ DialogBox
        ‐ VersionInfo
        ‐ StringTable
        ‐ Accelerator
        ‐ CreateDialog
    ⊕ Common Dialog
        ‐ OpenFile
        ‐ SaveFile
        ‐ FindText
        ‐ PageSetup
        ‐ ChooseFont
        ‐ ChooseColor
        ‐ ReplaceText
如何顯示System Menu




ObjAsm







開發環境
Makefile
Hello, world!
Dialog
    ‐ Create Window
    ‐ Handle Event
Single Document Interface (SDI)
    ‐ Create Window
    ‐ Handle Event
Keyboard Event
Mouse Event
Set Timer
Set Scrollbar
Painting
    ‐ Set Pixel
    ‐ Create Brush
    ‐ Create Pen
    ‐ Create Font
    ‐ Draw Line
    ‐ Draw Rectangle
    ‐ Draw Ellipse
    ‐ Draw Polygon
    ‐ Draw Arc
    ‐ Draw Chord
    ‐ Draw Pie
    ‐ Draw Text
Build_UASM
如何指定Instance給SetObject
如何取得Object Template Address
解決WC_DIALOG無法執行的問題




MASM32







開發環境
Makefile
Hello, world!
Dialog
    ‐ Create Window
    ‐ Handle Event
Single Document Interface (SDI)
    ‐ Create Window
    ‐ Handle Event
Keyboard Event
Mouse Event
Set Timer
Set Scrollbar
Painting
    ‐ Set Pixel
    ‐ Create Brush
    ‐ Create Pen
    ‐ Create Font
    ‐ Draw Line
    ‐ Draw Rectangle
    ‐ Draw Ellipse
    ‐ Draw Polygon
    ‐ Draw Arc
    ‐ Draw Chord
    ‐ Draw Pie
    ‐ Draw Text




MinGW







C/C++
    ‐ 開發環境
    ‐ Hello, world!
    ⊕ Dialog
        ‐ Create Window
        ‐ Handle Event
    ⊕ Single Document Interface (SDI)
        ‐ Create Window
        ‐ Handle Event
    ‐ Keyboard Event
    ‐ Mouse Event
    ‐ Set Timer
    ‐ Set Scrollbar
    ⊕ Painting
        ‐ Set Pixel
        ‐ Create Brush
        ‐ Create Pen
        ‐ Create Font
        ‐ Draw Line
        ‐ Draw Rectangle
        ‐ Draw Ellipse
        ‐ Draw Polygon
        ‐ Draw Arc
        ‐ Draw Chord
        ‐ Draw Pie
        ‐ Draw Text
        ‐ BitBlt
    ‐ Enumerate USB HID
    ‐ URLDownloadToFile
Inline Assembly
如何編譯成DLL
如何編譯出最小Size的PE檔案
解決Junk (%esp) after expression問題
解決Undefined reference to InitCommonControlsEx問題
解決Undefined reference to HidD_GetHidGuid(_GUID*)@4問題
OpenCV
    ‐ 開發環境
    ⊕ C/C++
        ‐ Show MP4
    ‐ 解決Error: recursive_mutex in namespace std does not name a type問題
    ‐ 解決x86_64-w64-mingw32-gcc: error: unrecognized command line option -rdynamic問題




Netwide Assembler (NASM)







Assembly (x86)
    ‐ 開發環境
    ‐ Hello, world!(gs)
    ‐ Hello, world!(printf)
    ‐ Hello, world!(int 0x80)
    ‐ Hello, world!(sysenter)
    ‐ Parse argv
Assembly (x64)
    ‐ 開發環境
    ‐ Hello, world!(printf)
    ‐ Hello, world!(syscall)
    ‐ Hello, world!(int 0x80)
Win32 API
    ‐ 開發環境
    ‐ head.asm
    ‐ Makefile
    ‐ Hello, world!
    ⊕ Dialog
        ‐ Create Window
        ‐ Handle Event
    ⊕ Single Document Interface (SDI)
        ‐ Create Window
        ‐ Handle Event
    ‐ Keyboard Event
    ‐ Mouse Event
    ‐ Set Timer
    ‐ Set Scrollbar
    ⊕ Painting
        ‐ Set Pixel
        ‐ Create Brush
        ‐ Create Pen
        ‐ Create Font
        ‐ Draw Line
        ‐ Draw Rectangle
        ‐ Draw Ellipse
        ‐ Draw Polygon
        ‐ Draw Arc
        ‐ Draw Chord
        ‐ Draw Pie
        ‐ Draw Text
Win32 API (NASMX)
    ‐ 開發環境
    ‐ Makefile
    ‐ Hello, world!
    ⊕ Dialog
        ‐ Create Window
        ‐ Handle Event
    ⊕ Single Document Interface (SDI)
        ‐ Create Window
        ‐ Handle Event
    ‐ Keyboard Event
    ‐ Mouse Event
    ‐ Set Timer
    ‐ Set Scrollbar
    ⊕ Painting
        ‐ Set Pixel
        ‐ Create Brush
        ‐ Create Pen
        ‐ Create Font
        ‐ Draw Line
        ‐ Draw Rectangle
        ‐ Draw Ellipse
        ‐ Draw Polygon
        ‐ Draw Arc
        ‐ Draw Chord
        ‐ Draw Pie
        ‐ Draw Text
解決Undefined reference to __udivdi3問題
解決Undefined reference to _Unwind_Resume問題
解決Undefined reference to dl_iterate_phdr問題




High Level Assembly (HLA)







Assembly (x86)
    ‐ 開發環境
    ‐ Hello, world!
Win32 API (HLA v1.x)
    ‐ 開發環境
    ‐ Makefile
    ‐ Hello, world!
    ⊕ Dialog
        ‐ Create Window
        ‐ Handle Event
    ⊕ Single Document Interface (SDI)
        ‐ Create Window
        ‐ Handle Event
    ‐ Keyboard Event
    ‐ Mouse Event
    ‐ Set Timer
    ‐ Set Scrollbar
    ⊕ Painting
        ‐ Set Pixel
        ‐ Create Brush
        ‐ Create Pen
        ‐ Create Font
        ‐ Draw Line
        ‐ Draw Rectangle
        ‐ Draw Ellipse
        ‐ Draw Polygon
        ‐ Draw Arc
        ‐ Draw Chord
        ‐ Draw Pie
        ‐ Draw Text
解決w.WC_DIALOG定義錯誤問題
解決Flex: input rules are too complicated (>= 32000 NFA states)問題




Flat Assembler (FASM)







Assembly (ARM)
    ‐ 開發環境
    ‐ Hello, world!(swi, eabi)
    ‐ Hello, world!(swi, oabi)
Assembly (x86)
    ‐ 開發環境
    ‐ Hello, world!(printf)
    ‐ Hello, world!(int 0x80)
Win32 API
    ‐ 開發環境
    ‐ head.asm
    ‐ Makefile
    ‐ Hello, world!
    ⊕ Dialog
        ‐ Create Window
        ‐ Handle Event
    ⊕ Single Document Interface (SDI)
        ‐ Create Window
        ‐ Handle Event
    ‐ Keyboard Event
    ‐ Mouse Event
    ‐ Set Timer
    ‐ Set Scrollbar
    ⊕ Painting
        ‐ Set Pixel
        ‐ Create Brush
        ‐ Create Pen
        ‐ Create Font
        ‐ Draw Line
        ‐ Draw Rectangle
        ‐ Draw Ellipse
        ‐ Draw Polygon
        ‐ Draw Arc
        ‐ Draw Chord
        ‐ Draw Pie
        ‐ Draw Text




Visual C++ 6.0







Drop File
UTF-8轉BIG-5
顯示倚天中文字型
Capture Screen
Microsoft Fundation Class (MFC)
    ‐ 開發環境
    ‐ main.mak
    ‐ Hello, world!
    ⊕ Dialog
        ‐ Create Window
        ‐ Handle Event
    ⊕ Single Document Interface (SDI)
        ‐ Create Window
        ‐ Handle Event
Wow64
分析USBView
Export Makefile
OutputDebugString
CScrollView Dialog
MakeSureDirectoryPathExists
WM_CLOSE、WM_DESTROY、WM_QUIT
GetKeyState、GetKeyboardState、GetAsyncKeyState
FILE_FLAG_WRITE_THROUGH、FILE_FLAG_NO_BUFFERING
解決執行管理權限問題
解決無法自動顯示函數的問題
解決Wine Service Pack Setup Error問題
解決Cannot open file: afxcontrolbars.h問題
解決Internal error during IncrBuildImage問題
解決Err:module:import_dll Library krnl386.exe16問題
解決Wine Read access denied for device L"\\??\\Z:\\"問題
解決LNK1112: module machine type 'x64' conflicts with target machine type 'X86'問題




C++ Builder 6







Visual Component Library (VCL)
    ‐ 開發環境
    ‐ main.mak
    ‐ Hello, world!
    ⊕ Single Document Interface (SDI)
        ‐ Create Window
如何將*.bpr轉成*.mak
解決無法在Wine環境下編譯的問題




Delphi 7







Visual Component Library (VCL)
    ‐ 開發環境
    ‐ Hello, world!
    ⊕ Single Document Interface (SDI)
        ‐ Create Window




Free Pascal







Win32 API
    ‐ 開發環境
    ‐ Hello, world!
Simple DirectMedia Layer (SDL) v1.2
    ‐ 開發環境
    ‐ Hello, world!
    ‐ Fill Color
    ‐ Load BMP




FreeBASIC







Win32 API
    ‐ 開發環境
    ‐ Hello, world!
Simple DirectMedia Layer (SDL) v1.2
    ‐ 開發環境
    ‐ Hello, world!
    ‐ Fill Color
    ‐ Load BMP
Build FreeBASIC(aarch64)




OpenCV







開發環境
Window Utils
    ‐ Mouse Event
    ‐ Use Trackbar
Image Processing
    ‐ Show Image
    ‐ Gray Color
    ‐ Erode Image
    ‐ Convex Hull
    ‐ Dilate Image
    ‐ Find Contours
    ‐ Shape Distance
    ‐ Fast Line Detector
    ‐ Pixels Manipulation
Video Processing
    ‐ Play MP4
    ‐ Get Frame Count
    ‐ Save Frame to JPG
    ‐ Show Specific Frame
Build OpenPose
解決Error: SIFT has not been declared問題
解決Opencv2/ximgproc.hpp: No such file or directory問題
解決OpenCVHelper.obj : error LNK2019: unresolved external symbol void __cdecl cv::GaussianBlur問題




Simple DirectMedia Layer (SDL)







v1.2
    ‐ 開發環境
    ⊕ C/C++
        ‐ Hello, world!
        ‐ Fill Color
        ‐ Load BMP
        ‐ Save BMP
        ‐ Load PNG
        ‐ Blit Surface
        ‐ Stretch Surface
        ‐ Convert Surface
        ‐ Color Key
        ‐ Keyboard Event
        ‐ Mouse Event
        ‐ Open Font
        ‐ Get Ticks
        ‐ Load Music
        ‐ Music Effect
        ‐ Hook Music Finished
        ‐ Pixels Manipulation
        ‐ Set Alpha
        ‐ Set Timer
        ‐ Add Timer
        ‐ Load BMP from Memory
        ‐ Load PNG from Memory
        ‐ Open Font from Memory
        ‐ Load Music from Memory
        ‐ Music Effect from Memory
        ‐ Thread
        ⊕ GFX
            ‐ Draw Box
            ‐ Draw Pixel
            ‐ Draw Line
            ‐ Draw Rectangle
            ‐ Draw Circle
            ‐ Draw Ellipse
            ‐ Draw Pie
            ‐ Draw Trigon
            ‐ Draw Polygon
            ‐ Draw Bezier
            ‐ Draw String
    ‐ SDL_AUDIODRIVER支援的類型
    ‐ SDL_VIDEODRIVER支援的類型
    ‐ SDL_FB_BROKEN_MODES用途
    ‐ SDL_Flip()、SDL_UpdateRect()
    ‐ SDL_SWSURFACE、SDL_HWSURFACE
    ‐ 如何知道SDL是否設定成SDL_DOUBLEBUF
v2.0
    ‐ 開發環境
    ⊕ C/C++
        ‐ Hello, world!
        ‐ Fill Color
        ‐ Draw Box
        ‐ Load BMP
        ‐ Save BMP
        ‐ Load PNG
        ‐ Save PNG
        ‐ Blit Surface
        ‐ Stretch Surface
        ‐ Convert Surface
        ‐ Rotate Render
        ‐ Color Key
        ‐ Keyboard Event
        ‐ Mouse Event
        ‐ Joystick Event
        ‐ Open Font
        ‐ Get Ticks
        ‐ Load Music
        ‐ Music Effect
        ‐ Pixels Manipulation
        ‐ Set Alpha
        ‐ Add Timer
        ‐ Load BMP from Memory
        ‐ Load PNG from Memory
        ‐ Open Font from Memory
        ‐ Load Music from Memory
        ‐ Music Effect from Memory
        ‐ Thread
    ‐ 如何設定VSync
OpenGL ES 2.0
    ‐ 開發環境
    ⊕ C/C++
        ‐ Get Version
        ‐ Fill Color
        ‐ Draw Triangle
        ‐ Use Shader
        ‐ Use Texture
        ‐ Rotate Texture




Wayland







Client
    ‐ 開發環境
    ‐ Connect Server
    ‐ Add Listener
    ‐ Bind Compositor
    ‐ Create Surface
    ‐ Create Buffer
    ‐ Draw Pixel
    ‐ Redraw Pixel
    ‐ Ping Pong
    ⊕ OpenGL ES 2.0
        ‐ Get Version
        ‐ Use Texture
WAYLAND_DEBUG
如何使用Valgrind找出Memory Leak的地方




Rust







開發環境
Hello, world!
SQLite
Web Server
Web Server(Form)
Web Server(CRUD)
PI - Monte Carlo
PI - Monte Carlo(Parallelism)
PI - Monte Carlo(Concurrency)
SDL v1.2
    ‐ Hello, world!
    ‐ Fill Color
    ‐ Draw Box
    ‐ Load BMP




Simple and Fast Multimedia Library (SFML)







C/C++
    ‐ 開發環境
    ‐ Hello, world!




Golang







開發環境
Hello, world!
解決Cannot load io/fs: malformed module path io/fs問題




Python







v3.x
    ‐ Graphviz
    ‐ File SHA1
    ‐ Connect MySQL
    ‐ Connect MongoDB
如何讓Unittest只跑幾個特定的檔案
解決Strings must be encoded before hashing問題
解決ImportError: cannot import name encoders問題
解決No module named xmlrunner.__main__; xmlrunner問題
解決Module object has no attribute directive_defaults問題




C#







開發環境
Hello, world!




MCU 8051 IDE







開發環境
SFR
Assembly
    ‐ LED
    ‐ Button




Node.js







開發環境
Hello, world!
Read YAML
Ping Command
如何透過Promise等待事件完成




JavaScript







Write Text File




Java







Applet
    ‐ Hello, world!




LeetCode







C
    ⊕ 注意事項
        ‐ Sort
        ‐ Array
        ‐ Global Variable
    ‐ 1. Two Sum
    ‐ 2. Add Two Numbers
    ‐ 3. Longest Substring Without Repeating Characters
C++
    ‐ 1. Two Sum
    ‐ 2. Add Two Numbers
    ‐ 3. Longest Substring Without Repeating Characters
Rust
    ‐ 1. Two Sum
    ‐ 2. Add Two Numbers
    ‐ 3. Longest Substring Without Repeating Characters