C trigraph???/已忽略,使用-trigraph启用
我的编译器(gcc)向我发出此警告。请帮助我理解它的含义: 警告:trigraph???/已忽略,请使用-trigraph启用 您“意外地”在源代码中的某个地方编写了一行代码(编译器的警告将精确定位该行)。由于三角图的发明是为了解决一个在现代系统中不起作用的问题,因此实际上,您不希望三角图C trigraph???/已忽略,使用-trigraph启用,c,gcc,C,Gcc,我的编译器(gcc)向我发出此警告。请帮助我理解它的含义: 警告:trigraph???/已忽略,请使用-trigraph启用 您“意外地”在源代码中的某个地方编写了一行代码(编译器的警告将精确定位该行)。由于三角图的发明是为了解决一个在现代系统中不起作用的问题,因此实际上,您不希望三角图??/被字符\取代 因此,可能应该忽略此警告(您可以通过在命令行中的-Wall之后添加-Wno trigraphs来告诉编译器关闭;请参阅)。但是最好显示您的源代码,这样我们就可以确定了。您可以使用\跳过每个问
??/
被字符\
取代
因此,可能应该忽略此警告(您可以通过在命令行中的
-Wall
之后添加-Wno trigraphs
来告诉编译器关闭;请参阅)。但是最好显示您的源代码,这样我们就可以确定了。您可以使用\
跳过每个问号,而不是添加编译器标志,即\?-
。这对我的情况很有帮助。??/
相当于反斜杠,您可以将三元图替换为“\”,除非您(比如)在大型机3270终端上编辑C代码,等等,出于偏执的考虑,将“?”的出现写为“\?”是一个“好主意”。(一些字符,如{}[]\,在许多大型机字符集中是不存在的,在其他系统中也不存在一些非英语键盘。)C的尘土飞扬的角落再次罢工…编译器标志应该用于在编写trigraph时没有注意到它是一个的情况。那个么编译器就不会为此烦扰你们了。如果您在编写时知道它是一个意外的trigraph,那么您可以按照您的建议将其转义,并忘记编译器标志。