我正在查看 libmysql.c 的源代码。我偶然发现了
int STDCALL mysql_server_init(int argc MY_ATTRIBUTE((unused)),
char **argv MY_ATTRIBUTE((unused)),
char **groups MY_ATTRIBUTE((unused)))
argc MY_ATTRIBUTE 是什么意思。如果我正确的话,使用 int argc MY_ATTRIBUTE() 意味着什么 int 是返回类型 MY_ATTRIBUTE 是函数名称。我想知道 argc 的用途
最佳答案
unused
This attribute, attached to a variable, means that the variable is meant to be possibly unused. GCC will not produce a warning for this variable.
这意味着当不使用该变量时,编译器 gcc 将不会给出有关该变量的警告。
示例:
int main(void)
{
int a; // warning as variable a not used
int b __attribute__((unused));
}
当使用 gcc -Wall
或简单地 gcc -Wunused-variable
编译此程序时,您将得到:
main.c: In function ‘main’:
main.c:7:6: warning: unused variable ‘a’ [-Wunused-variable]
int a;
^
<小时/>
现在int argc MY_ATTRIBUTE((unused))
:
argc
是一个整数参数,如果它不在函数STDCALL mysql_server_init
定义中使用,编译器不会给出警告。
关于mysql - int argc MY_ATTRIBUTE((未使用)) 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42444936/