序言
为何要在Linux下写程序?
须要更多关于Linux下c++开发的资料请后台私信【架构】获取
分享资料包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redislinux软件,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,解释器linux运行c程序,DPDK等等。
首先要问一下自己,为何要写这个程序。
假如我们写一个运行在windows平台的应用程序,这么用Linux写肯定是傻蛋或则逼迫症,由于在windows平台调试windows程序可以更容易发觉并解决问题,反过来也一样,在Linux平台调试下来的程序可以更好的适应Linux平台的环境,假如在windows下写出一个程序,结果到了Linux的运行环境出了暗病,那真是欲哭无泪,无从查起。
而好多时侯,我们的程序都不是运行在windows平台的,比如嵌入式设备的显存容量非常有限,只能把Linux内核裁剪裁剪之后运行,所以嵌入式开发者通常都要求在Linux平台下工作。
正文
在windows下,我们写C++程序通常会有如下几个步骤:
编撰.cpp文件,代码都在上面;
可能还有一些.h文件之类的支持文件,这种文件通常还会置于一起,或则相对位置是固定的;
编译文件,链接文件,生成.exe文件
双击执行.exe文件(虽然开发平台里的“运行”就是帮你双击了一下而已)
在Linux下这种步骤基本都是一样的linux运行c程序,不同的是,Linux最后生成的文件不是.exe,而是.out
步骤
首先得有个Linux操作系统,倘若是菜鸟(像我)最好选一个图形界面做的好的,比如Ubuntu。通常这种操作系统都是免费开源的,这也是Linux的一大用处,可以直接更改一切文件,而windows的防御举措对于新手和通常用户挺好用,而且对开发者而言就是个坑。
在Linux操作系统上新建一个文件夹sogou pinyin linux,在上面放你的工程,如右图
编撰代码的部份就可以跳过了吧,比如我们都十分熟悉的helloworld
接出来是编译,打开终端,将终端路径设置为你的工程目录。cd和ls命令真是好用。。。dir命令跟ls命令类似,看个人喜好吧,都一样。
输入命令gcctest.cpp
诶→_→?为何编译不通过?其实不是程序弄错了,而是gcc是c语言的编译器,而我们写的代码是C++代码,所以改为输入g++test.cpp
没有任何问题,这个时侯我们可以看到工程目录上多了一个a.out,它就是我们的“可执行文件”了。
但是为何是a.out而不是b.out或则nfsdnksd.out呢?这是默认的,没有为何→_→如果想给编译下来的文件起一个名子,可以在编译的时侯用-o命令,比如g++test.cpp-ojoyce
之后我们就可以看见,工程目录多了一个joyce文件
执行文件的时侯来的,在终端输入./a.out即可看见你的程序输出。输入./joyce也是一样的。记住不要漏了斜杠上面的点!!
这样我们就完成了一个最基本的程序编译和执行。