Linux 小知识翻译 - 「GCC」

这次聊聊「GCC」。

GCC是「GNU Compiler Collection」的简称,由C、C++、FORTRAN、Java等语言的编译器以及这些语言的库所组成。

GCC不仅包含编译器本身,还包含了编译所必要的库,所以可以编译多种语言所写的代码。

GCC是免费软件,几乎所有Linux发行版中都包含它,所有使用Linux的时候可以很方便的使用GCC。

甚至可以这么说「提到Linux就不能不提GCC」。

使用GCC最重要的目的之一,就是「构建Linux内核」。

编译Linux内核源码的时候,是用GCC来编译的,而GCC又是运行在Linux内核之上的。这有点像先有鸡还是先有蛋的问题,总之,GCC是构建Linux环境所必不可少的工具。

随着Linux的发展,现在基本不用编译Linux内核就可以使用Linux了。所以就有很多Linux用户没有编译Linux内核的经验。

但是,对内核进行细小的修正或者最优化系统,以及追加功能的时候,不可避免的需要编译内核。

除了构建内核之外,还有各式各样的应用程序是使用GCC来编译的。并不是「不做开发就不会用到GCC」,请记住,只要是一直使用Linux的用户,总会用到GCC来编译某些东西。

Linux 小知识翻译 - 「GCC」

时间: 2024-10-20 05:39:25

Linux 小知识翻译 - 「GCC」的相关文章

Linux 小知识翻译 - 「syslog」

这次聊聊「syslog」. 上次聊了「日志」(lgo).这次说起syslog,一看到log(日志)就明白是怎么回事了.syslog是获取系统日志的工具. 很多UINIX系的OS都采用了这个程序,它承担了「获取系统全部的日志」这个维持系统正常运行的重要任务. syslog的本体是「syslogd」这个daemon(一般翻译成守护进程),常驻内存中获取日志. syslog的特点是可以通过配置文件「/etc/syslog.conf」,对「哪种应用程序?哪种重要度的信息?记录在哪个文件中?」等进行细致的

Linux 小知识翻译 - 「日志」(log)

这次聊聊「日志」. 「日志」主要指系统或者软件留下的「记录」.出自表示「航海日志」的「logbook」. 经常听说「出现问题的时候,或者程序没有安装自己预期的来运行的时候,请看看日志!」. 确实,记录了系统和软件详细运行情况的「日志」是信息的宝库,通过日志来解决问题的事例也非常多. 但事实上,「无论如何也不会看日志」的用户也有很多.理由很简单,日志的信息量非常大,全部用眼睛来看的话是非常吃力的. 而且,英语写的日志也会让英文不好的人敬而远之. 虽说「要养成用眼睛来看日志的习惯」,但实行起来却非常

Linux 小知识翻译 - 「补丁」(patch)

这次,聊聊补丁. 当有bug或者安全漏洞的时候,就会发布补丁.打上补丁之后,就能解决相应的bug或者安全漏洞. 那么,「补丁」到底是什么呢? 「补丁」只有少量的代码,一般都是对程序的一部分进行更新或者追加,包括bug修正,安全漏洞修正,功能追加或者变更等等.当然,只有「补丁」是无法运行的. 即,只有将「补丁」附加到原来的程序中,更新原来的程序后,才能运行. 「补丁(patch)」本来是指「打补丁用的小布头」.「patch」正是为了补足现有的程序,堵住程序漏洞的「布头」. 打「补丁」的时候需要用到

Linux 小知识翻译 - 「i386」是什么?

i386是指 *CPU* 的种类,也可以指 *CPU* 的架构(architecture). 现在的 CPU 一般都用 「Core 2 Duo」或者「Athlon」,「Xeon」,「Opteron」之类的比较酷的名称来称呼. Linux诞生的时候,CPU作为一个重要的组件,一般用型号来称呼它. i386的 i 代表 Intel. Intel公司最先生产的,从4004开始的CPU系列中,386(80386)是第一个32位的CPU. Linux刚开始就是作为386架构上兼容POSIX的内核来开发的.

Linux 小知识翻译 - 「RFC」

这次聊聊「RFC」. 有很多人经常听说「RFC」的吧,上次介绍的NTP是由「RFC1305规定的」,HTTP是由「RFC2616规定的」. RFC是「Request For Comments」的简称,由 Internet Engineering Task Force 公开的,以指定互联网技术标准「为目标」的文档. 可以这么说,互联网技术中的大部分都是依据它来实现的. 但是,上面的「为目标」用括号括起来是有原因的.实际上互联网技术每天都在变化,想要标准化是非常困难的. 即使规定了「这个是标准」,根

Linux 小知识翻译 - 「版本号」的命名方式

包括OS,所有的软件都有版本号信息.一般来说,版本号的增大表示软件的功能增强了或者修正了一些Bug,也就是表示软件更新了. 版本号的命名方式没有统一的标准.每种软件都不一样. 大部分情况下,版本号以「X.Y」或者「X.Y.Z」的方式命名,软件有大幅的功能增强时,增加「X」的数值,只有微小的改变时,增加「Y」或者「Z」的数值. 因此,「X」被称为「主版本号」,「Y」或者「Z」被称为「次版本号」. 但是,版本号有时还有其他的含义.比如Linux内核的版本号,现在是以「X.Y.Z」的方式命名的,200

Linux 小知识翻译 - 「RAID」

最近术语「RAID」变得比较有名.「RAID」是指将多个HDD组合起来使用,从而提高存储可靠性的一种技术. 那么,关于 RAID 中的 「RAID 0」「RAID 1」「RAID 5」等各种「RAID」都有了解吗? RAID中最容易理解的应该是「RAID 1」(镜像)吧.所谓镜像(「RAID」),就是将同样的内容写入多台设备中,即使一台设备故障了,但只要还有一台设备是好的,就不用担心数据丢失. RAID 从「RAID 0」开始,到「RAID 6」为止,总共分为7类. 除了之前说的「RAID 1」

Linux 小知识翻译 - 「cron」

这次说说「cron」. 「cron」就是「定期自动执行任务的工具」(相当于windows中的计划任务).读做「库隆」.使用「cron」,可以预先指定任务在某个时间执行. 时间的指定并不只是「一小时一次」这种简单的指定方法,还可以指定只有某天的某时才执行任务,或者指定8点-22点每小时执行一次等等. 还可以指定到具体的时间(可以具体到分钟).使用起来有些规则,但不是很难. 「cron」被称为运用Linux所不可缺少的工具.可用来定期的管理获取日志的软件,定期的检查系统状态. 甚至可用来监视进程或者

Linux 小知识翻译 - 「架构」(arch)

这次,聊聊「架构」这个术语. 在PC相关的文档中,是不是经常看到「x86架构」这个短句.但是对于这句话,是不是总感到有种似懂非懂的感觉. 架构的英语是「architecture」.这里面有「建筑」,「建筑风格」,「构造」的意思.实际上架构这个词在很多领域中都有「构造」的意思. 其实,即使在电脑的世界里,「架构」也有被用在多种场合.软件设计中会使用「架构」这个术语,硬件中也会使用「架构」这个术语. 使用时会涉及到多个方面,很难用一句话来概括「架构」的意思,但基本含有之前提到的「构造」,「设计风格」