Visual Studio編譯原理科普

2021-10-17 15:41:10 字數 437 閱讀 2844

前言:剛從vscode、devc、vim或者其他地方來的小夥伴,對vs這種模式往往不是很清楚,特別是什麼是release和debug模式,什麼時候生成lib檔案,什麼時候生成dll檔案,什麼是解決方案,什麼時候用sln解決方案,什麼時候用suo解決方案,解決方案的生成步驟等等這些,這裡我做乙個總結,供參考。

debug通常稱為除錯版本,通過一系列編譯選項的配合,編譯的結果通常包含除錯資訊,而且不做任何優化,為開發人員提供強大的應用程式除錯能力。而release通常稱為發布版本,是為使用者使用的,一般客戶不允許在發布版本上進行除錯。所以不儲存除錯資訊,同時,它往往進行了各種優化,以期達到**最小和速度最優。為使用者的使用提供便利。

debug跟release在初始化變數時所做的操作是不同的

Visual Studio 編譯選項

control flow guard 鏈結優化選項。opt ref將剔除未使用的函式與變數,減小最終二進位制檔案的大小。opt icf對相同的comdat進行摺疊。use icf iterations to perform identical comdat folding 要除錯 release 版...

使用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...