热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有关c语言预处理

先看下面三个问题:1.预处理是C语言的一部分吗?2.包含“#”的都是预处理吗?3.预处理后面都不需要加;吗?


先看下面三个问题:
1.预处理是C语言的一部分吗?
2.包含“#”的都是预处理吗?
3.预处理后面都不需要加;吗?
下面是ANSI标准定义的C语言预处理指令:

另外,ANSC还定义了如下宏:
_LINE_ 表示正在编译的文件的行号
_FILE_ 表示正在编译的文件的名字
_DATE_ 表示编译时刻的日期字符串,例如: "25 Dec 2007"
_TIME_ 表示编译时刻的时间字符串,例如: "12:30:55"
_STDC_ 判断该文件是不是定义成标准C
如果你用的是标准编译器,理论上支持上宏定义,当然,如果不是标准的话,有可能支持一部分,或者完全不支持。注意:宏名的书写由标识符与两边各二条下划线构成。
现在回到刚开始的问题:
1.预处理命令不是C语言文本的内容,是某个编译工具的功能,不同的编译工具,功能及命令是可能不同的.
2.----------------
3.---------------
还有两个经典的问题:
***“#define M 100”是宏定义吗?显然不是,去掉双引号的话,确实是宏定义,但是加上以后就是字符串了...
***C语言程序的执行入口在哪?或者说从哪儿开始?是main()函数吗?为什么?
析:
C语言程序的入口函数与开发工具及提供的运行库有关,通常在链接是可以指定。在链接时,指定入口函数,但入口函数必须是运行启动库中支持的入口函数,如:mainCRTStartup
就是调用会调用主函数 main()
的入口函数。因此,入口函数是运行库提供的,当然你也能定制自己的运行库,自己编写入口函数,入口函数主要是完成内存及运行库的初始化工作,
在C语言中 main函数是主函数,就是入口函数完成初始化工作后调用的函数。同的初始化环境,有不同的入口函数及主程序....


推荐阅读
author-avatar
每天听点心理学_961
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有