編譯、生成、調試和運行有什么區別?


編譯:把你能看懂,但機器看不懂的源代碼,翻譯成你看不懂但機器能看懂的二進制文件。編譯過程對於C/C++來說,一般有預處理,編譯生成中間文件,鏈接這三個大過程,具體的這里就不多說了,有很多介紹的。

生成:按照你說的,VS中解決方案指的是完成一個目標的解決方案,字面意思。很多時候你完成一個開發目標,除了你自己寫代碼的部分,還可能會用到很多資源文件(圖片,音視頻以及其他東西),包括引用的第三方庫,這些東西的處理有的就是打包進來,有的要在鏈接過程中,一起並入到你的程序等等,所以生成解決方案就是綜合你完成這個目標所用到的所有資源,根據你配置的參數(各個項目屬性,引用目錄,解決方案屬性等等),生成幫助你完成目標的工具(可以運行的程序等),當然你下載的開源庫一般就是生成靜態庫(.lib)或者動態庫(.dll),因為他們的目標就是給你提供工具。

調試:一般指的你寫的代碼,在Debug模式下編譯以后,編譯器在你的代碼里插入了調試信息,你可以一步一步運行程序,查看中間結果,適用於你程序運行不對,需要檢查中間過程確定問題源頭的時候。真正程序發布時需要在Release模式下編譯,去掉調試信息,否則Debug模式為了你調試方便,有很多輔助內容,也不會進行優化,程序效率比較低。

運行:一是指的運行你生成的程序。而是編譯源代碼的時候,可能需要如CMake等工具輔助多文件編譯,那么就需要編寫CMakeList然后運行CMake工具來完成多文件編譯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM