c/c++问题
当我程序编译连接的时候显示“_getch()”有错,明明是getch()怎么前面多了
一个“_”,有时候所包含的头文件也会出现此问题。
问"_"具体是什么含义 ?
问题点数:10、回复次数:6Top
1 楼shornmao(毛豆子[死猫])回复于 2001-12-12 19:45:46 得分 1
c调用规范在函数名前添加_。Top
2 楼heavyd(heavyd)回复于 2001-12-13 10:56:01 得分 0
那头文件为什么也会出现此情况呢?Top
3 楼redleaves(程序员)回复于 2001-12-13 11:55:03 得分 7
你所说的出错情况一定是在连接时发生的(我是这么认为).
C/C++的编译器在编译源程序时会把所有的标识符前加"_"做为前缀.这样做的目的是避免你声明的标识符和编译器内部定义的标识发生冲突.
一般发生这种错误的原因是LIB文件没有连接或不正确.也就是说连接器找不到函数原型.只要你连接时使用了正确的库文件就应该可以解决.
Top
4 楼axial()回复于 2001-12-13 12:33:58 得分 0
getch()
在conio.h里面定义,
在程序前加上#include "conio.h"
如果还不行,就检查编辑器菜单options/diretotries中include的路径设置Top
5 楼bbdragon(云梯)回复于 2001-12-13 13:15:47 得分 2
一般c等系统以下划线开始的标记作为保留字,防止类库函数名同用户的冲突。
所以你的函数最好不要用下划线开始的标记做函数或变量名。当时可能没namespace.Top
6 楼chulizhi(楚立志)回复于 2001-12-13 15:40:35 得分 0
系统文件的函数,变量都是一“-”它为开头,Top




