
C/C++
文章平均质量分 97
小文21
小文在学习,
毕业早期进入移动操作系统公司从事Android App,framework方面工作,
后来到加入自动驾驶公司从事AVM(360环视影像),APA(自动泊车)开发,
目前在一家国产芯片公司从事图像驱动方面的工作
展开
-
ADB(八)_WiFi连接(host端和设备端通过TCP连接的过程分析)
struct stinfo { const char* service_name; // 字符串:"connect" void (*func)(int fd, void* cookie); //函数指针 int fd; // s[1]; void* cookie; //连接的目标IP。eg:192.168.0.4};int fd = ...原创 2020-03-03 13:50:41 · 1399 阅读 · 0 评论 -
ADB(七)_USB连接 (ABD通过USB连接的流程分析)
首先,我们知道,开发中在使用ADB的时经常使用的是USB连接Android开发设备。我们今天就组要对USB通信进行分析;不过我们不会对USB本身的协议、原理、实现等方面进行说明,那些不在我们讨论的范围内,我们只是就USB通信在ADB的的使用进行源代码层面的梳理。我们的USB通信是连接host端的adb程序和Android端的adbd程序,所以我们需要分别对adb 和adbd 的运行过程有所了解,...原创 2020-03-02 13:57:33 · 7944 阅读 · 0 评论 -
ADB(六)_调试ADB(ADB设置自身日志的代码梳理和设置ADB自身日志可见)
前言是的,标题很迷,这要是在我没接触ADB之前,我要是看到这样的标题肯定想:“要不是起错了标题那怕不是石乐志了吧”。没错。我们确实要使用Android的ADB来调试ADB。首先,我们知道ADB是间接调用并向开发人员输出log【日志】信息来对Android进行调试的,在Android中有log这么个类,它是专门用来对我们开发人员或者系统自带的log进行处理;我们就可以在ADB模块的修改和优化上...原创 2020-02-26 10:01:09 · 3882 阅读 · 1 评论 -
ADB(五)_host端adb server相关的代码梳理
前言前文ADB(一)_概况了解ADB(二)_ADBD_main()函数代码梳理ADB(三)_ADBD_adbd_main()函数代码梳理ADB(四)_host端的代码梳理在前一篇的文章中,我们对ADB在host端上的运行的代码进行了一个简单的梳理,一篇文章肯定是不能把host端的ADB讲清楚,所以只是以“adb root”命令的执行情况来进行简单的梳理,其中涉及的其他内容就不能深入。那...原创 2020-02-25 15:28:56 · 2231 阅读 · 0 评论 -
ADB(四)_host端的启动流程代码梳理
前言前文ADB(一)_概况了解ADB(二)_ADBD_main()函数代码梳理ADB(三)_ADBD_adbd_main()函数代码梳理1. adb的代码前面我们对ABD的adbd部分整个进行了一个大概的梳理,具体可以参考上面给出的链接;今天我们就针对ADB在host端的adb进行源码的梳理,看看host端的adb是怎么工作的. 这里为了叙述方便,将在host端的adb 统称为ad...原创 2020-02-24 09:45:31 · 2429 阅读 · 0 评论 -
Linux C/C++_errno的使用
前言之前在Android的开发中,调试代码可以使用logcat,很是方便,但在一般的Linux C/C++开发中,就是用不上logcat了,不过我们linux自身提供了相关的功能,今天就对errno进行讨论一下:它定义在errno.h 头文件中,我看有一下,在linux不同的内核版本中errno.h的具体位置调整了一下,目前我使用的是Ubuntu18.04. LTS...原创 2020-01-17 18:57:09 · 2401 阅读 · 0 评论 -
ADB(三)_ADBD_adbd_main()函数代码梳理
前言前面我们对ABD的adbd部分的main()方法进行大概梳理,了解到main()函数的结构和函数调用;今天我们了解adbd_main()函数是怎么工作的;1. adb_main 代码说明int adbd_main(int server_port) { //将当前进程的文件创建掩码设置为mask,并返回旧的创建掩码。 umask(0); // 为了避免进程退出, 可...原创 2020-01-15 15:53:25 · 3128 阅读 · 0 评论 -
ADB(二)_ADBD_main()函数代码梳理
前言前面我们对ADB从整体上进行了简单的概括梳理,我们对adb的了解应该比日常开发了解的更多了。现在就需要从局部对adb进行分析,了解它组成部分的具体工作原理是怎么样的,相互之间又是怎么进行交互的。ADBD (ADB daemon)在上一篇内容里我们知道adbd主要作用是连接ADB Server 和android device或者仿真器并为在开发者主机上的client提供一些服务.那我们就先...原创 2020-01-15 15:52:48 · 2608 阅读 · 0 评论 -
C++_GUARDED_BY 和EXCLUDES属性字
在梳理ADB源码的时候,看到代码中函数中有大写的GUARDED_BY和EXCLUDES等字眼。一开始猜想可能是宏定的什么变量吧。但是一番检索后并没有发现有哪里定义,并且我之前都没有接触过这样的额用法。/system/core/adb/adb_listeners.cpp...static ListenerList& listener_list GUARDED_BY(listener_l...原创 2020-01-13 15:58:55 · 4849 阅读 · 0 评论 -
Android底层获取设备局域网IP
前言因为工作需要,我们需要处在局域网中的设备自己在底层获取IP地址,网上有很多的说法是通过WifiManager来拿到设备的局域网IP.方法虽然行得通,但是不适合我当前的场景,所以需要想别的方式。网络IP所有在网络中【广域网,城域网,局域网等等】里面的设备之间要通信就必须拥有一个能被网络识别的IP地址。私有网络 IP私有IP就是在局域网内部分配的IP地址,不能直接访问Internet ...原创 2020-01-13 11:32:22 · 1083 阅读 · 0 评论 -
include语法问题
最近在接触C++编程时几次遇到#include <> 和 #include " "使用上的编译错误,就想着了解一下这两种用法的区别:原文见:GCC说明include 语法:使用预处理指令包含用户和系统头文件#包括”。它有两个变种:第一种:#include <file>此变体用于系统头文件。它在标准的系统目录列表中搜索名为file的文件。您可以使...翻译 2019-05-07 11:26:14 · 1397 阅读 · 0 评论