当前位置: 首页 > news >正文

上海网站建设公司排行青海最新消息今天

上海网站建设公司排行,青海最新消息今天,wordpress注册界面修改密码,安徽建站系统关于gcc扩展中的宏定义中用 # 和 ##今天测试了宏定义中的 # 和 ## 的区别。 结果如下#xff1a; # 代表和一个字符串相连接 ## 代表和一个符号连接#xff0c;符号可以是变量#xff0c;或另一…关于gcc扩展中的宏定义中用 # 和 ##今天测试了宏定义中的 # 和 ## 的区别。 结果如下 # 代表和一个字符串相连接 ## 代表和一个符号连接符号可以是变量或另一个宏符号。 举例如下 宏定义如下 (1) #define DEV_FILE_NAME    /dev/test_kft #define OPEN_FILE(fd, n)    / {   /     fd open(DEV_FILE_NAME #n,O_RDONLY); /     if(fd 0) /     { /        printf(Open device error/n); /         return 0; /     }   / } 如此调用 OPEN_FILE(fd1, 1);     OPEN_FILE(fd2, 2);     OPEN_FILE(fd3, 3);     OPEN_FILE(fd4, 4);     OPEN_FILE(fd5, 5);     OPEN_FILE(fd6, 6); 用gcc -E展开后如下 2299:    { fd1 open(/dev/test_kft 1,00); if(fd1 0) { printf(Open device error/n); return 0; } }; 2300:    { fd2 open(/dev/test_kft 2,00); if(fd2 0) { printf(Open device error/n); return 0; } }; 2301:    { fd3 open(/dev/test_kft 3,00); if(fd3 0) { printf(Open device error/n); return 0; } }; 2302:    { fd4 open(/dev/test_kft 4,00); if(fd4 0) { printf(Open device error/n); return 0; } }; 2303:    { fd5 open(/dev/test_kft 5,00); if(fd5 0) { printf(Open device error/n); return 0; } }; 2304:    { fd6 open(/dev/test_kft 6,00); if(fd6 0) { printf(Open device error/n); return 0; } }; 如果没有定义DEV_FILE_NAME 就是 2299:    { fd1 open(DEV_FILE_NAME 1,00); if(fd1 0) { printf(Open device error/n); return 0; } }; 2300:    { fd2 open(DEV_FILE_NAME 2,00); if(fd2 0) { printf(Open device error/n); return 0; } }; 2301:    { fd3 open(DEV_FILE_NAME 3,00); if(fd3 0) { printf(Open device error/n); return 0; } }; 2302:    { fd4 open(DEV_FILE_NAME 4,00); if(fd4 0) { printf(Open device error/n); return 0; } }; 2303:    { fd5 open(DEV_FILE_NAME 5,00); if(fd5 0) { printf(Open device error/n); return 0; } }; 2304:    { fd6 open(DEV_FILE_NAME 6,00); if(fd6 0) { printf(Open device error/n); return 0; } }; 所以可以很清楚的看出#n 解析出来的是n , 用于连接一个已有的字符串。 (2) 再来看 ## 是什么意思, 宏定义如下 #define OPEN_FILE(fd, n)    / {   /     fd open(DEV_FILE_NAME ##n,O_RDONLY); /     if(fd 0) /     { /        printf(Open device error/n); /         return 0; /     }   / } 调用方式相同。 看宏展开 2299:    { fd1 open(DEV_FILE_NAME1,00); if(fd1 0) { printf(Open device error/n); return 0; } }; 2300:    { fd2 open(DEV_FILE_NAME2,00); if(fd2 0) { printf(Open device error/n); return 0; } }; 2301:    { fd3 open(DEV_FILE_NAME3,00); if(fd3 0) { printf(Open device error/n); return 0; } }; 2302:    { fd4 open(DEV_FILE_NAME4,00); if(fd4 0) { printf(Open device error/n); return 0; } }; 2303:    { fd5 open(DEV_FILE_NAME5,00); if(fd5 0) { printf(Open device error/n); return 0; } }; 2304:    { fd6 open(DEV_FILE_NAME6,00); if(fd6 0) { printf(Open device error/n); return 0; } }; 现在看清楚了, ##n 的作用是把n直接连接在了一个符号的末尾. 好 现在我们定义一个符号看看效果。 #define DEV_FILE_NAME1    /dev/test_kft1 再展开 2299:    { fd1 open(/dev/test_kft1,00); if(fd1 0) { printf(Open device error/n); return 0; } }; 2300:    { fd2 open(DEV_FILE_NAME2,00); if(fd2 0) { printf(Open device error/n); return 0; } }; 2301:    { fd3 open(DEV_FILE_NAME3,00); if(fd3 0) { printf(Open device error/n); return 0; } }; 2302:    { fd4 open(DEV_FILE_NAME4,00); if(fd4 0) { printf(Open device error/n); return 0; } }; 2303:    { fd5 open(DEV_FILE_NAME5,00); if(fd5 0) { printf(Open device error/n); return 0; } }; 2304:    { fd6 open(DEV_FILE_NAME6,00); if(fd6 0) { printf(Open device error/n); return 0; } }; 很显然第一个符号被替换了, 因为是符号是宏的缘故。 这样我们也能把这一扩展特性应用在变量上。
http://www.pierceye.com/news/353623/

相关文章:

  • 做网站的公司重庆互联网营销方式
  • 在线探测网站开发语言东莞人才市场现场招聘会地址
  • 检测网站是否被挂黑链seo网站营销推广
  • 当今网站开发技术的现状自己做的网站怎么上排行榜
  • 外贸没有公司 如何做企业网站?成都市住房和城乡建设局官网查询
  • 公证网站建设管理无锡百度正规推广
  • 免费海外网站建设自学设计软件的免费网站
  • 个人姓名最多备案多少个网站外贸网站制作公司
  • 上海市建设安全协会官方网站上海人才网官网公示
  • 原创文章网站wordpress注册页面修改密码
  • 山东省建设注册执业中心网站博物馆网站做的最好的
  • 做论坛网站能赚钱吗山东济南网站建设公司
  • 建网站海外英文建站
  • 学网站开发网页制作苏州模板建站哪家好
  • 音乐网站建设怎么上传音乐易点租电脑租赁官网
  • 做足球网站前景一个网站源码值多少钱
  • 成都网站排名优化公司上海创意网站建设
  • 贵阳市住房城乡建设局八大员网站wordpress 输出 文章时间
  • 那个装修公司的网站做的好想创业去哪里找项目
  • 公选课网页制作与网站建设网页游戏平台十大排名
  • 无锡锡牛网站建设网站倒计时
  • 南通做外贸网站网站建设培训四川
  • 微小店适合卖做分类网站吗手机开发者网站
  • 广州建企业网站网页设计是啥意思
  • wap手机网站建设刀模 东莞网站建设
  • 怎样做网站的外链做推广优化的网站有哪些内容
  • 永嘉规划建设局网站备案个人网站做淘宝客
  • 枣庄网站建设电话网站怎么做 凡科
  • 视频网站点击链接怎么做的宁波网站建设接单
  • 网站报价表怎么做wordpress 横向扩展