Hec*_*tor 4 gcc c-preprocessor
如果在特定日期之后编译,我希望不包括三行代码.原因是它们提供向后兼容性.为了支持客户端和嵌入之间的交错释放,现在必须在那里.
一旦下一个软件版本出现,将删除此支持以强制客户升级嵌入式软件.由于这是几个月之后,这些线路有被遗忘的风险.
理想情况下,我想要一个
#if __DATE__ > MyDate
code here
#endif
Run Code Online (Sandbox Code Playgroud)
或类似的东西.有没有办法做到这一点?
*代码是用GCC编译的
此解决方案专门用于Windows平台,是我在生产中使用的.
我利用环境变量%DATE%,并在用于启动IDE的批处理文件中,我有VA_CURRENT_DATE =%DATE:~6,4 %% DATE:~3,2 %% DATE:~0,2%(其中转换为我的特定区域设置的ISO8601日期.
然后在我的项目的预处理器定义中,我将VA_BUILD_DATE定义为VA_CURRENT_DATE
然后我有一些代码,如:
long day = VA_BUILD_DATE;
long year = day / 10000;
day -= year * 10000;
long month = day / 100;
day -= month * 100;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |