嵌入式C语言复习——Day1
GCC的使用及其常用选项介绍
GCC(GNU C Compiler),相当于翻译组织
gcc -o output
gcc -o 输出的文件名 输入文件名字
预处理的使用
#include 包含头文件
#define 宏 替换,不进行语法检查
#define 宏名 (宏体)习惯上会加上括号
例:#define ABC (5+3)
#define宏函数 宏参数
例:#define ABC(x) ((5+(x))
预定义宏
_ FUNCTION _ ;函数名
_LINE _;行号
_ FILE _;文件名
#include"stdio.h"
int fun()
{
int a;
printf("the %s,%s,%d\n",_FUNCTION_,_FILE_,_LINE_);//打印所在函数,所在文件和所在行
return 0;
}
int main()
{
fun();
return 0;
}
条件预处理*#ifdef #endif *
#include<stiod.h>
#define ABC
int main()
{
#ifdef ABC
printf("=====\n",_FILE_); //进行预处理,方便工程debug
#endif
printf("hello world!\n");
return 0;
}
也可以使用编译器 gcc -DABC
相当于#define ABC
宏展开下的#、##使用
#字符串化 ##连接符号
#include <stdio.h>
#define ABC(x) #x //字符串化
#define DAY(x) myday##x
int main()
{
int myday1 = 10;
int myday2 = 20;
printf(ABC(ab\n));
printf("the day id %d\n",DAY(1));
return 0;
}