请输出gcc 中__attribute__的所有参数、说明和举例
时间: 2023-11-22 17:19:44 浏览: 104
lp_test_format.rar_The Don
gcc 中 __attribute__ 是用来声明特殊属性的关键字,常用于指定变量、函数、类型等的特定属性。以下是 __attribute__ 的常用参数、说明和举例:
1. aligned(n)
说明:指定变量的对齐方式,n 为变量的对齐值,必须为 2 的幂次方。
举例:__attribute__((aligned(16))) int a;
2. packed
说明:指定变量或结构体不进行字节对齐,节省内存空间。
举例:__attribute__((packed)) struct myStruct { char a; int b; };
3. deprecated
说明:标记函数或变量已过时,编译器会给出警告信息。
举例:__attribute__((deprecated)) void old_function();
4. noreturn
说明:标记函数不会返回,可以用于告诉编译器代码不会继续执行下去。
举例:__attribute__((noreturn)) void error_exit();
5. format(fmt, arg)
说明:指定函数的参数格式和类型,类似于 printf 函数。
举例:__attribute__((format(printf, 1, 2))) void my_printf(const char *format, ...);
6. unused
说明:标记变量或函数未被使用,编译器会给出警告信息。
举例:__attribute__((unused)) int unused_variable;
7. constructor(priority)
说明:标记函数为构造函数,可以指定优先级,指定的函数会在 main 函数之前自动执行。
举例:__attribute__((constructor(101))) void my_constructor();
8. destructor(priority)
说明:标记函数为析构函数,可以指定优先级,指定的函数会在 main 函数之后自动执行。
举例:__attribute__((destructor(101))) void my_destructor();
阅读全文