您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关Tool中双斜线注释怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
很多编码人员习惯于在单行注释时使用双斜线(//),因为输入方便。
不过VxWorks的开发人员可能就会遇到一个问题了
上图是在Workbench的DKM工程里添加一个c文件,该文件中只包含一个双斜线,编译工程就报错了:expected identifier or '(' before '/' token
在Tornado里,也会遇到类似的问题。这是为什么呢?
因为这个工程中,IDE使用的编译器是gnu,编译规则默认包含了-ansi
从gnu的手册中,可以看到-ansi等同于-std=c89,而c89那个年代,是不支持双斜线的
问题找到了,怎么解决呢?最简单粗暴的办法就是 -- 删了它!
再编译一下试试
搞定了!
荆溪惠子鬓鬅鬙,义理钻研到粹精。只是搞定还不行,我们还要知道为什么搞定。继续看手册
原来删除-ansi后,IDE就会将规则重置为-std=gnu89,而正是gnu89对c89做了一些扩展,其中就包含了这个双斜线注释。
那我们直接将规则设置为gnu89,甚至c99、gnu99之类的呢?
试一下,都没有问题。
不过,毕竟和c89相比,c99的变化太多,编译规则改动太大,可能会涉及到代码移植或兼容的问题,这就需要项目经理或技术负责人来统筹定制规则了。事实上很多公司都会制定自己的编码规范,其中就会包括注释的书写规则。因此我们这里就先使用gnu89吧。
刚刚验证的是DKM工程,我们再打开VIP看看。VIP中的ansi选项是用单选框形式提供的,那怎么修改呢?
直接在User Flags里填写就可以了。
这就是gnu编译器编译双斜线注释的问题。
提到gnu编译器,你是不是又想到一种办法?对,就是用diab编译器来编译工程。
试一下,果然没问题。难道diab默认没有使用ansi选项?看一下Build Console,它用的选项是-Xansi
这是什么鬼?看看diab手册,-Xansi的全称是-Xdialect-ansi。原来是厂家专门做的改进,就像是gnu89对c89的改进。
看看它改进了哪些,果然有这一条
关于“Tool中双斜线注释怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。