gcc unsed和used的作用
Posted 17岁boy想当攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcc unsed和used的作用相关的知识,希望对你有一定的参考价值。
很多时候我们在编写代码的时候,如果此时编译器检查等级比较高,编译器会将警告视为错误,比如一个函数里有某些变量虽然存在但未使用,那么会报错,同时比如我们将某些变量放入某个段里然后通过指针指向地址来对它进行引用,那么会产生一个问题,如果开启了优化等级,如果这个变量在代码里没有被明确引用那么它可能不会被生成,就导致了指针引用方式出现了NULL的问题。
GCC有一些特性可以解决这两个问题,如下是GCC文档原文:
unused
This attribute, attached to a function, means that the function is meant to be possibly unused. GCC will not produce a warning for this function.
(此属性附加到函数,表示该函数可能未使用。GCC不会对此函数产生警告。)
used
This attribute, attached to a function, means that code must be emitted for the function even if it appears that the function is not referenced. This is useful, for example, when the function is referenced only in inline assembly.
(该属性附加到函数,意味着即使函数似乎未被引用,也必须为该函数发出代码。例如,当函数仅在内联程序集中引用时,这很有用。)
第一个问题可以使用unused属性来解决,第二个问题可以使用used属性来解决
以上是关于gcc unsed和used的作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Linux unsing QProcess 下执行 shell 命令?
GCC编译宏_GLIBCXX_USE_CXX11_ABI背景分析和实现原理
GCC编译宏_GLIBCXX_USE_CXX11_ABI背景分析和实现原理