在Linux上编写和编译C ++ [操作指南]

如果您采用Linux,则可能出于开发目的而这样做。 毕竟,它具有用大多数语言编程所需的一切,而且(几乎)免费。

使用Linux,您可以使用地球上一些最重要的语言进行编程,例如C ++。 实际上,对于大多数发行版而言,开始编写第一个程序几乎不需要做任何事情。 而且更好的是,您可以轻松地从命令行编写和编译所有内容。

如果您是一个孤独的程序员,或者在像BairesDev这样的定制软件开发公司工作 ,那么您应该花点时间来加快使用Linux作为您选择平台的编程速度。

话虽如此,我想指导您完成在Linux上编写和编译您的第一个C ++程序的过程。 我将演示如何在Ubuntu和Red Hat发行版上完成此操作。

你需要什么

本教程唯一需要做的是:

基于Ubuntu或Red Hat的Linux发行版的运行实例。

一些C ++代码。

就是这样。

我将用久经考验的“ Hello,World!”进行演示。 这是一个令人难以置信的基本示例,但是它使新用户可以轻松跟随。 如果您不熟悉它,它所做的只是打印出短语“ Hello,World!”。 屏幕上。

安装必要的工具

尽管有一些Linux发行版附带了您开始开发所需的一切(开箱即用),但您可能会遇到没有的发行版。 没有正确的工具,您定制的软件开发经验将很快变得令人沮丧。

那么,如何安装必要的软件? 让我们首先在Ubuntu上执行此操作。 在桌面上打开一个终端窗口,然后发出以下命令:

sudo apt-get install build-essential -y

为了在Red Hat上做到这一点,您将dnf命令与groups选项一起使用,如下所示:

sudo dnf group install “Development Tools”

这两个命令都将安装编译第一个C ++应用程序所需的所有内容。

编写程序

现在我们需要写“你好,世界!” 程序。 因为这是一个简单的应用程序,所以可以使用Nano编辑器。 打开一个终端窗口并发出命令:

nano hello.cpp

该命令将创建一个名为hello.cpp的新文件,并将其打开以进行编辑。 在该空文件中,粘贴以下文本:

#include <iostream>
using namespace std;
int main() 
{
    cout << "Hello, World!" \n;
    return 0 ;
}

使用键盘快捷键[Ctrl] + [X]保存并关闭文件,然后键入“ y”(不带引号)以使用我们从一开始就为文件指定的名称。

至此,您已经可以编译C ++文件hello.cpp。

编译程序

下一步是编译我们新编写的程序。 执行此命令的命令确实非常简单。 基本命令是:

g++ hello.cpp

该命令将编译程序并创建一个名为a.out的可执行文件。 不是很有帮助,对吧? 因此,与其让g ++命名可执行文件,不如通过将输出选项(-o)与命令一起使用,为它命名为hello:

g++ -o hello hello.cpp

上面的命令将编译hello.cpp文件,并创建一个名为hello的新可执行二进制文件。

运行新程序

既然您已经使用g ++来编译程序,现在该运行它了。 因为这是仅用于终端的应用程序,所以您必须从终端内部将其作为命令运行。 为此,发出命令:

./hello

运行上面的命令时,您应该看到Hello,World!的输出。 程序(图1)。

(图1)

你好,世界! 程序输出。

之所以必须使用前导./字符运行该程序,是因为该程序不在$ PATH中,后者是目录的集合,在其中可以全局运行命令。 因此,您必须在存放hello二进制文件的目录中运行命令。

假设您希望能够运行Hello,World! Linux机器上任何目录中的应用程序。 如果要这样做,必须将二进制文件复制到$ PATH中的目录中。 要找出$ PATH中的目录,请发出以下命令:

回声$ PATH

这将列出$ PATH中的每个目录(图2)。

图2

用户$ PATH中的所有目录。

一个安全的选择总是/ usr / local / bin。 使用以下命令复制该二进制文件:

sudo cp hello /usr/local/bin

现在,您所要做的就是发出命令hello,以查看Hello,World!的输出! 程序。

结论

在Linux上编写和编译第一个程序并不像您想象的那么难,对吗? 从这个非常基本的示例开始,您可以开始编程和编译越来越复杂的应用程序,直到在Linux上进行编码成为第二天性。

From: https://hackernoon.com/writing-and-compiling-c-on-linux-a-how-to-guide-ddi032di

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
宋宝华嵌入式 C/C++语言精华文章集锦 C/C+语言 struct 深层探索 ............................................................................2 C++中 extern "C"含义深层探索........................................................................7 C 语言高效编程的几招...............................................................................11 想成为嵌入式程序员应知道的 0x10 个基本问题 .........................................................15 C 语言嵌入式系统编程修炼...........................................................................22 C 语言嵌入式系统编程修炼之一:背景篇 ............................................................22 C 语言嵌入式系统编程修炼之二:软件架构篇 ........................................................24 C 语言嵌入式系统编程修炼之三:内存操作 ..........................................................30 C 语言嵌入式系统编程修炼之四:屏幕操作 ..........................................................36 C 语言嵌入式系统编程修炼之五:键盘操作 ..........................................................43 C 语言嵌入式系统编程修炼之六:性能优化 ..........................................................46 C/C++语言 void 及 void 指针深层探索 .................................................................50 C/C++语言可变参数表深层探索 .......................................................................54 C/C++数组名与指针区别深层探索 .....................................................................60 C/C++程序员应聘常见面试题深入剖析(1) ..............................................................62 C/C++程序员应聘常见面试题深入剖析(2) ..............................................................67 一道著名外企面试题的抽丝剥茧 ......................................................................74 C/C++结构体的一个高级特性――指定成员的位数 .......................................................78 C/C++中的近指令、远指针和巨指针 ...................................................................80 从两道经典试题谈 C/C++中联合体(union)的使用 ......................................................81 基于 ARM 的嵌入式 Linux 移植真实体验 ................................................................83 基于 ARM 的嵌入式 Linux 移植真实体验(1)――基本概念 ...........................................83 基于 ARM 的嵌入式 Linux 移植真实体验(2)――BootLoader .........................................96 基于 ARM 的嵌入式 Linux 移植真实体验(3)――操作系统 ..........................................111 基于 ARM 的嵌入式 Linux 移植真实体验(4)――设备驱动 ..........................................120 基于 ARM 的嵌入式 Linux 移植真实体验(5)――应用实例 ..........................................135 深入浅出 Linux 设备驱动编程 .......................................................................144 1.Linux 内核模块..............................................................................144 2.字符设备驱动程序 ...........................................................................146 3.设备驱动中的并发控制 .......................................................................151 4.设备的阻塞与非阻塞操作 .....................................................................157

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值