1. 首页 > 智能数码 >

linux编译c linux编译cpp

与 hello.c 文件放入新创建的文件夹cmake-gui_test中: 在终端输入 cmake-gui 命令启动cmake-gu图形化工具。若未安装可输入如下命令进行安装: sudo apt install cmake-qt-gui 如: 启动 cmake-gui : 查看cmake-gui_test文件夹: 编译运行:

以上分享了一些编译的过程及方法,都是基础内容,需要熟练掌握。如果觉得文章对你有帮助,欢迎转发。

猜你喜欢 干货 | 嵌入式必备技能之Git的使用 嵌入式系统软件架构设计 Linux下应用开发基础 【Linux笔记】Pinctrl子系统与GPIO子系统 Linux下能编译成功,而Windows下编译不过? 1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。关注微信公众号【 嵌入式大杂烩 】,回复 1024 ,即可免费获取! gcc -E hello.c -o hello.i # 预处理阶段gcc -S hello.i -o hello.s # 编译阶段gcc -c hello.s -o hello.o # 汇编阶段gcc hello.o -o hello # 链接阶段

Command(命令)模式,用于输入命令

linux编译c linux编译cpplinux编译c linux编译cpp


Insert(插入)模式,用于插入文本

Visual(可视)模式,用于视化的的高亮并选定正文

这三者之间可以通过下图所示的方法进行切换:

等会我们看到后面,如果忘记了怎么切换,那再回到上图来看。这里要说明一下,上图中说的输入iao,是指i,a,o三个字母随便输入一个的意思,不是说要输入iao。然后上图的:wq是指同时输入三个字符:wq,这样就能保存并退出。

如果还是没明白,就按我下面的步骤走一遍就可以理解了。首先,来到linux系统的桌面,用鼠标右键击桌面,如图所示: 然后点击菜单上的“在终端中打开”,于是打开了终端: 打开后,我们输入命令vi test001.c并打回车,这样就打开了VI编辑器并建立一个C语言文件,如下: 打字母i进入编辑模式,开始写代码,比如我们要写一个运算斐波那契数列的程序,如下: #includeint Fi(int n){ if(n<1) return -1; if(n==1||n==2) return 1; return Fi(n-1)+Fi(n-2);}int main(){ int count; int a; printf("please input the count"); scanf("%d",&count); a=Fi(count); printf("a=%d\n",a); return 0;} 写入到VI编辑器中就是这样:

好,程序写好了,就按ESC跳出编辑模式,然后打入:wq三个字符再回车进行程序的保存,就是保存到test001.c这个文件里。这时桌面上就会多了一个test001.c的文件。

我们可以双击这个文件打开看看里面是什么,一打开如下: 哈哈,就是我们刚才写的代码。好,我们关掉这个文件,重新来到终端里,我们现在要编译这个程序。如下: 我们输入gcc -o test001 test001.c命令,把test001.c文件编译成一个叫test001的可执行文件。我们这时会发现桌面上多了一个test001的文件,如下图:

你可以右击这个文件看看它的属性,你会发现是一个可执行文件。如果用鼠标直接双击这个文件,会发现一点反应也没有。看来要运行这个文件只能回到终端下。

下面我们来运行这个文件,在终端下打./test001这个命令并回车:

一回车,就会弹出please input the count的语句让你输入一个数字,我输了3,一回车,结果a=2这个结果马上就出来了。这样,一个C程序从编写到编译,再到运行,就完完整整的演示结束了。

在C语言中,main()是主函数,任意一个C程序的入口和出品都位于这个主函数中。其他的功能函数都是在主函数中调用实现的,并不都写在主函数中。定义的功能函数就如同一个变量,需要先声明后定义,函数的声明是让编译器知道函数的名称、参数、返回值类型等基本信息;函数的定义是让编译器知道函数的功能。 上述功能的函数的声明可以写成如下形式:

int Fi(int n);

linux编译c linux编译cpplinux编译c linux编译cpp


若将函数的定义放在调用函数之前,就可以省略函数的声明,此时函数的定义就包含了函数声明。

作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。

linux编译c linux编译cpplinux编译c linux编译cpp


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

联系我们

工作日:9:30-18:30,节假日休息