在Linux系统下如何编译并执行C++程序

 更新时间:2024年01月04日 16:12:54   作者:Joyce_Ng  
这篇文章主要介绍了在Linux系统下如何编译并执行C++程序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

引言

为什么要在Linux下写程序?

首先要问一下自己,为什么要写这个程序。

如果我们写一个运行在windows平台的应用程序,那么用Linux写肯定是傻瓜或者强迫症,因为在windows平台调试windows程序可以更容易发现并解决问题,反过来也一样,在Linux平台调试出来的程序可以更好的适应Linux平台的环境,如果在windows下写出一个程序,结果到了Linux的运行环境出了暗病,那真是欲哭无泪,无从查起。

而很多时候,我们的程序都不是运行在windows平台的,例如嵌入式设备的内存容量十分有限,只能把Linux内核裁裁剪剪然后运行,所以嵌入式开发者一般都要求在Linux平台下工作

正文

在windows下,我们写C++程序一般会有如下几个步骤:

  • 编写.cpp文件,代码都在里面;
  • 可能还有一些.h文件之类的支持文件,这些文件一般都会放在一起,或者相对位置是固定的;
  • 编译文件,链接文件,生成.exe文件
  • 双击执行.exe文件(其实开发平台里的“运行”就是帮你双击了一下而已)

在Linux下这些步骤基本都是一样的,不同的是,Linux最后生成的文件不是.exe,而是.out

步骤

首先得有个Linux操作系统,如果是新手(像我)最好选一个图形界面做的好的,例如Ubuntu。一般这些操作系统都是免费开源的,这也是Linux的一大好处,可以直接修改一切文件,而windows的防御措施对于菜鸟和一般用户很好用,但是对开发者而言就是个坑。

在Linux操作系统上新建一个文件夹,在里面放你的工程

如下图:

编写代码的部分就可以跳过了吧,例如我们都非常熟悉的hello world

接下来是编译,打开终端,将终端路径设置为你的工程目录。cd 和ls命令真是好用。。。dir命令跟ls命令类似,看个人喜好吧,都一样。

输入命令 gcc test.cpp

诶→_→?为什么编译不通过?当然不是程序写错了,而是 gcc 是 c 语言的编译器,而我们写的代码是C++代码,所以改为输入 g++ test.cpp

没有任何问题,这个时候我们可以看见工程目录上多了一个a.out,它就是我们的“可执行文件”了。

可是为什么是 a.out 而不是 b.out 或者 nfsdnksd.out呢?这是默认的,没有为什么→_→如果想给编译出来的文件起一个名字,可以在编译的时候用 -o 命令,例如 g++ test.cpp -o joyce

然后我们就可以看到,工程目录多了一个joyce文件

执行文件的时候来的,在终端输入 ./a.out 即可看到你的程序输出。输入 ./joyce 也是一样的。记住不要漏了斜杠前面的点!!

这样我们就完成了一个最基本的程序编译和执行。

总结

具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

相关文章

  • yum的repo文件详解、yum源的更换方式

    yum的repo文件详解、yum源的更换方式

    文章介绍了Fedora中的repo文件和yum.conf的配置,解释了如何修改repo文件以启用或禁用软件仓库,并检查GPG签名,还介绍了如何创建自己的私有yum仓库,包括使用命令生成关联关系文件,并提供了一个简单的操作流程
    2026-01-01
  • LNMP服务器环境配置 (linux+nginx+mysql+php)

    LNMP服务器环境配置 (linux+nginx+mysql+php)

    在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍
    2014-07-07
  • Ubuntu下如何设置ssh免密码登录安装

    Ubuntu下如何设置ssh免密码登录安装

    这篇文章主要介绍了Ubuntu下ssh免密码登录安装,需要的朋友可以参考下
    2014-06-06
  • Ubuntu20.04docker离线安装方式

    Ubuntu20.04docker离线安装方式

    在无外网的Ubuntu 20.04服务器上离线安装Docker的步骤,包括下载离线包、传输到服务器、修复依赖、安装依赖包以及最终安装Docker
    2026-02-02
  • Apache 2配置域名绑定的方法详解

    Apache 2配置域名绑定的方法详解

    这篇文章主要给大家介绍了Apache 2配置域名绑定的方法,文中介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • linux中的软连接和硬连接详解

    linux中的软连接和硬连接详解

    大家好,本篇文章主要讲的是linux中的软连接和硬连接详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • iptables配置(/etc/sysconfig/iptables)操作方法

    iptables配置(/etc/sysconfig/iptables)操作方法

    下面小编就为大家带来一篇iptables配置(/etc/sysconfig/iptables)操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux创建指定目录并进入的实现方式

    Linux创建指定目录并进入的实现方式

    在Linux中创建并进入指定目录,可以通过快捷方式(一行命令,最常用,适用于快速操作)或严谨方式(先判断目录是否存在,再创建并进入,适合脚本)实现,快捷方式适用于快速手动操作,而严谨方式适用于脚本编写和需要避免目录已存在提示的场景,需要的朋友可以参考下
    2026-02-02
  • apache  urlrewrite防盗链功能配置

    apache urlrewrite防盗链功能配置

    配置虚拟主机时,在配置文件中加入如下内容
    2009-06-06
  • 你需要知道的16个Linux服务器监控命令

    你需要知道的16个Linux服务器监控命令

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员
    2012-03-03

最新评论