2011-07-13 53 views
0

我想修改這個大的程序,需要將近10分鐘才能使用nmake進行編譯。編譯只有修改過的文件nmake

現在,如果我修改一個或幾個.cpp文件,nmake足夠聰明,可以編譯那些已更改的文件,而不是編譯項目的其餘部分。但是,如果我修改頭文件,我必須再次編譯整個事情。無論如何要避免這種情況?

+0

我想避免這種情況,因爲我必須隨時修改,直到編譯完成。這是一個商業軟件包,我沒有收到任何錯誤。 – Milad

回答

3

Nmake正在重新編譯依賴於標題的所有內容。只有您選擇的語言的體面編譯器或解析器才能夠判斷是否有任何數據佈局發生了變化。

如果Nmake不這麼做,那麼很快你會進入段錯誤和總線錯誤的可能性很高。

正確的解決方法是更乾淨地整理您的標題,並且只包含您所需的內容。

+0

所以,如果我有sample.h和sample.cpp,我修改頭文件nmake沒有注意到它,對吧?如果我對sample.cpp做了一個虛擬變更,那該怎麼辦?也許這是有效的,我必須嘗試 – Milad

+0

我認爲nmake足夠聰明,還可以重新編譯sample.cpp,以防您調整標題? –

+1

順便說一句,如果你尋找「組織源代碼」和類似的東西有很多的建議。如果你經常需要改變標題,那就存在一些治療方法,其中之一就是pimpl成語。 –

相關問題