首页 >>  正文

linux用gcc编译c程序

来源:baiyundou.net   日期:2024-09-23

【CSDN 编者按】基于种种原因,Linux 6.3 彻底告别了对英特尔编译器的支持。从真正意义上来说,放弃对 ICC 的支持不会带来任何损失。

整理 | 王子彧

出品 | CSDN(ID:CSDNnews)

3月5日,Linus Torvalds 正式发布了 Linux 6.3 的首个版本,Linux Kernel 6.3-rc1,关闭了合并窗口。之前谈论火热的 Linux 内核拟放弃支持英特尔 ICC 编译器的话题最终有了定数。在 Linux 6.3 内核合并窗口打开的最后一天,Linus Torvalds 合并了 “删除 Intel ICC 编译器支持” 补丁,从内核中移除了 Intel ICC 编译器的支持代码。

是时候放弃了

早在去年10月,Linux 开发人员 Masahiro Yamada 就提出了放弃英特尔 ICC 编译器支持的想法。他在邮件中指出:

Linux 内核迎合 ICC 编译器的头文件(include/linux/compiler-intel.h)已经3年没有更新,不少开发者或用户已经忘记,甚至都不知道内核中还有 ICC 支持。同时,Intel 自家已经弃用该编译器,他们正转向到基于 LLVM/Clang 的现代英特尔 DPC++ 编译器,旧版的 ICC 编译器则被称为 “英特尔 C++ 编译器经典版”。

针对 Masahiro Yamada 提出的想法,Linus Torvalds 表示支持并做出了回应:

Ack,我认为没有人真正使用过 icc。

我或许未曾听到过关于 icc 问题的任何消息,我不认为这是因为它在 emulating gcc 方面 表现“特别” 好,所以没有人遇到过任何问题。

而在当时的“放弃内核构建的 ICC” 的讨论中,也没有人站出来表示自己正在使用,或者有意向使用 ICC 来编译最新的内核代码。

目前,Linux 6.3 的合并窗口现在已经结束,Linus Torvalds 最新发布了 Linux Kernel 6.3-rc1,主要新特性包括:改进了 EXT4 文件系统 direct I/O 速度,AMD-Xilinx XDMA 驱动,通过 Automatic IBRS 优化 AMD Zen4 性能,8BitDo Pro 2 有线手柄支持,Intel TPMI 驱动,英特尔 TDX、CXL 和 LKGS 指令支持,Ath12k 无线驱动,IPv4 BIG TCP 支持,Btrfs 性能优化,移除 Intel ICC 编译器支持等等。Linux 6.3 正式版预计会在 4 月底或 5 月初发布。

结语

现在 GCC 和 LLVM/Clang 仍然是构建 Linux 内核主线的两个关键编译器选项。GCC 一直都是构建主线内核的不二之选。而在过去的几年里,LLVM/Clang 主线也已经对构建 Linux 内核做了大量的适配性的工作,还增加了针对于内核构建的各种编译器功能。

因此,基于种种原因,Linux 6.3 彻底告别了对英特尔编译器的支持。从真正意义上来说,放弃对 ICC 的支持不会带来任何损失。

参考链接:

https://www.phoronix.com/news/Linux-6.3-Drops-Intel-ICC

","gnid":"90720964ce8922b44","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t013d73ffee4a20366b_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t013d73ffee4a20366b.gif","width":"640"},{"desc":"","height":"390","title":"","url":"https://p0.ssl.img.360kuai.com/t01d5c98b570b741eb8.jpg","width":"647"},{"desc":"","height":"187","title":"","url":"https://p0.ssl.img.360kuai.com/t01011d5fcbd49f2787.jpg","width":"607"},{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t018e6f0fcf6c9df4ee_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t018e6f0fcf6c9df4ee.gif","width":"960"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1678173430000,"pure":"","rawurl":"http://zm.news.so.com/c999e225fb673be8b6bfe865bed124cc","redirect":0,"rptid":"40aaba174bfa05a8","rss_ext":[],"s":"t","src":"CSDN","tag":[{"clk":"ktechnology_1:intel","k":"intel","u":""},{"clk":"ktechnology_1:英特尔","k":"英特尔","u":""},{"clk":"ktechnology_1:linux","k":"linux","u":""}],"title":"Linux 6.3 不再支持英特尔 ICC 编译器

冉仲欣4120linux终端下如何进行C语言编译 -
景彼单13797457016 ______ 1、首先在linux下判断是否安装gcc编译器,直接执行:gcc -v,判断是否安装gcc. 2、然后需要在代码框内写一个简单的C源程序. 3、在程序中使用了C语言中的数学开方函数,sqrt(),所以需要引入math.h头文件. 4、写完源程序之后,我们对其进行编译,如果使用通常的编译语句,【gcc math.c -o math】进行编译,会出现错误;大概的意思就是不认识sqrt这个东西. 5、所以需要使用正确的命令:【gcc math.c -lm -o math】;这样才能编译正确.

冉仲欣4120linux 怎么c编译 -
景彼单13797457016 ______ 在 Linux 系统下面,可以使用 gcc 编译器对自己编写的 C 语言源程序进行编译.当然了,要想使用 c 编译器对 C 语言源程序进行编译,前提是在安装 Linux 操作系统时,必须把 Linux 系统自带的 gcc 编译器安装上.常用的选项有(其中:$ 表示...

冉仲欣4120怎么在ubuntu中使用gcc的C语言编译功能 -
景彼单13797457016 ______ 用linux命令行指令.比如你的C语言代码是main.c,那么编译指令为 gcc -o main main.c,编译生成可执行文件main,用./main指令运行.

冉仲欣4120求教 GCC怎么用 ?LINUX中实现编译C/C++程序就行
景彼单13797457016 ______ 初学者可以使用gcc -o XXX XXX.c来编译.

冉仲欣4120在linux如何c语言编写程序. -
景彼单13797457016 ______ linux终端下,编译C语言程序步骤为:采用vi进行源代码编写,编写完成后,:wq存盘退出,如:vi test.c 在命令行下,运行gcc编译程序,生成执行码,如:gcc -o test test.c-o 表示指明生成的执行码名称 运行编译后的执行码./test

冉仲欣4120linux下c编程,怎么编译?
景彼单13797457016 ______ 用gcc进行编译gcc -Wall hello.c -o hello 生成可执行文件hello ./hello执行程序 -g 产生编译信息,-c产生目标文件 -I添加头文件目录 -L 添加库目录 g++用于编译cpp文件

冉仲欣4120我在linux下写了个程序,怎么用gcc编译?? -
景彼单13797457016 ______ gcc是一个编译器,qt是一个界面编程工具,两者是不能比的. linux下编译c程序必然要用到gcc编译器,而qt则是用来开发界面程序的,类似windows下微软的mfc,你要在linux下写程序,必然的要会使用gcc对你的程序进行编译,至于qt只是个基于C++的界面程序开发工具,觉得以后用到就学一下,用不到就算了. 我在和你说一遍,gcc只是一个编译器. 你的意思是linux下的c/c++集成开发环境吧,anjuta,eclipse等等都可以,但他们只是提供了开发环境,编译器还是用的gcc.

冉仲欣4120在linux中,怎么用gcc编译文件 -
景彼单13797457016 ______ 在终端中输入 gcc 文件名 -o 目标文件名 然后 ./目标文件名 就行了,没有目标文件名,自动存为 a 执行 ./a 就行了.在使用Gcc编译器的时候,我们必须给出一系列必要的调用参数和文件名称.GCC编译器的调用参数大约有100多个,其中多数参...

冉仲欣4120在Linux下如何开发C程序? -
景彼单13797457016 ______ 在Linux开发环境下,GCC是进行C程序开发不可缺少的编译工具.GCC是GNU C Compile的缩写,是GNU/Linux系统下的标准C编译器.虽然GCC没有集成的开发环境,但堪称是目前效率很高的C/C++编译器.《linux就该这么学》非常值得您一...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024