1. c++代碼在什麼情況下,修改了代碼,可以不需要編譯
無論是使用集成開發環境,還是使用makefile,都會根據文件的變動時間來判斷是否需要進行編譯。
例如使用main.cpp編譯出來main.exe文件。再次進行編譯時,會判斷main.cpp是否比main.exe更新。如果更新,就會觸發重新編譯。
正常情況下,修改代碼就應當進行代碼的重新編譯。但是在某些情況下,由於冗餘的頭文件引用導致不必要的擴大了編譯文件范圍。建議在包含頭文件時,盡量採用最小原則。不需要使用的頭文件就不要包含。
2. c++頭文件編譯重編譯
#ifndef XXXXX_H // 如果沒有定義 XXXXX_H
#defined XXXXX_H // 先定義 XXXXX_H , 那麼下一次編譯到這個 頭文件的時候上一句條件不成立,下面的內容就不會再編譯了。
// 頭文件中的代碼
#endif
在C++中,可以用#pragma once,用了#pragma once 之後就可以不用那麼麻煩去判斷有沒有編譯 過這個頭文件了,那個由編譯器自己判斷了。
3. c++中如何編譯頭文件,編譯頭文件的作用,
編譯頭文件的理解竅門,在include語句。
你可以理解為,include就是替換,在編譯的時候,在include的位置完整的將頭文件「嵌入」進去,在cpp文件中共同編譯。如果一個頭文件沒有被任何文件包含(include),那麼它不會編譯。
頭文件,你可以簡單的認為就是「避免重復」,將重復的聲明放在一起,方便代碼閱讀和管理,同時頭文件具有方便介面和安全檢查方面的作用。