Visual Studio 編譯選項

2021-08-27 08:46:16 字數 823 閱讀 1693

control flow guard

鏈結優化選項。/opt:ref將剔除未使用的函式與變數,減小最終二進位制檔案的大小。/opt:icf對相同的comdat進行摺疊。 (use icf[=iterations] to perform identical comdat folding)

要除錯 release 版本,需要指定以下選項:

/rtc選項可以執行執行時檢查。/rtcc當寬變數給窄變數賦值時,會報錯。/rtcu檢查使用未初化的變數。/rtcs檢查堆疊及陣列越界問題。

/nologo選項放在/lib選項之前,報錯。放在之後,就正常。

link /nologo /lib :error

link /lib /nologo :ok

visual studio圖形介面中設定/map選項,導致無法生成 map 檔案。 檢視最後的專案屬性中,link 的 command line ,發現/map選項的冒號括到引號裡去了,導致該命令無效。解決辦法:只使用/mapinfo:exports選項,不使用/map選項。

/map is useless

/mapinfo:exports is ok

link map: can not find mz_os.obj ?

使用visual studio編譯OPAL

編譯過程可以參考一下兩篇文章,建議使用vs2017,避免一些不必要的麻煩。首先開啟opal專案下的plugins資料夾 開啟plugins 2017.sln 找到解決方案下面的video工程集 要想編譯這些檔案,還需要有ffmpeg的庫支援 從專案屬性頁我們可以發現,原作者在編譯的時候是新增了ffm...

使用Visual Studio編譯Detours

detours是乙個用於在windows上監視和檢測api呼叫的開源軟體包。detours已經被許多isv使用,並且也被microsoft的產品團隊使用。detours現在可以在標準的開源許可證 mit 下使用。這簡化了使用detours的程式設計師的許可,並允許社群使用開源工具和流程支援detou...

visual studio之預編譯頭

之前在一公司實習時,每天早上一上來就是更新 編譯 整個sln編譯一次,在我那機器上,算了下時間,接近3個小時.什麼概念,就是早上9點半上班,等編譯完後,可以去午睡了.後來實在受不了,上網找了新增預編譯頭的方法,在工作群裡吶喊了下,無人鳥我.當實習生的痛苦啊.做畢設開始沒想到加編譯頭,不過 越寫越是多...