[问题] header file 的命名与引用

楼主: forb9823018 (风过无痕)   2017-04-23 01:10:30
开发平台(Platform): (Ex: Win10, Linux, ...) Android
编译器:GCC
问题(Question):
想请问一下
header file 如果不照惯例命名 使用ifdef 时后面的
参数怎么知道是变量名字还是档名?
所以档名是有可能跟变量名称撞名报错?
作者: LPH66 (-6.2598534e+18f)   2017-04-23 02:50:00
对编译器来说, header guard 的名字只是另一个宏名字而已所以只要不要跟你的程式里的所有变量/宏等等名字撞名就好一旦撞名, 因为那个宏定义是把它代换成空字串撞名的那个名字就会不见那不见之后会报什么错就不一定了这也就是你前一个问题在问的会有人故意加 INCLUDED 的原因因为那个名字就够长到出现在程式里面的机率非常小再来, header guard 之所以会写档名的原因是为了明确指出这是用在对谁的 guard 这样而已, 总不能写这个但影响别人吧最后, 所有以上的麻烦都可以用 #pragma once 取代
作者: steve1012 (steve)   2017-04-23 08:03:00
能用pragma once 就用 不要自找麻烦
楼主: forb9823018 (风过无痕)   2017-05-01 17:18:00
3Q 因为在android 平台trace code看别人code的时候不确定有没有定义

Links booklink

Contact Us: admin [ a t ] ucptt.com