从 GCC 3.4.3 迁移到 GCC 8.2 时可以保留现有的 C 文件吗?

标签 c gcc

我正在建立一个新的架构堆栈,在旧的(当前状态)堆栈中,我将 GCC 3.4.3 用于我的 C 文件。由于我正在更新到更新的操作系统,因此想知道我是否可以继续在我的 future 状态堆栈中使用现有的 C 文件(与 GCC 3.4.3 一起使用) - 它将使用 GCC 8.2。我宁愿不必用 C++ 重写文件,除非必须这样做。

GCC 8.2 是否向后兼容 GCC 3.4.3?如果不兼容,成本可能是多少?

最佳答案

编译器版本比操作系统本身重要得多。对底层库 API 的更改(至少是 C 标准库之外的 API)将造成最大的麻烦。

C 语言本身在那段时间没有发生重大变化,或者至少没有发生会导致很多问题的方式。您可能需要更新一些 #ifdef 类型语句以反射(reflect)较新的编译器约定,但仅此而已。

关于从 GCC 3.4.3 迁移到 GCC 8.2 时可以保留现有的 C 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60119278/

相关文章:

c - 以 i++ 作为条件的 C for 循环的奇怪行为

c - 如何链接到其中包含 main 的对象?

c++ - GCC C/C++ 双重行为

c++ - Valgrind 错误 - 无法执行二进制文件

c++ - 在 x86 机器上移动超过 32 位的 uint64_t 整数未定义行为?

c - fopen 后检测文件删除

c - Windows 上的 PETSc 安装

C套接字从accept返回的文件描述符中获取IP地址

assembly - MinGW:与 -nostdlib 链接产生无效的可执行文件

c++ - GCC 的 __builtin_expect 能走多远?