0

在编译器中,trigraphs 和 digraphs 不会被相应的单个字符替换。而是发出类似这样的警告,

12:26 G:\BIN\cLang\macro2.cpp [Warning] trigraph ??= ignored, use -trigraphs to enable 

我想知道为什么会出现这种类型的警告,以及如何解决这个问题以使用三合字母和二合字母。他们在语言中的目的是什么???

注意 - 我想看看二合字母和三合字母是如何工作的,所以不要告诉我不要使用它们,因为它们已经过时了......谢谢提前

4

2 回答 2

1

当您调用编译器添加选项 -trigraphs 时,该消息会告诉您要做什么

于 2012-06-28T13:49:24.037 回答
0

看起来类似于我使用 gcc 收到的警告。

编译时没有任何标志:

$ gcc trigraphs.c 
trigraphs.c:5:10: warning: trigraph ??= ignored, use -trigraphs to enable

所以我添加了编译器建议的标志:

$ gcc -trigraphs trigraphs.c 
$ ./a.out 
a test: #
$

这是我存储在文件 trigraphs.c 中的代码:

#include <stdio.h>

int main(void){
        printf("a test: ??=\n");
        return 0;
}
于 2012-06-28T13:59:30.003 回答