llvm字符串中的\0A\00是什么

llvm字符串中的\0A\00是什么,llvm,Llvm,我只是llvm汇编的初学者,我喜欢问关于 我不确定的一切 我只是在看hello world节目 @str=内部常数[13 x i8]c“hello world\0A\00” 我不明白后缀是什么意思 \0A\00我试图读取它,结果输出处没有换行符 但是,如果我只有\0A,换行符会返回。。。我觉得\00没用。。。 这是真的吗 在LLVM IR语法中,后接两个十六进制字符的反斜杠表示与这两个字符定义的字符相同的字符 在本例中,字符是索引10(0xA)处的字符(这是一个换行符)和索引0处的字符,索引0称

我只是llvm汇编的初学者,我喜欢问关于 我不确定的一切

我只是在看hello world节目 @str=内部常数[13 x i8]c“hello world\0A\00”

我不明白后缀是什么意思 \0A\00我试图读取它,结果输出处没有换行符 但是,如果我只有\0A,换行符会返回。。。我觉得\00没用。。。
这是真的吗

在LLVM IR语法中,后接两个十六进制字符的反斜杠表示与这两个字符定义的字符相同的字符

在本例中,字符是索引10(0xA)处的字符(这是一个换行符)和索引0处的字符,索引0称为“null”,用于在许多不同的系统中终止字符串。在C-line语言中,这些将被写成
\n
\0
(或者仅仅是0),而
\0
将被隐式地添加到C中文字字符串的末尾(但不是在LLVM IR中)

换句话说,您看到的字符串相当于C中的
“hello world\n”


注意:虽然可以处理以非null结尾的字符串,但这是非常不健康的,而且很多内置的字符串操作都会对这些字符串产生影响。不要忽略空终止。

只有当您不介意在hello world部分之后的字符串中保留计算机的所有剩余内存时,它才是无用的。NULL是字符串终止符。