mysql - int argc MY_ATTRIBUTE((未使用)) 表示

标签 mysql c

我正在查看 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 的用途

最佳答案

GCC C Extensions:

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/

相关文章:

c++ - C语言中函数中的switch指针

c - 在计算三角函数时,如何让 C 区分单 float 和双 float ?

javascript - 通过 Node 从Mysql数据库中获取数据,然后在 typescript 中访问它

mysql - 使用值的总和作为条件(SQL 查询)

java - 使用Java.Thread向MySQL数据库插入数据安全吗?

c++ - 将 argv 和 argc 传递给线程

c - C 声明变量时出错

mysql - 在 godaddy 上使用 MySQL 和 Entity Framework 的安全异常

php - 在mysql表中创建一个带有日期连接的ID字段

c - 如何修复C中无法访问的代码?我无法打印用户的输入