繁体   English   中英

关于c99,逻辑源代码行的定义是什么?

[英]Regarding to c99, What is the definition of a logical source line?

假设我们编写以下代码:

printf ("testtest"
    "titiritest%s",
    " test");

是否符合ISO / IEC:9899§5.1.1.2— 2

是3条不同的逻辑源代码行,还是单条?

这是

2.立即删除每个反斜杠字符(\\)并后接换行符的情况,将物理源代码行拼接成逻辑源代码行。 只有任何物理源代码行上的最后一个反斜杠才有资格成为此类接头的一部分。 不为空的源文件应以换行符结尾,在进行任何此类拼接之前,不得在其后立即加上反斜杠字符。

关于形成逻辑源线提到的唯一规则?

至于

5.2.4.1翻译限制

[...]

—逻辑源代码行中的4095个字符

这就意味着,只要我们在换行符前不使用\\ ,每个翻译单元的大小就不应超过4095个字符。 我很确定,那不是他们要说的。

那么我缺少查找的定义在哪里?

这是三个逻辑源代码行。

逻辑源代码行最重要,因为宏定义必须适合一个逻辑源代码行; 我现在无法想到逻辑源代码行多于一行的其他用途。 要构造大型字符串文字,您可以使用由多个物理源代码行组成的逻辑源代码行(我个人觉得非常丑陋),也可以依靠将引用的字符串连接在一起的事实,这更加可读和可维护。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM