首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C語言多文件編譯修改頭文件不生效:清理緩存與檢查同名文件

     編輯:程式設計綜合問答

現象

修改algo2-1.cpp後重新編譯運行主程序,輸出仍為修改前內容。

原因排查

  1. 舊目標文件殘留:.obj/.o未重新編譯 → 刪除bin/、obj/、Debug/、Release/目錄後Rebuild All。
  2. 同名文件混淆:專案中存在多個algo2-1.cpp(不同目錄),修改的非編譯使用的 → 用VS「Open Containing Folder」確認物理路徑。
  3. 頭文件未保存:編輯器緩存未寫入磁盤 → Ctrl+S強制保存,或啟用「Auto Save」。
  4. 預編譯頭:stdafx.h包含該頭文件,修改未觸發PCH重建 → 刪除.pch或關閉PCH。

標準多文件項目結構

project/
├── main.c          # 主函數
├── algo.h          # 聲明(僅聲明,無定義)
├── algo.c          # 實現
└── Makefile / .sln # 構建腳本

注意:.c/.cpp文件**不要**用#include "algo2-1.cpp"包含實現文件,應包含.h聲明文件,實現文件單獨編譯鏈接。

驗證步驟

  1. 刪除所有中間文件(*.obj、*.o、*.exe、*.pch)。
  2. 執行Rebuild All(VS)或make clean && make。
  3. 運行程序驗證輸出是否為最新邏輯。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved