1、
1)源代码:
test2.c
#line 1
int main(void){
printf("line 1\n");
printf("line 2\n");
printf("line 3\n");
printf("line 4\n");
printf("line 5\n");
printf("line 6\n");
printf("line 7\n");
printf("line 8\n");
#include "test1.c
test1.c
#line 9 "test2.c"
#define LINUX
#ifdef WIN32
printf("win32\n");
#elif defined LINUX
printf("linux %d %s\n",__LINE__,__FILE__);
#else
#error no flag define
//如果LINUX和WIN32没有定义,#error会显示错误信息,然后停止编译
#endif
}
2)运行结果:
mysea@mysea-pc:~/test$ ./test2
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
linux 13 test2.c
2、#error表示停止编译,显示错误信息
3、#line 直接指定下一行的行号及文件名
1)指定行号
#line n
2)指定文件名和行号
#line n "filename"
4、源代码的#include "test1.c"和#line 9 "test2.c"表示:test2.c和test1.c实质属于一个C程序:test2。
1)注意这只是标注,如果要在编译时把test1.c包括进来,必须加上#include "test1.c
2)编译时,编译test2
mysea@mysea-pc:~/test$ gcc -o test2 test2.c
分享到:
相关推荐
本文档旨在详细介绍Visual C++编译器的各种选项及其功能,帮助开发者更好地理解和利用这些配置来优化和调试他们的C++应用程序。 ##### @(指定编译器响应文件) **功能描述**:通过该选项可以指定一个包含其他编译...
C语言函数库是C编程中不可或缺的部分,它们包含...总之,理解和掌握C语言函数库的使用以及预处理指令的运用,对于编写高效、可维护的C程序至关重要。通过良好的代码组织和预处理技巧,可以提高开发效率,降低维护成本。
* IDENTIFIER EXPECTED:当 DEFINE 控制没有参数时产生本信息,DEFINE 需要一个参数作为标识符,这和C语言的规则相同。 * MEMORY SPACE EXHAUSTED:编译器不能分配足够的存储区来编译指定的源文件,如果始终出现这个...
- `error`: 如果登录尝试失败,则返回错误消息。 - `session.id`: 如果登录成功,则返回会话ID。 - **示例请求**: ```bash curl -k -X POST -d "action=login&username=azkaban&password=azkaban" ...
sql导入数据库时出现ERROR at line 206: Unknown command '\'的解决方法 在 mysql 中,使用 mysqldump 工具导出数据库是一种常见的操作。然而,在使用 mysql 命令将导出的数据库文件导入目标数据库时,可能会出现 ...
致命错误信息具有特定格式:C51FATAL-ERROR–ACTION:<currentaction>LINE:<lineinwhichtheerrorisdetected>ERROR:<correspondingerrormessage>C51TERMIANTED。这个信息中包含两个关键部分,Action和Error。 Action...
### 在赞扬#Error指令中的重要知识点 #### 一、#Error 指令的基本概念与作用 在 C 语言编程中,预处理器指令是编译前处理...对于那些希望确保代码质量和一致性的开发者来说,`#error` 提供了一种简单而有效的方式。
#### C_51FATAL_ERROR 这一错误类型表明在编译过程中遇到了致命性错误,这可能导致编译过程无法继续进行。错误消息中提到的“terminconsumedd”意味着编译器在处理源代码时遭遇了无法恢复的情况,如语法错误、内存...
在我的Mac Air上,用pip安装一些Python库时,偶尔就会遇到一些报错,关于“unused-command-line-argument-hard-error-in-future”,错误如下:复制代码 代码如下:cc -fno-strict-aliasing -fno-common -dynamic -...
本章将深入探讨如何利用Turboc的图形库进行C语言编程。 首先,Turboc集成的图形库是Borland Graphics Interface (BGI),它提供了一系列函数,使得开发者能够方便地在屏幕上绘制点、线、多边形、圆等图形,并实现...
BL51 BANKED LINKER/LOCATER V6.22 10/13/2017 23:08:20 PAGE 1 BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: D:\51PROGRAM FILES\C51\BIN\BL51.EXE STARTUP.obj, chuankou.obj TO chuankou RAM... C:001AH LINE# ...
以上内容涵盖了Unix C 编程中的一些基本概念和技巧,包括预处理指令的使用、头文件管理、环境变量设置以及常用的远程登录工具。希望这些知识点能够帮助读者更好地理解和掌握Unix C 编程的基础知识。
通过理解并熟练掌握函数库的管理和C语言的预处理机制,开发者能够更高效地组织和编写C程序,提高代码的可读性和可维护性,同时降低程序的编译时间和资源消耗。在实际编程过程中,合理运用这些技巧将有助于提升编程...
`c-support.vim`插件通过其广泛的键盘映射和代码自动生成功能,极大地提升了C语言开发者的生产力。熟练掌握这些快捷键,能够显著提高编码效率,减少重复工作,并帮助开发者更快地完成项目。对于任何使用Vim进行C语言...
a,b,c=4,5,6 相当于 a=4,b=5,c=6 ### 常量 Python 不支持常量,只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。 >>> print(max_speed) 120 >>> max_speed = 140 #实际上是可以进行更改的,...
C语言预处理是C编程中的一个重要环节,它在编译过程的早期阶段执行,主要涉及宏定义、条件编译和包含文件等操作。这门“C语言预处理 - C语言最后一课”可能涵盖了一些关键概念和技巧,让我们深入探讨一下。 预...
**预处理器**是C和C++编程语言中一个重要的组成部分,它在实际的编译工作开始之前对源代码进行预处理。预处理器的主要任务包括宏定义与展开、条件编译、文件包含以及错误信息的指示等。 #### 二、预处理器功能 1. ...