[英]How to include part of file by C++ preprocessor #include
我想引用一些我不维护的稳定库代码。 实际上,这是一些MFC代码段。
但是,每当我想包含代码片段时,都必须#include
整个文件,因此必须包含其他内容,然后是整个MFC ...结果是不可接受的。
目前,我将代码段复制/粘贴到我的项目中,但是我感到可耻。 我可以只使用C ++预处理程序来引用文件的一部分吗?
即使代码与特定的MFC版本硬链接,也比在我的项目中复制它们更好。 有了这样的硬链接,我将知道它来自MFC,并节省了检查时间。
有一些超级#include
用法吗?
我们可以写点什么吗
#include "foo.h" line [12, 55)
这意味着在foo.h中包含第22至54行
有些人所做的是在其标头中写入#ifdef-sections,以允许包括文件的内容仅包含特定部分。 我不知道您的MFC文件是否包含这些文件,但是您可以浏览并使用任何现有文件或编写自己的文件。
标头通常看起来像这样
#ifdef USE_FANCYPANTS
bool hasFancyPants();
#endif
#ifdef USE_COOLSTUFF
void doCoolStuff();
#endif
然后您的包含文件在包含之前使用#define。
#define USE_FANCYPANTS
#include "header.hpp"
那么你只会得到hasFancyPants()而不是doCoolStuff()
typedef
关键字,它将为MFC和非MFC定义不同的类型,和/或特定于您的项目设置和旧版代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.