OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4696|回复: 0

《I.MX6U嵌入式Qt开发指南 V1.0》第一章 在Ubuntu下编写C++

[复制链接]

1118

主题

1129

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4672
金钱
4672
注册时间
2019-5-8
在线时间
1224 小时
发表于 2021-7-7 17:24:23 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2021-7-9 11:31 编辑

1)实验平台:正点原子阿尔法Linux开发板
2)  章节摘自【正点原子】《I.MX6U嵌入式Qt开发指南 V1.0》
3)购买链接:https://detail.tmall.com/item.htm?id=609033604451
4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/arm-linux/zdyz-i.mx6ull.html
5)正点原子官方B站:https://space.bilibili.com/394620890
6)正点原子阿尔法Linux交流群:1027879335 QQ群.png

原子哥.jpg

微信公众号.png


第一章 在Ubuntu下编写C++



在Ubuntu上面编写C++,本章节内容主要介绍在Ubuntu在终端窗口下使用vi/vim编辑一个C++源文件。通过编写最简单的示例“Hello,World!”。带领大家学习如何在Ubuntu终端下编辑和编译C++。这里要求大家会在Ubuntu上使用vi/vim,也就是要求大家有一点Ubuntu入门的基础。如果没有这些基础也是可以拷贝C++的代码到Windows上使用像Dev-C++这种轻量级 C/C++ 集成开发环境(IDE)进行编写和编译。
但是编者还是希望大家和编者一起学习在Ubuntu下编写C++,因为后面第二章的内容都是在Ubuntu下编写和讲解C++的基础。同时也可以锻炼在Linux开发C++的能力!

1.1 C++简介
C++ (c plus plus)是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。截止2020年,在2017年发布C++17,已经是第五个C++标准了。我们也见过或者听过C++98,这样的C++标准,也就是1998年发布的C++,所以叫C++98,是C++的第一个标准。
学习C++我们要理解概念,而不是深究语言技术细节。我们只要带着第二章的C++基础概念,学习Qt或者写C++会有一定的帮助。
1.2C++环境设置
为了写这份教程,作者也是从新装了一个Ubuntu18.04。从头搭建环境。我们先配置软件源的服务器地址为啊里云的地址。这样我们可以从国内去获取软件源,下载速度会更快。
我们要在Ubuntu编写C++程序,那么需要有能编写代码的文本编辑和C++编译器。在新装的Ubuntu环境里,编译C语言的GCC没有安装,编译C++的G++也没有安装。执行下面的执指令安装编译C语言和C++的环境。
  1. sudo apt-get install gcc g++
  2. sudo apt-get install lsb-core lib32stdc++6 // 安装其他库
复制代码


安装完成后,可以使用下面的指令来查看安装的gcc和g++的版本。
  1. <font size="4">g++ -v
  2. gcc -v
  3. </font>
复制代码
在Ubuntu下编写C1069.png
1.3 编写一个简单的C++程序
        在终端输入下面的指令,首先我们创建一个C++目录,然后使用cd指令进入C++目录。再创建01_hello_world目录,进入01_hello_world目录,然后使用vi指令编辑01_hello_world.cpp。
  1. mkdir C++                // 创建一个C++目录。
  2. cd C++                        // 进入创建的C++目录。
  3. mkdir 01_hello_world // 创建一个01_hello_world目录
  4. cd 01_hello_world        // 进入01_hello_world目录下。
  5. vi 01_hello_world.cpp        // 编辑cpp文件,拷贝下文的内容
复制代码
在Ubuntu下编写C1376.png
拷贝下面的内容到01_hello_world.cpp。
  1. 1   #include <iostream>
  2. 2   using namespace std;
  3. 3   int main()
  4. 4   {
  5. 5       cout << "Hello, World!" << endl;
  6. 6       return 0;
  7. 7   }
复制代码



第1行,C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件 <iostream>。
第2行,using namespace std; 告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。其中std就是C++里的标准命名空间,也就是标准库里写好的了,我们可以直接调用。
第3行,int main() 是主函数,程序从这里开始执行。
第5行,cout << "Hello World"<<endl; 会在屏幕上显示消息 "Hello World"并换行。“<<”是运算符,endl是换行语句。
第6行,return 0; 终止 main( )函数,并向调用进程返回
执行下面的语句进行编译和运行这个简单的C++程序。
  1. g++ 01_hello_world.cpp -o 01_hello_world // 使用g++编译。-o后面加的是输出的目标文件。
  2. ./01_hello_world                                        // 在终端下执行,打印"Hello, World!"并换行。
复制代码
在Ubuntu下编写C2008.png
我们可以拓展一下,如何输出多行。可以像下面一样无限加下去。其中我们发现打印了第一个Hello,world!后也换行了,因为使用了“\n”。C++中可以使用C语言的语句,C++是C语言的超集。
  1. 1   #include <iostream>
  2. 2   using namespace std;
  3. 3   int main()
  4. 4   {
  5. 5       cout << "Hello, world!\n" << "Hello, world!"  << endl;
  6. 6       return 0;
  7. 7   }
复制代码


第5行,我们在里面再加用“<<”插入运算符(重载运算符)再插入一句“Hello, world!”打印,这样终端上就打印了两行“Hello, world!”。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 18:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表