正点原子 发表于 2021-7-12 18:36:46

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

本帖最后由 正点原子 于 2021-8-11 12:30 编辑

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






第一章在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++的环境。
sudo apt-get install gcc g++
sudo apt-get install lsb-core lib32stdc++6 // 安装其他库
      安装完成后,可以使用下面的指令来查看安装的gcc和g++的版本。
g++ -v
gcc -v

1.3 编写一个简单的C++程序
      在终端输入下面的指令,首先我们创建一个C++目录,然后使用cd指令进入C++目录。再创建01_hello_world目录,进入01_hello_world目录,然后使用vi指令编辑01_hello_world.cpp。
mkdir C++                // 创建一个C++目录。
cd C++                        // 进入创建的C++目录。
mkdir 01_hello_world // 创建一个01_hello_world目录
cd 01_hello_world      // 进入01_hello_world目录下。
vi 01_hello_world.cpp      // 编辑cpp文件,拷贝下文的内容

拷贝下面的内容到01_hello_world.cpp。
1   #include <iostream>
2   using namespace std;
3   int main()
4   {
5       cout << "Hello, World!" << endl;
6       return 0;
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++程序。
g++ 01_hello_world.cpp -o 01_hello_world // 使用g++编译。-o后面加的是输出的目标文件。
./01_hello_world                                        // 在终端下执行,打印"Hello, World!"并换行。

我们可以拓展一下,如何输出多行。可以像下面一样无限加下去。其中我们发现打印了第一个Hello,world!后也换行了,因为使用了“\n”。C++中可以使用C语言的语句,C++是C语言的超集。
1   #include <iostream>
2   using namespace std;
3   int main()
4   {
5       cout << "Hello, world!\n" << "Hello, world!"<< endl;
6       return 0;
7   }
第5行,我们在里面再加用“<<”插入运算符(重载运算符)再插入一句“Hello, world!”打印,这样终端上就打印了两行“Hello, world!”。

fengyunyu 发表于 2021-7-12 19:18:56

imx6的教程还没有出完么?开发板推出很久了
页: [1]
查看完整版本: 《I.MX6U嵌入式Qt开发指南》第一章在Ubuntu下编写C++