有传言说有可能#include C中的一行(可能是gcc)
e.g。
#include <file.h> 5
要获得第5行。在cpp文档中找不到类似的内容。
或者哪些预处理器允许像这样做丑陋的黑客?!
答案 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)
如果你想要一些便携的话,你只需要创建一个单行文件 - 我也不知道有什么方法可以完全实现你的目标。