·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
DZ插件网 门户 站长资讯 查看内容

【C语言03期】语言的编译,神奇的魔法师

2023-8-5 04:57| 发布者: 𝕷𝖎𝖑𝖏𝖆𝖈𝖐| 查看: 97276| 评论: 0

摘要: 想系统学习C语言?这里为你提供最新C语言03期教程,从C语言程序结构到编译器原理,一步步深入理解。跟随每周一至周五的每日更新,掌握C语言编程。使用推荐的gcc编译器,搭配VSCode集成环境,轻松在Ubuntu等Linux系统上安装编译器。无论你是初学者还是进阶者,这里都有适合你的学习路径。Linux平台下的C语言编程,从零开始,让你的代码飞起来!立即行动,开启你的C语言编程之旅吧!
最近后台收到很多兄弟们的留言:急需系统学习C语言?有没有干货教程啊!!!急急急!!!

小慕出手,立马安排啊!!!

现每周一到每周五每日更新,想学C语言的小伙伴千万不要错过呀~

上一个小节 C 语言的程序结构中我们简单的认识了一下 C 语言的程序到底由那些部分组成,但是仅仅了解 C 语言的程序结构还不够,仅仅是万里长征走完了第一步,后面还需要进行很多的步骤才能让程序成为一个可以使用的工业产品。还记的上一个小节中我们提到的 gcc 吗?其实这是一个 C 语言的编译器,这一个小节我们就来学习一下编译器这个概念。

1. C 语言编译器


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

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

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

【C语言03期】语言的编译,神奇的魔法师7293 作者: 来源: 发布时间:2023-8-5 04:57

【C语言03期】语言的编译,神奇的魔法师4264 作者: 来源: 发布时间:2023-8-5 04:57

【C语言03期】语言的编译,神奇的魔法师5924 作者: 来源: 发布时间:2023-8-5 04:57

【C语言03期】语言的编译,神奇的魔法师6816 作者: 来源: 发布时间:2023-8-5 04:57

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

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

Tips:请大家注意,我们的学习要求操作系统为 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.0Copyright (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 0;}

          首先将上面的命令保存为文件名 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。大家可以通过搜索上面的关键字来查找安装方式。在这里我将微软的官方文档链接放在这里,方便大家安装。这里有详细步骤,以及大家在安装过程中会经常遇到的安装问题等。适用于 Linux 的 Windows 子系统安装指南 (Windows 10)在选择安装 Ubuntu 后,就可以按照上面在 Linux 环境下编译 C 语言的方式来编译了。
            Tips:这时候大家可能很好奇文件路径的问题。在 Windows 10 中的盘符,是挂载在 WSL 系统中 /mnt 目录下的。比如你的用户名叫 mooc,那么你的文档目录下存储了源代码,你要怎么进入 文档 这个目录呢?

            3. 小结

            C 语言的编译总结起来其实就是,用编译器将源代码,也就是我们可以读懂的程序,翻译成机器可以读懂的机器码。这个过程需要你做到几点:
            1. 准备编译器;
            2. 准备代码编写工具;
            3. 编写代码;
            4. 通过命令行,使用编译器编译。
            当然这是最简单的使用,后面随着课程的深入,我们还会通过工具来进行编译命令行的替代。大家想看哪些干货知识,请在文末评论区留言,小慕立刻安排!

            【C语言03期】语言的编译,神奇的魔法师1927 作者: 来源: 发布时间:2023-8-5 04:57

            扫描二维码

            点击【慕课教程】

            免费查阅C语言教程

            测试等涉猎全面,陪伴程序员成长,优秀从点滴积累开始。" data-from="0" has-insert-preloading="1">


            上一篇:白帽子与厂商battle的那些事,你是否也遇到过?
            下一篇:心经第一章 观自在菩萨.

            鲜花

            握手

            雷人

            路过

            鸡蛋

            评论

            您需要登录后才可以发表言论 登录立即注册
            创宇盾启航版免费网站防御网站加速服务
            投诉/建议联系

            discuzaddons@vip.qq.com

            未经授权禁止转载,复制和建立镜像,
            如有违反,按照公告处理!!!
            • 联系QQ客服
            • 添加微信客服

            联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

            您的IP:3.128.31.227,GMT+8, 2024-11-23 10:52 , Processed in 0.208475 second(s), 43 queries , Gzip On, Redis On.

            Powered by Discuz! X5.0 Licensed

            © 2001-2024 Discuz! Team.

            关灯
            扫一扫添加微信客服
            QQ客服返回顶部
            返回顶部