如何用 C 語言將記憶體分段並設置管理屬性(讀/寫/執行權限、段基址、段長度等)?
mmap(Linux)、VirtualAlloc(Windows)申請虛擬記憶體區域,並用 mprotect/VirtualProtect 設置權限,模擬「分段」效果。| 平台 | 分配記憶體 | 設置權限 | 釋放記憶體 |
|---|---|---|---|
| Linux | mmap / malloc | mprotect | munmap / free |
| Windows | VirtualAlloc | VirtualProtect | VirtualFree |
mmap + mprotect 實現一個簡單的「代碼段可執行、資料段不可執行」的 Demo。