举例说明c++中__attribute__的 用法
时间: 2023-11-22 20:00:46 浏览: 87
mdk_armcc_user_guide.pdf
1. __attribute__((packed)): 用于告诉编译器取消结构体或者联合体的字节对齐,使其占用的字节数最小化。
```
struct test {
char a;
int b;
char c;
} __attribute__((packed));
```
2. __attribute__((aligned)): 用于指定变量或者类型的对齐方式,以字节为单位。
```
int a __attribute__((aligned(16))) = 0;
```
3. __attribute__((noreturn)): 用于告诉编译器函数不会返回,可以用于优化代码。
```
void test() __attribute__((noreturn));
```
4. __attribute__((const)): 用于告诉编译器函数没有任何副作用,并且只依赖于输入参数。
```
int add(int a, int b) __attribute__((const));
```
5. __attribute__((unused)): 用于告诉编译器变量或者函数未被使用,避免出现未使用的变量或者函数的警告。
```
int a __attribute__((unused));
void test() __attribute__((unused));
```
阅读全文