apue中重复定义的问题
来源:互联网 发布:单片机外部脉冲计数器 编辑:程序博客网 时间:2024/04/29 09:37
晚上被APUE的一个小程序弄得很郁闷:有两个程序,14-1.c(含main,并且调用了set_fl.c)和set_fl.c,每个里面都包含了apue.h和apuee_err.h。编译的时候重复定义是很正常的。可是在apue_err.h中添加了ifndef和define,和endif之后,还是出现这个问题。我就很纳闷,查了好多地方也没搞明白到底是为什么。后来,hh来帮我看,也是很迷茫。最后发现apue_err.h中,有err_sys等几个函数的定义。猜测可能是这样的:编译的时候生成了两个.o的文件:14-1.o和set_fl.o,并且每个.o文件都包含err_sys等的定义,最后两个.o文件链接的时候,就自然会出现问题了。如果从apue_err.h中,把函数的定义单独拿出来,放在apue_err.c(可以放在/usr/lib里面),编译的时候可能就会为apue_err.c单独成立一个.o文件,和14-1.o和set_fl.o是并列的,这样就能避免重复定义。
- apue中重复定义的问题
- C/C++中重复定义的问题
- 对于单片机中重复定义的问题
- C语言中重复定义的问题
- 重复定义的问题
- Hibernate中有关重复定义字段的问题
- 解决PHP中函数重复定义的问题
- c++ 中头文件重复定义的问题
- 利用匿名namespace解决C++中重复定义的问题
- 转 c++ 中头文件重复定义的问题
- 利用匿名namespace解决C++中重复定义的问题
- C++ 中头文件重复定义的问题
- C语言中全局变量的定义及重复包含问题
- 关于重复定义的问题
- 头文件中添加了防止重复包含的宏,依旧报重复定义的问题
- 变量被重复定义的问题
- c++类型重复定义的问题
- 继承 类的重复定义问题
- 缓冲区溢出——堆溢出
- 缓冲区溢出攻击框架Metasploit
- ajax拖动层,保存层位置,这段代码是从网络人扒拉下来的(非XAJAX),使用类库prototype.js,感觉效果非常好
- .NET Compact Framework下SQL CE兼容性问题
- [Ruby]读写excel文件
- apue中重复定义的问题
- Access中用ADOX的方式创建表时,用到数据类型的注意事项
- [Ruby]字符串处理
- [Ruby]几个技巧
- 往事和旧人
- 笑别人等于笑自己
- 因果平台
- 这么有趣的事情,再晚开始也不迟
- 看图说话:无责任转载