背景

hi,粉丝们:
大家好!上一篇分享了c++新语法future,promise,async相关的知识后,学员朋友们关注到使用是VScode进行的编译运行。而不是以前的gcc或者g++这种较为原始命令行进行编译的。
这里可以看一下常见c++开发方式:
在这里插入图片描述

简单说开发c++可以有2种方式:

1、使用vi、gedit等代码编辑工具进行编辑,然后使用命令gcc或者Makefile等进行编译,即编写代码和编译是分开的,一般编写代码也没啥代码错误提示等,只有命令编译时候才可以发现错误,这种方式相对来说适合少量修改代码,不适合大量写代码的情况

2、使用专业ide工具进行编写,这里Ubuntu上的c++ ide工具其实也不少,比如最常见的vscode,还有eclipse,clion等。这里重点介绍vscode,有ide工具相对编写代码和编译代码都非常方便

VScode工具编写c++代码步骤

(注意:VScode需要安好几个c++插件,这个前面课程有讲解,可以正常跳转aosp下的c++代码就说明没啥问题)
1、创建一个工程文件夹 hellowork_demo

test@test:~/demos$ mkdir helloworld_demo

2.打开文件夹helloworld_demo
在这里插入图片描述
3、点击创建具体cpp文件,并且编写如下代码

在这里插入图片描述

#include<iostream>
using namespace std;
int main() {
    cout<<"hello framework"<<endl;
    return 0;
}

4、启动编译
注意这个收光标放到cpp文件,然后按下F5按键进行编译调试
弹出如下:
在这里插入图片描述
选着第一个GDB既可以,选着后又弹出如下
在这里插入图片描述选第一个g+±生成和调试活动文件,最后编译成功会自己执行结果如下:
在这里插入图片描述

5、断点调试等技巧
在这里插入图片描述
需要在代码左边进行断点,然后点击执行就会正常执行到断点,debug可以通过如下这个操作栏进行调试:
在这里插入图片描述

6、编译额外引入一下库
比如最常见的编译时候会引入pthread库,这个命令行编译只需要加一个-lpthread既可以,同样vscode也是需要配置的,配置方式:
修改tasks.json
在这里插入图片描述
然后args加入-lpthread
在这里插入图片描述

c++常见一些新语法库函数手册

aosp相关native模块,比如input,SurfaceFlinger等,经常阅读会遇到一些陌生库函数或者类,可能这个时候想要查询这个库函数相关的详情进行学习,类似课程讲解linux库函数有个man手册一样东西。
这里我推荐一个网站给大家学习c++相关的库函数等。

https://legacy.cplusplus.com/
在这里插入图片描述
需要搜索任何东西都可以到这个进行search
比如这里search一下future相关:
在这里插入图片描述

本文章对应视频手把手教你学framework:
hal+perfetto+surfaceflinger
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
在这里插入图片描述

私聊作者+v(androidframework007)

七件套专题:在这里插入图片描述
点击这里 https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw

视频:https://www.bilibili.com/video/BV1wc41117L4/

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐