没有合适的资源?快使用搜索试试~ 我知道了~
首页I.MX6U嵌入式Qt开发入门与环境配置教程
I.MX6U嵌入式Qt开发入门与环境配置教程
需积分: 0 106 下载量 128 浏览量
更新于2024-07-01
4
收藏 26.16MB PDF 举报
《正点原子》的I.MX6U嵌入式Qt开发指南是一份针对I.MX6U平台进行嵌入式开发的详细教程,由广州市星翼电子科技有限公司出版,旨在帮助读者理解和掌握基于Qt工具的嵌入式开发流程。该指南以C++作为核心编程语言,特别适合初学者入门。 在V1.0版本中,教程分为两个主要部分:入门篇和C++基础。入门篇引导读者从零开始,通过实际操作了解C++语言的基本概念,如C++简介、环境配置以及编写简单的C++程序。这一章节注重理论与实践的结合,让开发者能够快速上手。 在后续章节中,C++基础部分深入讲解了C++语言的新特性,如面向对象编程、输入输出操作,以及命名空间等关键概念。这不仅帮助开发者提升编程技能,也为使用Qt开发过程中可能用到的C++库和功能打下坚实基础。 值得注意的是,这份指南在后续版本中进行了多次修订,如V1.0.1修复了一些文档中的文字错误和代码问题,V1.0.2则针对性地解决了关于头文件匹配、闹钟示例中的bug以及与ESP8266连接问题等实际开发中可能遇到的技术难题。这些版本更新确保了内容的准确性和实用性。 此外,指南还提供了丰富的学习资源和支持,包括原子哥在线教学网站(www.yuanzige.com)和开源电子网论坛(www.openedv.com),以及正点原子的官方平台、淘宝店铺和B站视频,方便用户获取最新的教程内容和交流经验。作者邓志茂、左忠凯、陈梓雄和曾健拍共同参与了文档的创作和维护工作,确保了内容的专业性。 《正点原子》I.MX6U嵌入式Qt开发指南是一份全面且实用的教程,不仅适合初次接触嵌入式开发的人员,也是经验丰富的开发者查阅和深化C++在嵌入式环境中的应用的宝贵参考资料。
资源详情
资源推荐
原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com
16
I.MX6U 嵌入式 Qt 开发指南
在终端输入下面的指令,首先我们创建一个 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()
原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com
17
I.MX6U 嵌入式 Qt 开发指南
4 {
5 cout << "Hello, world!\n" << "Hello, world!" << endl;
6 return 0;
7 }
第 5 行,我们在里面再加用“<<”插入运算符(重载运算符)再插入一句“Hello, world!”
打印,这样终端上就打印了两行“Hello, world!”。
原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com
18
I.MX6U 嵌入式 Qt 开发指南
第二章 C++基础
在第二章 C++基础里,这里主要介绍概念为主,主要介绍 C++与 C 语言中常用的不同点,
和一些新的变化。其中不会去说指针、数据类型、变量类型、判断和循环等这些知识,这些和
C 语言基本是一样使用的。我们主要学习 C++的面向对象编程,对学习 Qt 有很大的帮助,理解
第 2.2 章节的概念很重要。Qt 里就能体现到 C++编程带来的优势和便处。就算没学过 C++,学
习 Qt 也不会很难。写 C++基础这章,编者已经把重要的概念写出来,但是实际上 C++的内容
不止这么多,第二章是快餐式 C++入门,主要是为了更好的理解 Qt 中的 C++语法,学习 Qt
时也方便理解其中的内容。
原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com
19
I.MX6U 嵌入式 Qt 开发指南
2.1 C++语言新特性
2.1 C++的新特性
C++比 C 语言新增的数据类型是布尔类型(bool)。 但是在新的 C 语言标准里已经有布尔类
型了,但是在旧的 C 语言标准里是没有布尔类型的,编译器也无法解释布尔类型。
在传统的 C 语言里,变量初始化时必须在程序的前面定义在前面,而 C++则是可以随用随
定义。C++也可以直接初始化,比如 int x(100);这样就直接赋值 x=100,这些都是 C++特性的好
处。这里只说这些常用的新特性,其他特性不做描述或者解释了。
2.2 C++的输入输出方式
在 C 语言里,我们是这样输入或者输出的。
在 C++里,我们使用以 cin 和 cout 代替了 scanf 和 printf。在输入和输出的流程上是不变的,
只是关键字变了,用法也变了。
要说效率上,肯定是 C 语言的 scanf 和 printf 的效率高,但是没有 C++中的 cin 和 cout 使
用方便。
C++的 I/O 语法方式如下。
cout 语法形式:
cout<<x<<endl;
原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com
20
I.MX6U 嵌入式 Qt 开发指南
x 可以是任意数据类型,甚至可以写成一个表达式,这比 C 语言需要指定数据类型方便多
了,endl 指的是换行符,与 C 语言的“\n”效果一样。
错误示例:
cout<<x,y<<endl; // 在变量间不能用“,”。
正确写法:
cout<<x<<y; // endl 可流省略,只是一个换行的效果。
cin 语法形式:
cin>>x;
x 可以是任意数据类型。
拓展,如何输入两个不同的变量。
cin>>x>>y;
2.3 C++之命名空间 namespace
在第 1.3 小节里我们已经使用过命名空间,如下代码第 2 行。using namespace std;同时我们
要注意第 1 行,不能写成 iostream.h,有.h 的是非标准的输入输出流,c 的标准库。无.h 的是标
准输入输出流就要用命名空间。
1 #include <iostream>
2 using namespace std;
3 int main()
4 {
5 cout << "Hello, World!" << endl;
6 return 0;
7 }
using 是编译指令,声明当前命名空间的关键词。可以从字面上理解它的意思,using 翻译
成使用。这样可以理解成使用命名空间 std。因为 cin 和 cout 都是属于 std 命名空间下的东西,
所以使用时必须加上 using namespace std;这句话。cin 和 cout 可以写 std::cin 和 std::cout,“ ::”
表示作用域,cin 和 cout 是属于 std 命名空间下的东西,这里可以理解成 std 的 cin 和 std 的 cout。
为什么要使用命名空间?
有些名字容易冲突,所以会使用命名空间的方式进行区分,具体来说就是加个前缀。比如
C++ 标准库里面定义了 vector 容器,您自己也写了个 vector 类,这样名字就冲突了。于是标
准库里的名字都加上 std:: 的前缀,您必须用 std::vector 来引用。同理,您自己的类也可以加
个自定义的前缀。但是经常写全名会很繁琐,所以在没有冲突的情况下您可以偷懒,写一句
using namespace std;,接下去的代码就可以不用写前缀直接写 vector 了。
从命名空间开始我们就隐隐约约可以看到 C++面向对象的影子了。命名空间在很多 C++库
里使用到。有些公司也会自定义自己的 C++库,里面使用了大量的命名空间。从这里我们也可
以看出 C++是非常之有条理的,容易管理的,不含糊,易使用的。
剩余699页未读,继续阅读
东郊椰林放猪散仙
- 粉丝: 24
- 资源: 301
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功