- 主题:C++里面不同的文件可以用不同的宏吗
如题
有两组C++和h源文件:
a.cpp需要include a.h
b.cpp需要include b.h
但是a.h里面有
#define STH STHA
b.h里面有
#define STH STHB
有什么办法让这两个define不冲突
a.cpp里面都用STHA去替换STH
b.cpp里面都用STHB去替换STH
还是说这是一种很屎的做法?
有没有不屎的做法
--
FROM 1.202.141.*
这个本来就没问题,你的问题是有人同时include了两个header吧
【 在 lobachevsky (罗巴切夫斯基) 的大作中提到: 】
: 如题
: 有两组C++和h源文件:
: a.cpp需要include a.h
: ...................
--
FROM 27.91.71.*
用完就 #undef 掉。
如果是作为 API 而定义,那得加上项目前缀。然后你自己保证一个项目里面不会存在相同的定义就行了。
【 在 lobachevsky (罗巴切夫斯基) 的大作中提到: 】
: 如题
: 有两组C++和h源文件:
: a.cpp需要include a.h
: ...................
--
FROM 124.72.119.*
如果都是在cpp中使用,可以在cpp开始位置define就行
不用写h里
--
FROM 111.197.22.*
嗯
我想了想我好想很难保证这个项目里面不会存在相同的宏
BTW,用namespace来区分可行否
【 在 hgoldfish 的大作中提到: 】
: 用完就 #undef 掉。
: 如果是作为 API 而定义,那得加上项目前缀。然后你自己保证一个项目里面不会存在相同的定义就行了。
:
--
FROM 1.202.141.*