2017-06-15 47 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在所产生的可执行符号。