subject_56715.htm
来自「vc」· HTM 代码 · 共 24 行
HTM
24 行
<p>
序号:56715 发表者:fwzfwz1 发表日期:2003-10-20 11:57:09
<br>主题:__cplusplus的定义问题
<br>内容:经常看到#ifdef __cpluscplus,那么这个__cplusplus是在那里定义的,是不是一旦文件名的后缀为.cpp就已经定义了?请版主及高手指点!<BR>3x!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:学vc 回复日期:2003-10-20 16:15:12
<br>内容:不是,文件名是文件名,和这一点关系都没有。<BR>__cplusplus 是人为的在源文件的某个地方定义的。。也可能没有定义,<BR>你在源文件中搜索一下就知道了<BR><BR>#ifdef __cpluscplus 是编译预处理。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:市长先生 回复日期:2003-10-20 19:54:57
<br>内容:你的描述可能有问题,我只知道__cplusplus.<BR>在c++里面,__cplusplus是一个预编译常量,是编译器自动生成的,当然,程序得是c++.<BR>编译器在得到__cplusplus的指示后,它就会按照c++的游戏规则来编译程序,对应与_cplusplus<BR>的一个预编译常量是__STDC__(注意,是大写),意思是只要看到__STDC__,那么编译器就按照C的规则编译程序.<BR>当然__cplusplus跟__STDC__是不会同时出现的.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:fwzfwz1 回复日期:2003-10-20 20:25:56
<br>内容:__STDC__是c编译器的预编译常量,这个不会错吧?我编写了如下代码验证__STDC__的存在,但是未果。<BR> #include"stdio.h"<BR> void main(void)<BR> #ifdef __STDC__<BR> int i=6;<BR> #endif;<BR> char *p="i like embed linux";<BR> printf("%s\n",p);<BR> printf("%d\n",i);<BR> }<BR>因为如果定义了这个常量进而就会定义int i;结果呢,编译报错。<BR>注:我的源文件的后缀是.c
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?