「Coding Tools」 第2话 Ubuntu下搭建C语言开发环境(ubuntu搭建c++开发环境)

我们已经学习了「Coding Tools」 第0话 人类早期驯服野生Ubuntu的珍贵资料,并学习了「Coding Tools」 第1话 Ubuntu能双击安装软件吗?能但是不建议。今天我们来学习如何搭建C语言的开发环境,并且研究一下clang/LLVM这一套编译框架。后续在我们自己开发一门编程语言的时候会很有用,LLVM提供了一个优秀的编译器后端。

首先当然是安装Clang了,这次我们使用apt命令安装。打开Ubuntu终端,输入clang命令后可以看到Clang是还没有安装的,并且给出了安装提示命令。我们可以右键直接复制后,粘贴到终端窗口。点击Enter后会让你输入密码,开始安装。

「Coding Tools」 第2话 Ubuntu下搭建C语言开发环境(ubuntu搭建c++开发环境)「Coding Tools」 第2话 Ubuntu下搭建C语言开发环境(ubuntu搭建c++开发环境)

等待安装完成后,再次输入clang命令,发现提示已经变成“No input files”,这就说明已经安装好了。配合我们之前安装的VSCode,就可以开始C语言开发之旅了。这一个命令其实不仅仅安装了Clang程序,还包括LLVM后端以及各种库。Clang可以编译C/C 、OC等多个编程语言,编译速度比Ubuntu自带的gcc要快,质量也要好一些。

「Coding Tools」 第2话 Ubuntu下搭建C语言开发环境(ubuntu搭建c++开发环境)

打开文件管理器,就是任务栏上的那个文件夹图标,然后新建一个文件夹叫做Coding Tools。写好的C语言源代码会保存在这里,这个目录只是临时做测试用,后续我们的正式代码还是会保存到Coding Master文件夹。

「Coding Tools」 第2话 Ubuntu下搭建C语言开发环境(ubuntu搭建c++开发环境)

打开VSCode,然后打开Coding Tools文件夹,新建一个文件helloworld.c。此时我们就要写第一个C语言程序,非常经典的Hello, World!

#include <stdio.h>void main (){printf("Hello, World!n");}

写完后保存好,点击VSCode查看里的终端选项,或者点击“Ctrl `”组合键。在打开的终端里输入编译命令:

clang helloword.c -o helloworld

可以看到有一个警告信息,但是并不影响编译结果,我们还是拿到了编译好的程序helloworld。Ubuntu下不像Windws,可执行程序可以没有如exe、msi这样的后缀。运行起来也很简单,输入以下命令即可:

./helloworld

我们可以看到终端里输出的Hello, World!文字了,说明源代码没有问题,运行成功。

「Coding Tools」 第2话 Ubuntu下搭建C语言开发环境(ubuntu搭建c++开发环境)

你看在Ubuntu下开发C语言程序就是这么简单,安装编译器只需要一条命令就可以了。所以命令行才是提高效率的神器,同学们不能惧怕它,而是要掌握它并为你所用。

接下来讲讲为什么选择Clang以及LLVM的神奇之处。Clang本身是非常优秀的编译器前端,可以支持多种C语系的编程语言,编译速度很快且最终代码质量比较高。其优秀之处无需多言,重点是LLVM这个编译器后端。

如果要开发一门编程语言,就需要写一个编译器,把高级语言编译为最终的机器码。常规的方案是比较繁琐的,比如我写了一门Toy-Lang,想在x86、ARM、Risc-v上运行,那这个编译器就得能把Toy-Lang翻译成三种汇编。

「Coding Tools」 第2话 Ubuntu下搭建C语言开发环境(ubuntu搭建c++开发环境)

而LLVM则可以为你省掉很大麻烦,它有一个中间语言格式IR。你需要做的就是把你设计好的语言翻译为IR,然后IR就可以翻译为x86、ARM等汇编格式。那么如果你多开发几种编程语言,或者其他人开发的时候,只要做到翻译为IR这一步就可以了。IR格式的语法处理LLVM就可以搞定,省掉了非常多的重复工作。

「Coding Tools」 第2话 Ubuntu下搭建C语言开发环境(ubuntu搭建c++开发环境)

并且LLVM还提供一套C 的框架,来让你编写新语言的语法,定义关键字啊什么的。真是一步到位的方案,我现在了解得也不够深入,但是早晚会用到它的。计算机研究得多了,总想着搞一套自己的东西,编译器、操作系统、浏览器什么的都想戳一戳。今天就到这里,再见!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月1日 下午2:12
下一篇 2024年5月1日 下午2:24

相关推荐