2011-10-19 82 views
1

我將一些源文件編譯爲獨立的* .obj模塊,然後將它們鏈接到* .lib靜態庫中,並與另一個可執行文件鏈接在一起。 Windows操作系統如何處理這種情況,我的意思是它會始終將整個可執行文件加載到內存中,或者只加載運行時必需的部分?* .lib - 是否靜態?

我問這個問題,因爲我使用的profiling programm(代碼覆蓋率)並沒有涵蓋它應該的所有文件,所以看起來像lib文件的某些部分在編程執行時不在內存中。

回答

0

可執行文件在執行時通過文件映射對象進行映射。因此,從技術上講,只有實際使用的exe頁面纔會從磁盤加載。

+0

有沒有辦法強制我的操作系統將所有內容加載到內存中?否則代碼覆蓋的結果將永遠不值得信任。 –

相關問題