通过观察tornado2.2的安装目录,我们可以发现其编译器所在目录。

这和我们在电脑上安装的MinGW的安装目录内容几乎是一致的,下面图片是我在Win10上安装的MinGW

在该目录下搜索发现,有g++,gdb.make等gnu常用工具链



可以看出tornado上的编译器工具都是在标准GCC上进行了一些改编,至于和标准GCC有哪些不同,这个暂时我也不知道。
下面我们就要弄清楚该GCC是基于哪个版本的了?
下面是不同GCC版本对C语言和C++的支持情况了
| GCC 版本 | C语言常用标准 | |||||||
|---|---|---|---|---|---|---|---|---|
| C89/C90 | C99 | C11 | C17 | GNU90 | GNU99 | GNU11 | GNU17 | |
| 10.1 ~ 8.4 | c89 / c90 | c99 | c11 | c17/c18 | gnu90/gnu89 | gnu99 | gnu11 | gnu17/gnu18 |
| 7.5 ~ 5.5 | c89/c90 | c99 | c11 | gnu90/gnu89 | gnu99 | gnu11 | ||
| 4.9.4 ~ 4.8.5 | c89/c90 | c99 | c11 | gnu90/gnu89 | gnu99 | gnu11 | ||
| 4.7.4 | c89/c90 | c99(部分支持) | c11(部分支持) | gnu90/gnu89 | gnu99(部分支持) | gnu11(部分支持) | ||
| 4.6.4 | c89/c90 | c99(部分支持) | c1x(部分支持) | gnu90/gnu89 | gnu99(部分支持) | gnu1x(部分支持) | ||
| 4.5.4 | c89/c90 | c99(部分支持) | gnu90/gnu89 | gnu99(部分支持) |
注意,表头表示的是各个编译标准的名称,而表格内部的则为 -std 可用的值,例如 -std=c89、-std=c11、-std=gnu90 等(表

本文详细分析了在特定环境下Tornado2.2使用的GCC版本(gcc-2.96),着重于C语言支持,并指出C++可能存在的不兼容性。通过编译器配置和实验,确认了C89标准支持但C99不支持。建议仅使用C语言,并提供了关键信息测试和makefile配置示例。
最低0.47元/天 解锁文章
1444

被折叠的 条评论
为什么被折叠?



