预编译请教
在 某C文件中 有如下 代码:......
/*--- End of included file: packet-goose-hf.c ---*/
#line 50 "../../asn1/goose/packet-goose-template.c" ----> 1
/* Initialize the subtree pointers */
static int ett_goose = -1;
/*--- Included file: packet-goose-ett.c ---*/
#line 1 "../../asn1/goose/packet-goose-ett.c" -----> 2
static gint ett_goose_GOOSEpdu = -1;
static gint ett_goose_GSEMngtPdu = -1;
static gint ett_goose_RequestResponse = -1;
static gint ett_goose_GSEMngtRequests = -1;
static gint ett_goose_GSEMngtResponses = -1;
static gint ett_goose_GetReferenceRequestPdu = -1;
static gint ett_goose_T_getReferenceRequestPDU_offset = -1;
static gint ett_goose_GetElementRequestPdu = -1;
static gint ett_goose_T_references = -1;
static gint ett_goose_GSEMngtResponsePdu = -1;
static gint ett_goose_PositiveNegative = -1;
static gint ett_goose_T_responsePositive = -1;
static gint ett_goose_SEQUENCE_OF_RequestResults = -1;
static gint ett_goose_RequestResults = -1;
static gint ett_goose_IECGoosePdu = -1;
static gint ett_goose_SEQUENCE_OF_Data = -1;
static gint ett_goose_Data = -1;
/*--- End of included file: packet-goose-ett.c ---*/
#line 55 "../../asn1/goose/packet-goose-template.c"---------->3
/*--- Included file: packet-goose-fn.c ---*/
#line 1 "../../asn1/goose/packet-goose-fn.c" ---------->4
/*--- Cyclic dependencies ---*/
.......
以上与编译指令 到底是何意思?
例如 标记1 处 ,是指 此处包含 packet-goose-template.c 的 第50行吗?还是 从此处开始代表 packet-goose-template.c 的第 50行,即 源文件已改为 packet-goose-template.c? > 以上与编译指令 到底是何意思?
> 例如 标记1 处 ,是指 此处包含 packet-goose-template.c 的 第50行吗?还是 从此处开始代表 packet-goose-template.c 的第 50行,即 源文件已改为 packet-goose-template.c?
摘自《C语言解析教程》附录B
形式为
#line intergral_constant "filename"
的预处理指令使得编译器对原文本重编号,为下一行设定一个特定的常量,并认为当前文件名是filename。 重定义当前行和重命名当前文件的.
> 例如 标记1 处......
表示,标记1处重定义为文件的第50行,该文件名重命名为packet-goose-template.c(真实的文件名和该行标号可能不是这个).
页:
[1]