Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C trigraph???/已忽略,使用-trigraph启用_C_Gcc - Fatal编程技术网

C trigraph???/已忽略,使用-trigraph启用

C trigraph???/已忽略,使用-trigraph启用,c,gcc,C,Gcc,我的编译器(gcc)向我发出此警告。请帮助我理解它的含义: 警告:trigraph???/已忽略,请使用-trigraph启用 您“意外地”在源代码中的某个地方编写了一行代码(编译器的警告将精确定位该行)。由于三角图的发明是为了解决一个在现代系统中不起作用的问题,因此实际上,您不希望三角图??/被字符\取代 因此,可能应该忽略此警告(您可以通过在命令行中的-Wall之后添加-Wno trigraphs来告诉编译器关闭;请参阅)。但是最好显示您的源代码,这样我们就可以确定了。您可以使用\跳过每个问

我的编译器(gcc)向我发出此警告。请帮助我理解它的含义:

警告:trigraph???/已忽略,请使用-trigraph启用

您“意外地”在源代码中的某个地方编写了一行代码(编译器的警告将精确定位该行)。由于三角图的发明是为了解决一个在现代系统中不起作用的问题,因此实际上,您不希望三角图
??/
被字符
\
取代


因此,可能应该忽略此警告(您可以通过在命令行中的
-Wall
之后添加
-Wno trigraphs
来告诉编译器关闭;请参阅)。但是最好显示您的源代码,这样我们就可以确定了。

您可以使用
\
跳过每个问号,而不是添加编译器标志,即
\?-
。这对我的情况很有帮助。

??/
相当于反斜杠,您可以将三元图替换为“\”,除非您(比如)在大型机3270终端上编辑C代码,等等,出于偏执的考虑,将“?”的出现写为“\?”是一个“好主意”。(一些字符,如{}[]\,在许多大型机字符集中是不存在的,在其他系统中也不存在一些非英语键盘。)C的尘土飞扬的角落再次罢工…编译器标志应该用于在编写trigraph时没有注意到它是一个的情况。那个么编译器就不会为此烦扰你们了。如果您在编写时知道它是一个意外的trigraph,那么您可以按照您的建议将其转义,并忘记编译器标志。