IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C 语言的编译,干货有点多! -> 正文阅读

[C++知识库]C 语言的编译,干货有点多!

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!

作者|慕课网精英讲师 张磊

今天这篇文章我们来聊聊C 语言的编译器。

1. C 语言编译器

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

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

C 语言的编译器有非常多种,下面我们列举了一些,供大家参考。

编译器

编译器作者

支持的操作系统

是否有相关的集成开发环境

授权许可类型

AMPC

Axiomatic Solutions Sdn Bhd

Windows,Unix & Other

Yes

Proprietary

Amsterdam Compiler Kit

Andrew Tanenbaum and Ceriel Jacobs

Unix & Other

No

BSD

CCS C Compiler

CCS, Inc.

Windows,Unix & Other

Yes

Proprietary

Clang

Low-Level Virtual Machine

Windows,Unix & Other

No

BSD

DMS Software Reengineering Toolkit

Semantic Designs

Windows,Unix & Other

No

Proprietary

GCC C

GNU Project

Windows,Unix,IBM mainframe, AmigaOS, VAX/VMS, RTEMS

No

GPL

RCC (RCOR C Compiler)

Rodrigo Caetano (rcor)

Windows,Unix

No

GPL

Interactive C

KISS Institute for Practical Robotics

Windows, Unix, Mac, Linux, IRIX,

Solaris, SunOS

No

LabWindows/CVI

National Instruments

Windows,Unix & Other

Yes

Proprietary

lcc

Chris Fraser and David Hanson

Windows,Unix & Other

Windows only

Freeware (source code available for non-commercial use)

Mark Williams C

Mark Williams Company

Windows,Other

Yes

Proprietary

Microsoft C

Microsoft

Windows

Yes

Proprietary

Nwcc

Nils Weller

Windows,Unix,Other

No

BSD

Open64

SGI Google HP Intel Nvidia PathScale Tsinghua University and others

Unix,Other

No

GPL

Pelles C

Pelle Orinius

Windows

Yes

Freeware

PGCC

The Portland Group

Windows,Unix,Other— Mac OS X

Yes — Visual Studio on Windows

Proprietary

Portable C Compiler

Anders Magnusson and others

Windows,Unix,Other

No

BSD

Power C

Mix Software

Other

No

Proprietary

QuickC

Microsoft

Windows

Yes

Proprietary

SAS/C

SAS Institute

Windows,Unix,Other-IBM mainframe, AmigaOS, 68K, 88K, Unix

Yes

Proprietary

Tiny C Compiler

Fabrice Bellard

Windows,Unix

No

LGPL

Turbo C

Embarcadero

Other

No

Proprietary - V 2.01 freely available

CCS C Compiler

CCS, Inc.

Windows,Unix,Other

Yes

Proprietary

MikroC Compiler

MikroElektronika, Inc.

Windows,Unix,Other

Yes

Proprietary

ups debugger (includes C interpreter)

Tom Hughes, Ian Edwards, and others

Unix,Other-Solaris, SunOS

Yes

GPL

VBCC

Dr. Volker Barthelmann

Windows,Unix,Other

No

Freeware (source code available,

XL C

IBM

Unix-AIX

Eclipse

Proprietary

当然,编译器还与计算硬件平台息息相关。同一个编译器会因为计算机体系结构不同而分为不同的版本。如 arm64,armhf,x86, x86_64,PowerPC 等等。

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

2. 使用 IDE 编译 C 语言

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

对于初学者来说建议大家不使用 IDE, 而是直接使用文本编辑器来编辑程序。这里建议大家使用微软的 Visual Studio Code, 简称 VSCode。这个文本编辑器,现代,多功能,多种操作系统下都可以使用,功能强大,可以根据自己的需要安装插件扩展功能。

3. Ubuntu 下安装 GCC 编译器

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

对于基于 Ubuntu 系统的用户,安装编译所需的软件只需要执行如下命令:

sudo apt install build-essential
代码块1

Tips:对于 RPM 包管理的 Linux 发行版(如 CentOS,OpenSUSE 等),会有类似的软件组,只不过名称和安装时所使用的命令不同。

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

gcc --vresion
代码块1

会有类似如下的信息输出:

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.
代码块123

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

实例演示

# include <stdio.h>

int main()
{
    int x,y,z;
    printf("Welcome to Utopia's lessons!\n");
    return 0;
}
12345678

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

编译 C 语言的命令如下:

gcc test.c -o test
代码块1

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

4. 在 Windows 下编译 C 语言

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

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

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

适用于 Linux 的 Windows 子系统安装指南 (Windows 10)

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

Tips:这时候大家可能很好奇文件路径的问题。在 Windows 10 中的盘符,是挂载在 WSL 系统中 /mnt 目录下的。比如你的用户名叫 mooc,那么你的文档目录下存储了源代码,你要怎么进入?文档?这个目录呢?

cd
/mnt/c/Users/mooc/Documents/?代码块1

3. 小结

C 语言的编译总结起来其实就是,用编译器将源代码,也就是我们可以读懂的程序,翻译成机器可以读懂的机器码。

这个过程需要你做到几点:

  1. 准备编译器;
  2. 准备代码编写工具;
  3. 编写代码;
  4. 通过命令行,使用编译器编译。

当然这是最简单的使用,我们还可以通过工具来进行编译命令行的替代。

欢迎关注「慕课网」,发现更多IT圈优质内容,分享干货知识,帮助你成为更好的程序员!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 10:47:31  更:2022-12-25 10:49:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/25 20:26:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码