c语言还可以这么玩
很长一段时间以来,我都知道C语言可以将多个程序组合成一个程序,没想到,还可以将一个程序分成几个子片段:
充分利用编译信息的预定义宏:
1、__FILE__:指出本行语句所在源文件的文件名称,数据类型是字符串
2、__LINE__:指出本行语句的行号信息,数据类型是整型
3、__DATE__:
4、__TIME__:
5、__STDC__:
1 //This is c program code! 2 /* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= 3 * 文档信息: *** :~/bookCode/learn6/testcc.c 4 * 版权声明: *** :(魎魍魅魑)MIT 5 * 联络信箱: *** :guochaoxxl@163.com 6 * 创建时间: *** :2020年11月14日的下午06:58 7 * 文档用途: *** :数据结构与算法分析-c语言描述 8 * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl) 9 * 修订时间: *** :2020年第45周 11月14日 星期六 下午06:58 (第319天) 10 * 文件描述: *** :自行添加 11 * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/ 12 #include <stdio.h> 13 14 int main(int argc, char **argv) 15 { 16 printf("The fileName: %s\n", __FILE__); 17 printf("The lineNumber: %d\n", __LINE__); 18 19 return 0; 20 }
结果:
1 The fileName: testcc.c 2 The lineNumber: 17
或者用#line n指定下一行代码的行数或者用#line n "fileName"指定特定文件名中的行数为下一行代码:testc1.c
1 #include <stdio.h> 2 #line 0 3 int main(void){ 4 printf("line 1\n"); 5 printf("line 2\n"); 6 printf("line 3\n"); 7 #include "testc2.c"
testc2.c
1 #line 4 "testc1.c" 2 #define LINUX 3 #ifdef WIN32 4 printf("win32\n"); 5 #elif defined LINUX 6 printf("linux\n %d\n %s\n",__LINE__,__FILE__); 7 #else 8 #error no flag define 9 //如果LINUX和WIN32没有定义,#error会显示错误信息,然后停止编译 10 #endif 11 }
编译:
1 gcc testc1.c -o testc1
结果:
1 line 1 2 line 2 3 line 3 4 linux 5 8 6 testc1.c
代码比较简单,没什么说明。
人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2019-11-14 解决一些python的问题记录
2017-11-14 标准C程序设计七---121
2017-11-14 标准C程序设计七---120
2017-11-14 标准C程序设计七---117
2017-11-14 标准C程序设计七---116
2017-11-14 标准C程序设计七---114
2017-11-14 标准C程序设计七---115