gcc支持在#pragma语句中使用宏替换吗

北漂求关注

北漂求关注

2016-02-19 17:43

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐gcc支持在#pragma语句中使用宏替换吗,无聊中的都看过来。

  问题:
  gcc编译器似乎对宏编译指令不支持宏替换,比如:
   #define PACK1 pack(1)
   #pragma PACK1
  
  
  回答:
  gcc 不支持#pragma行上的宏替换,参见:
  
  info gcc
  5.25 Declaring Attributes of Functions
  ...
   Some people object to the `__attribute__' feature, suggesting that
  ISO C's `#pragma' should be used instead. At the time `__attribute__'
  was designed, there were two reasons for not doing this.
  
   1. It is impossible to generate `#pragma' commands from a macro.
  
   2. There is no telling what the same `#pragma' might mean in another
   compiler.
  
  ...
  
  如此说来,使用#pragma在不同的编译器之间很难保证兼容性,
  假如非要用的话,至少在gcc下是不能同时使用宏替换的。
展开更多 50%)
分享

猜你喜欢

gcc支持在#pragma语句中使用宏替换吗

编程语言 网络编程
gcc支持在#pragma语句中使用宏替换吗

能否在SQL语句中使用正则表达式

Web开发
能否在SQL语句中使用正则表达式

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在ASP中使用SQL语句之1:SELECT 语句

ASP
在ASP中使用SQL语句之1:SELECT 语句

在ASP中使用SQL语句之4:联合语句

ASP
在ASP中使用SQL语句之4:联合语句

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在js中使用"with"语句中跨frame的变量引用问题

Web开发
在js中使用"with"语句中跨frame的变量引用问题

在ASP中使用SQL语句之7:ORDER BY

ASP
在ASP中使用SQL语句之7:ORDER BY

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

心情坏 天气真的很差 - QQ图案分组

心情坏 天气真的很差 - QQ图案分组

PHP新手上路(12)

PHP新手上路(12)
下拉加载更多内容 ↓