2017-06-15 55 views
0

我正在使用turbo C++ IDE在c上開發一個小應用程序。Turbo C++調試問題

我使用include指令在頭文件中定義了所需的常量並將其包含在源文件中。 我通過添加源文件創建了一個項目。

但是,當調試時,當我添加一個頭文件常量來觀看窗口,它顯示'未定義的符號'。

任何人都可以指向正確的方向嗎?

在此先感謝。

+1

你是什麼意思「常量」?你是指'const'限定對象還是'#define'宏?第一個不應該在頭文件中定義,第2個由編譯過程'刪除'。 – pmg

+1

**不要使用TurboC++。**它是*過時*編程語言的編譯器。使用[C++ 11](https://en.wikipedia.org/wiki/C%2B%2B11)(或C++ 14或C++ 17)或[C99](https://en.wikipedia .org/wiki/C99)(或C11)符合標準的編譯器,如最近的[GCC](http://gcc.gnu.org/)或[Clang/LLVM](http://clang.llvm.org/) 。你會發現許多源代碼編輯器 - 例如'emacs'或'vim'-(並構建自動化工具 - 例如GNU'make')與它們一起使用 –

+0

親愛的@ pmg,我定義了像'#define X_CNST 2'這樣的常量。 'X_CNST'被編譯器刪除的原因是什麼?一般建議使用頭文件來定義我認爲的常量值。 –

回答

3

Phase 4 of the compilation process有效地去除之後的任何#define

#define FOO 42 
/* ... */ 
int a = FOO; 

相4變得

/* ... comment deleted in phase 3 */ 
int a = 42; 

沒有FOO在所產生的可執行符號。