上周《LINUX设备驱动程序第三版》的第一作者、LWN网络杂志创始人兼主编Jonathan Corbet发表了对于Linux内核的一些看法,他认为虽然内核项目总体发展快速,但内核代码仍然使用1989年版本的C语言标准,而5.18内核可能会结束这种情况。 是的,没错,拥有30年历史的Linux内核C语言要升级了。Linux开源社区已经宣布,2022年五月将把...
既然C89如此陈旧,这么多年还没做出改变呢?Linus说,那是因为我们在一些古老的gcc编译器版本中遇到了一些奇怪的问题,不能随便升级。但是,现在Linux内核已将gcc的最低要求提升至5.1版,因此过去那些奇怪的bug应该不会有了。而另一位核心开发者Arnd Bergmann认为,咱们完全可以升级到C11甚至更高版本。但如果升级到C...
因此,Linus 决定,“让我们升级一下”,也许是时候升级到 C99 标准了,尽管 C99 也有 20 多年的历史了,但它至少比 C89 更新一点,且可以在循环中声明变量。既然 C89 已经过时了,为什么这么多年都没有改变呢?Linus 解释称,“这是因为我们在一些旧的 gcc 编译器版本上遇到了一些奇怪的问题,这些版本不能随...
Linux 内核 C 语言标准从 C89 升级到 C11 的工作有了新进展。在将用于构建 Linux 内核的补丁集 target 由 "-std=gnu89" 快速修订为 "-std=gnu11" 后,Linus Torvalds 表示他希望尽快将其拉入下一个合并窗口(Linux 5.18),以免其他 PR 到最后才使用 C11。▲ 即将到来的 Linux 5.18 开发周期将把所...
Linux gcc升级全过程,过程超详细 前言 c c++ 等等 需要这个编译器gcc,最近有DBA的朋友咨询RHEL7.6操作系统安装Mysql数据库时需要 高版本的GCC,研究了下发现坑不少,总结本文分享给大家 1.当前gcc版本 [root@rhel76 ~]# gcc -v Using built-in specs....
[root@localhost gcc-7.5.0]#cd ..[root@localhost ~]# mkdir gcc-7.5-build[root@localhost ~]# cd gcc-7.5-build[root@localhost gcc-7.5-build]# ../gcc-7.5.0/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib[root@localhost gcc-7.5-build]# make[root@localhost gcc...
根据Linux 内核邮件列表的消息,社区近日讨论了是否要为内核采用现代 C 语言标准。 虽然Linux 内核在快速发展,但它同时依赖着一些非常古老的工具,其中之一就是内核代码仍在使用 1989 年版本的 C 语言标准——此标准在 30 多年前内核项目启动之前就已经编写完成。从讨论结果来看,这一情况有望在 5.18 版本内核中改变...
[root@linuxprobe gcc-7.3.0]# ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib 8、编译gcc: [root@linuxprobe gcc-7.3.0]# make -j4 //多核电脑可以添加 “-j4” :make对多核处理器的优化选项,此步骤非常耗时 ...
cd/usr/local/build/gcc-4.8.5#调用gcc源程序的configure(后面的参数选项可根据需要自行修改),用于配置gcc/usr/local/src/gcc-4.8.5/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib #编译gcc源程序make#安装gccmakeinstall ...