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

  代码比较简单,没什么说明。

  

 

posted @   叕叒双又  阅读(133)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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
点击右上角即可分享
微信分享提示