跳至主要內容

GNU工程

JohntonYong大约 3 分钟

GNU Project

GNU 是一个类 Unix 操作系统open in new window。它是由多个应用程序、系统库、开发工具乃至游戏构成的程序集合。GNU 的开发始于 1984 年 1 月,称为 GNU 工程。GNU 的许多程序在 GNU 工程下发布;我们称之为 GNU 软件包open in new window。

“GNU”这个名字是“GNU's Not Unix”的递归首字母缩写词。"GNU"的发音为g'noo,只有一个音节,发音很像“grew”,但需要把其中的r音替换为n音。

类 Unix 操作系统中用于资源分配和硬件管理的程序称为 “内核”。GNU 所用的典型内核是 Linux。该组合叫做 GNU/Linux 操作系统open in new window。GNU/Linux 为几百万用户所使用,然而许多人 错误地称之为 "Linuxopen in new window"。

GNU 自己的内核,GNU Hurdopen in new window,开始于 1990 年(早于 Linux)。志愿者们仍在继续开发 Hurd,因为它是一个有趣的技术项目。

GNU/Linux Kernel

Linux 内核组织open in new window 是一家成立于 2002 年的加州公益公司,旨在免费向公众分发 Linux 内核和其他开源软件。我们已被美国国税局认定为 501(c)3 条款下的私营运营基金会。

GNU/Linux System

Ubuntuopen in new window

Centosopen in new window

Loongnixopen in new window

GNU/Linux Toolchain

linaro官网open in new window和ARM交叉编译工具链open in new window

Linora作为交叉编译器工具链的代表,常被用于嵌入式系统的开发,特别是在ARM架构设备的程序编译场景中。

riscv官网open in new window和RISC-V交叉编译工具链open in new window RISC-V 及其生态系统提供了一个开放、可扩展的指令集架构,使设计人员能够创建优化的、可定制的计算解决方案,从定制处理器到硬件/软件协同设计。

loongson官网open in new window和LoongArch交叉编译工具链open in new window

龙芯是中国自主研发的CPU企业,专注于高性能处理器设计与生态建设,LoongArch™open in new window:

Windows下的 轻量级 Unix-like 环境open in new window,主要用于开发和运行Linux/Unix 软件,搭配mingw-w64 GCC编译链使用,可将openssl和ffmpeg开源项目轻松编译出windows下的工具库。

GCC, the GNU Compiler Collection

gcc官网open in new window GNU 编译器集合 (GCC) 包含C、 C++、Objective-C、Objective-C++、Fortran 、Ada、Go、D、Modula-2、COBOL、Rust 和 Algol 68的前端 ,以及这些语言的库(例如 libstdc++ 等)。GCC 最初是作为GNU 操作系统的编译器而编写的。GNU 系统被开发为 100% 自由软件,这里的“自由”指的是它尊重用户的自由。

C/C++程序从源码到执行中间发生了什么?

CPU Arch

主流汇编器比较

中国开源镜像站

https://mirrors.nju.edu.cn/gnu/

http://mirrors.nju.edu.cn/gnu/

https://mirrors.nju.edu.cn/gnu-alpha/

http://mirrors.nju.edu.cn/gnu-alpha/

https://mirrors.ustc.edu.cn/gnu/

http://mirrors.ustc.edu.cn/gnu/

https://mirrors.tuna.tsinghua.edu.cn/gnu/