
#include <1-1.h>;
哪个有结构:
struct bucket { ... } 不幸的是,这个库是三方的,他们已经在1.2中将struct bucket更改为bucket_t {…}.我的所有代码都使用了bucket,但我也希望它与bucket_t兼容.
是否有可能:
#ifndef bucket typedef bucket_t bucket;#endif
(代码不起作用,但如果存在,我想将bucket设置为bucket_t.谢谢.
解决方法 一种选择是在项目或makefile中添加自己的预定义符号,以指定您使用的版本.像liBRARY1_1或liBRARY1_2之类的东西.如果两者都未定义报告错误.您可以使用自己的包含文件,如下所示.如果您使用的每个版本的头文件不同…
my1-1.h
#if defined( liBRARY1_1 )#include <1-1.h>#elif defined( liBRARY1_2 )#include <1-2.h>typedef bucket_t bucket#else#error Please define liBRARY1_1 or liBRARY1_2 before including this file#endif
如果每个版本的标题使用相同的文件名…
my1-1.h
#include <1-1.h>#if defined( liBRARY1_1 )#elif defined( liBRARY1_2 )typedef bucket_t bucket#else#error Please define liBRARY1_1 or liBRARY1_2 before including this file#endif总结
以上是内存溢出为你收集整理的c与旧库的兼容性全部内容,希望文章能够帮你解决c与旧库的兼容性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)