摘要:
#error 指令用于在编译期间产生错误信息,并阻止程序的编译,其形式如下: #error error_message 例如,我们的程序针对 Linux 编写,不保证兼容 Windows,那么可以这样做: #ifdef WIN32 #error This programme cannot compi 阅读全文
posted @ 2021-03-28 06:19
myrj
阅读(778)
评论(0)
推荐(0)
摘要:
假如现在要开发一个C语言程序,让它输出红色的文字,并且要求跨平台,在 Windows 和 Linux 下都能运行,怎么办呢?这个程序的难点在于,不同平台下控制文字颜色的代码不一样,我们必须要能够识别出不同的平台。Windows 有专有的宏_WIN32,Linux 有专有的宏__linux__,以现有 阅读全文
posted @ 2021-03-28 06:15
myrj
阅读(382)
评论(0)
推荐(0)
摘要:
预定义宏就是已经预先定义好的宏,我们可以直接使用,无需再重新定义。ANSI C 规定了以下几个预定义宏,它们在各个编译器下都可以使用: __LINE__:表示当前源代码的行号; __FILE__:表示当前源文件的名称; __DATE__:表示当前的编译日期; __TIME__:表示当前的编译时间; 阅读全文
posted @ 2021-03-28 06:10
myrj
阅读(195)
评论(0)
推荐(0)
摘要:
在宏定义中,有时还会用到#和##两个符号,它们能够对宏参数进行操作。 # 的用法 #用来将宏参数转换为字符串,也就是在宏参数的开头和末尾添加引号。例如有如下宏定义: #define STR(s) #s 那么: printf("%s", STR(c.biancheng.net)); printf("% 阅读全文
posted @ 2021-03-28 06:08
myrj
阅读(1099)
评论(0)
推荐(0)
摘要:
带参数的宏和函数很相似,但有本质上的区别:宏展开仅仅是字符串的替换,不会对表达式进行计算;宏在编译之前就被处理掉了,它没有机会参与编译,也不会占用内存。而函数是一段可以重复使用的代码,会被编译,会给它分配内存,每次调用函数,就是执行这块内存中的代码。【示例①】用函数计算平方值。 #include < 阅读全文
posted @ 2021-03-28 06:01
myrj
阅读(421)
评论(0)
推荐(0)

浙公网安备 33010602011771号