gcc
binbinyantai
脚踏实地,一步一个脚印的积累
展开
-
GCC __attribute__ ((weak))
看rtems库的是否发现这个地方不懂,就搜索了一下,下面的文章让我豁然开朗。GCC中的弱符号与强符号我们经常在编程中碰到一种情况叫符号重复定义。多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候将会出现符号重复定义的错误。比如我们在目标文件A和目标文件B都定义了一个全局整形变量global,并将它们都初始化,那么链接器将A和B进行链接时会报错:转载 2018-01-12 09:33:50 · 3329 阅读 · 0 评论 -
warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
下面的文章详细介绍了这个warning的来源和解决方法。也可以关闭优化,当然关闭优化并不是最终解决方法。down voteacceptedFirst off, let's examine why you get the aliasing violation warnings.Aliasing rules simply say that y转载 2018-01-09 19:38:35 · 3321 阅读 · 0 评论 -
-Wno-pointer-sign 学习
gcc中char 和 unsigned char 有时候传递参数类型不匹配会有报警。比如我会得到报警当在(char*) 和(unsigned char* or signed char*)之间转换的时候,比如传入参数类型不一致。增加下面编译选项可以关闭该报警-Wno-pointer-signto switch off the warning原创 2018-01-27 16:14:32 · 3392 阅读 · 1 评论