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

2016-02-19 17:43 30 1 收藏

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

【 tulaoshi.com - 编程语言 】


  问题:
  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下是不能同时使用宏替换的。

来源:http://www.tulaoshi.com/n/20160219/1615899.html

延伸阅读
标签: ASP
确定数据库内有多少记录,或者确定有多少记录达到了某些标准,这些用ASP完成并非难事。如果你采用了正确的游标类型,你可以用RecordCount 属性获得记录数当然也可以用recordset。但是,有个更简单的办法,这就是在自己的SELECT语句中采用count(*) ,代码如下所示: SQL = "SELECT count(*) FROM Customers" 或者 SQL = "SELECT count(*) FROM...
标签: ASP
当你的查询相对简单的时候,每次从头开始创建SQL语句也不费什么工夫,不过,复杂的查询就不同了,每次都从头来会产生很多开发错误。因此,一旦让SQL顺利地运行起来,你最好把它们存起来,在需要时再调用它们。这样,哪怕是一个简单查询你都能随时用上存储的查询语句了。 假设你每周都要给团队做一次报告,指出目前存在的业务支持问题,这些数...
标签: ASP
在学会了SELECT语句的构造和用途之后你就该学习如何使用它了。在你所掌握的数据库工具下,这可能意味着你得按下某个写着“执行”字样的按钮。在ASP网页上,可以立即执行SQL语句也可以当作存储过程调用。 一旦创建了SQL 语句,你还得设法访问其查询结果。显然,这里的关键就是ASP recordset。在使用非SQL的recordset时,创建recordset的代码通...
标签: ASP
从某个页面表单中取出信息是ASP编程中常见的问题。但是,遍历通过表单传递的记录会花去多长时间呢?这取决于数据库的大小。简单的GUI界面都可能令循环遍历操作耗费太多的时间。 比方说,假设有个团队成员登录到GUI屏幕输入自己的名字姓氏和名字之间用点号连接:amy.cowen。这个值通过表单提交,她的当前项目列表就从数据库中取了出来并显示在...
标签: ASP
  五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了。但你要同时采用ASP和SQL的话就可能会头晕。MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句。不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网...

经验教程

385

收藏

99
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部