旧C编译器扼流器我试图将一些相对较新的C代码移植到较旧的编译器。#ifndef #define
此编译器(DICE)来看,扼流圈在第一头文件和这个成语的第一次出现:
#ifndef SOMETHING
#define SOMETHING
...
#endif /* SOMETHING */
它死在第二行中的标头: DCPP: "../../code/someheader.h" L:2 C:0 Error:39 Syntax Error
更改为#define SOMETHING 1
没有区别。
所以我真的有两个问题,我是否在使用DICE时选择了错误的选项或者什么东西,或者那么C程序员是否在过去使用了一些与ifndef-define相同的成语?
参考文献:
- DICE Wikipedia Entry
- Original source code,运行在Unix
- 稍微更新Amiga version
- DICE,马特·狄龙的作者,接着产生DragonFlyBSD
如果是[这个DICE编译器](http://www.obviously.com/amiga/),那么肯定会用于典型的包括守卫。 – tinman
我的第一版(第21版)K&R在第208页介绍了#ifndef,所以它已经存在了一段时间。 –
哦,这个问题带回了记忆!我甚至为共享软件版本付费。 :)除此之外,它应该工作,否则所有系统标题也会失败。 –