C #line指令的用例

时间:2014-11-04 18:43:55

标签: c directive

我正在阅读C中其他人写的一些代码。

它就像:

line 6: #include <map>
line 7: #line 8 "../myapp.h"
line 8: #include "users.h"

这是什么意思? #line指令是否有任何好的/明确的用例?

感谢您的任何见解。

最佳

1 个答案:

答案 0 :(得分:3)

#line指令通常由翻译人员使用。

假设您使用某种奇怪的语言编写代码,使用翻译器将其翻译为C,并且代码中存在错误,因此C代码无法编译。

您不关心错误所在的C代码中的行,您希望在翻译之前知道原始代码中的行。因此,翻译人员很可能会将#line编号引入与原始代码中的行号匹配的C代码中。