如何#include C中的单行

时间:2011-12-08 11:18:11

标签: c++ c gcc

有传言说有可能#include C中的一行(可能是gcc)

e.g。

#include <file.h> 5

要获得第5行。在cpp文档中找不到类似的内容。

或者哪些预处理器允许像这样做丑陋的黑客?!

5 个答案:

答案 0 :(得分:4)

我从来没有听说过这样的功能,我当然也没有遇到过支持它的任何预处理器。

无论如何,这听起来像真的坏主意。如果有人在file.h的顶部插入一个空行怎么办...你会为改变你的计划而感到高兴吗?

如果您控制file.h,我认为最好的方法是将第5行提取到单独的标题中,并#include将其提取到file.h和主程序中。

答案 1 :(得分:2)

我认为GCC或任何其他编译器都无法做到这一点。

答案 2 :(得分:2)

可能是你把它与

搞糊涂了
#line lineno filename

指令?

答案 3 :(得分:1)

http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html#Include-Syntax

使用gcc是不可能的,如果可以使用某个compiller的预处理器 它会造成绝对的混乱。

答案 4 :(得分:0)

如果你想要一些便携的话,你只需要创建一个单行文件 - 我也不知道有什么方法可以完全实现你的目标。