learning gcc #pragma once】的更多相关文章

referenc: https://zh.wikipedia.org/wiki/Pragma_once 在C和C++编程语言中,#pragma once是一个非标准但是被广泛支持的前置处理符号, 会让所在的文件在一个单独的编译中只被包含一次. 以此方式,#pragma once提供类似include防范的目的,但是拥有较少的代码且能避免名称的碰撞.…
参数详解无选项编译链接    将test.c预处理.汇编.编译并链接形成可执行文件.这里未指定输出文件,默认输出为a.out.    例子用法:    gcc test.c 无选项链接    gcc test.o -o test    将编译输出文件test.o链接成最终可执行文件test. -x language filename   设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果你很个性,决定你的C代码文…
__BEGIN_DECLS and  __END_DECLS  be use for mix C and C++…
Gcc的编译流程分为了四个步骤: 预处理,生成预编译文件(.文件):gcc –E hello.c –o hello.i 编译,生成汇编代码(.s文件):gcc –S hello.i –o hello.s 汇编,生成目标文件(.o文件):gcc –c hello.s –o hello.o 链接,生成可执行文件:gcc hello.o –o hello 一.预处理 预编译程序读出源代码,对其中内嵌的指示字进行响应,产生源代码的修改版本,修改后的版本会被编译程序读入. 在 GNU 术语中,预处理程序叫…
The #pragma is complier specified. for example, the code below does not work in gcc. #pragma startup and #pragma exit: #pragma startup func1 #pragma exit func2 void func1() { printf("Inside func1()\n"); } void func2() { printf("Inside func2…

pch

#define kWeakSelf(weakSelf) __weak __typeof(self)weakSelf = self; #ifndef __OPTIMIZE__#define NSLog(...) NSLog(__VA_ARGS__)#else# define NSLog(...) {}#endif #ifdef DEBUG #define NSLog(...) NSLog(__VA_ARGS__) #else #define NSLog(...) #endif #define SC…
在使用xcode进行iphone应用开发时,经常需要添加一些第三方的类库,而一些第三方的类库由于缺少维护,从而导致类库中含有各种警告和各种内存泄漏,但并不影响运行. 倘若我们需要用到第三方库,而由不想在代码分析时看到这些库的警告或内存泄漏,我需要这样做: 1 2 3 4 5 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wincompatible-pointer-types" //含警告的代码,如下,b…
原文网址:http://blog.csdn.net/lizzywu/article/details/9419145 各个层次的gcc警告从上到下覆盖 变量(代码)级:指定某个变量警告 int a __attribute__ ((unused));指定该变量为"未使用的".即使这个变量没有被使用,编译时也会忽略则个警告输出. 文件级:在源代码文件中诊断(忽略/警告) 语法: #pragma GCC diagnostic [error|warning|ignored] "-W&l…
各个层次的gcc警告从上到下覆盖 变量(代码)级:指定某个变量警告 int a __attribute__ ((unused));指定该变量为"未使用的".即使这个变量没有被使用,编译时也会忽略则个警告输出. 文件级:在源代码文件中诊断(忽略/警告) 语法:#pragma GCC diagnostic [error|warning|ignored] "-W<警告选项>"诊断-忽略:(关闭警告) #pragma  GCC diagnostic ignore…
在看公司公共库的头文件中发现了:#pragma GCC system_header一行,以前没有见过这种用法,在网上查了一下,解释如下: 从#pragma GCC system_header直到文件结束之间的代码会被编译器视为系统头文件之中的代码.系统头文件中的代码往往不能完全遵循C标准, 所以头文件之中的警告信息往往不显示.(除非用 #warning显式指明). 可以查看gcc参考手册:http://gcc.gnu.org/onlinedocs/cpp/System-Headers.html#…