ROS2前置教程|玩转Ubuntu之编程工具

本系列教程作者:小鱼
公众号:鱼香ROS
QQ交流群:139707339
教学视频地址:小鱼的B站
完整文档地址:鱼香ROS官网
版权声明:如非允许禁止转载与商业用途。

写在前面

  1. 当前平台文章汇总地址:ROS2机器人从入门到实战
  2. 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取
  3. 教程配套机器人开发平台:两驱版| 四驱版
  4. 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn

做机器人最常用的两门语言就是C++和Python,同时这两门语言也是编程语言流行度排行榜数一数二的。

image-20220602004545523

听说牛逼的大佬都用记事本写代码,这节小鱼带你在Linux版记事本之gedit上写一下C++和Python代码。

1.Hello FishRos

1.1 Python版

打开终端,创建一个d2lros2文件夹接着在文件夹下创建chapt1文件夹。

mkdir d2lros2
cd d2lros2
mkdir chapt1

接着输入下面的指令打开gedit并创建文件

gedit hello_fishros.py

image-20220602004014904

接着你应该看到一个类似于记事本的东西,在里面输入下面一段代码,打印一句话

print("Hello FishRos!")

使用Ctrl+S保存代码

关掉gedit,接着在终端输入下面的指令运行这段脚本

python3 hello_fishros.py

如果一切正常,你将看到

image-20220602003959225

1.2 C++版

接着我们来学习C++版本的打印一句话。

进入终端,用gedit再次编辑一个叫做hello_fishros.cpp的文件。

cd d2lros2/chapt1/
gedit hello_fishros.cpp

输入下面的内容

#include"iostream"

int main(){
    std::cout<<"Hello FishRos!"<<std::endl;
    return 0;
}

你会发现C++代码要比Python复杂很多,这也是近年来人生苦短,我用Python的来源。

保存代码,关闭gedit。

image-20220602001924041

更麻烦的是你还不能直接运行C++的代码,C++代码必须经过编译构建之后才能运行。

C++的编译工具使用的是g++,默认是不安装的,所以我们需要手动安装一下g++。

使用上节课讲到的安装工具安装g++

sudo apt install g++

接着在终端输入下面的指令对刚刚的代码进行编译。

g++ hello_fishros.cpp

如报错请尝试安装:sudo apt-get install build-essential

接着使用ls指令,你应该可以看到一个叫做a.out的文件。恭喜,现在你可以运行了。

输入下面的指令即可运行

./a.out

image-20220602003519710

请不要小看Linux中的.,它的用途很广,比如这里就是用于执行文件./文件名

2.为什么C++需要编译

2.1 编译执行和解释执行的区别

在知乎上看到一个比喻,非常好。

编译相当于做好了一桌子菜,可以直接开吃了。

img

而解释就相当于吃火锅,需要一边煮一边吃。

img

那么自然,吃的效率也会低一些。

2.2 编译执行

编译执行需要在运行之前把代码翻译成计算机认识的二进制文件,执行的时候就不需要再次翻译了,计算机可以直接看的懂。

C++的代码就是需要编译器进行翻译的,其翻译器的名字就叫做g++,该编译器非常的有名。

可以参阅下面的文章

2.3 解释执行

Python可以说是解释执行的语言了,在运行前不需要翻译,运行时由解释器一句句解释运行即可。

2.4 编译VS解释

编译型语言VS解释型语言_Frank—7的博客-CSDN博客

  • 编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。
  • 解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。

编译型的语言包括:C、C++、Delphi、Pascal、Fortran 解释型的语言包括:Java、Basic、javascript

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值