加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 区块链、物联平台、物联安全、数据迁移、5G!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

C 语言编译器

发布时间:2023-12-30 21:33:51 所属栏目:教程 来源:DaWei
导读: 这一个小节我们就来学习一下编译器这个概念。

1. C 语言编译器

每个语言都需要编译器,甚至包括可以直接操作 cpu 内部寄存器的汇编语言。编译器的作用就是将我们用接近人类自然语言编
这一个小节我们就来学习一下编译器这个概念。

1. C 语言编译器

每个语言都需要编译器,甚至包括可以直接操作 cpu 内部寄存器的汇编语言。编译器的作用就是将我们用接近人类自然语言编写的程序翻译成计算机可以直接执行的二进制文件。

其实使用二进制是人类在计算机发明过程中妥协于工程实践的一个行为。因为从最高效率的数字进制来说,三进制其实更为有效率,但是实现起来不那么容易。

同时我们会在 arm64,armhf,x84_64 等硬件平台上编译我们的程序。从中可以看出 C 语言的移植性还是很好的。同样的程序,我们可以在不同的编译器以及硬件平台上编译执行。

我们的学习要求操作系统为 Windows 10,Linux, Unix, 或者 MacOS。对于微软已经停止维护的 Windows 7 以及更早的系统。我们没有办法使用新的特性来编译和运行相关的程序。

2. 使用 IDE 编译 C 语言

在集成环境中,编译 C 语言一般只需要在菜单中选择 运行 或者 调试运行 即可。也可以通过相关的快捷键来直接编译运行程序。要是只编译不运行,那么里面会有 编译 选项和与之对应的快捷键。这时程序只是编译,并不会运行。

对于初学者来说建议大家不使用 IDE, 而是直接使用文本编辑器来编辑程序。大家不要担心,我不会推荐诸如 VIM,EMACS 这种上个世纪的产物,因为太小众了。这里建议大家使用微软的 Visual Studio Code, 简称 VSCode。这个文本编辑器,现代,多功能,多种操作系统下都可以使用,功能强大,可以根据自己的需要安装插件扩展功能。

3. Ubuntu 下安装 GCC 编译器

在类 Linux 中编译 C 语言是一件简单的事情。只要打开一个终端窗口安装 gcc 编译器即可。

对于基于 Ubuntu 系统的用户,安装编译所需的软件只需要执行如下命令:sudo apt install build-essential
Tips:对于 RPM 包管理的 Linux 发行版(如 CentOS,OpenSUSE 等),会有类似的软件组,只不过名称和安装时所使用的命令不同。

在安装结束后可以查看 gcc 的版本。

gcc --vresion

会有类似如下的信息输出:
gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or fitness FOR A PARTIculaR PURPOSE.

这时候可以把之前一直使用的示例程序编译一下。

# include <stdio.h>int main(){int x,y,z;printf("Welcome to utopia's lessons!\n");return ;}

首先将上面的命令保存为文件名 test.c。

编译 C 语言的命令如下:gcc test.c -o test

这个命令的意思是将 test.c 文件名的程序源码,编译为名称 test 二进制程序。

4. 在 Windows 下编译 C 语言

以前在 Windows 下直接编译 C 语言是一件困难的事情。要么使用诸如 Visual Studio 之类的 IDE,要么安装 Cygwin 这类的模拟环境。

但是在目前 Windows 10 中,现在有了更便捷的选择。可以安装 WSL 环境, 全称为 Windows Subsystem for Linux。大家可以通过搜索上面的关键字来查找安装方式。

在这里我将微软的官方文档链接放在这里,方便大家安装。这里有详细步骤,以及大家在安装过程中会经常遇到的安装问题等。

在选择安装 Ubuntu 后,就可以按照上面在 Linux 环境下编译 C 语言的方式来编译了。
 

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章