自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 wireshark抓包流程分析

这是一张wireshark抓包图,从上往下依次是源网卡,目的网卡,源ip,目的ip,socket绑定的端口号,数据内容,可以看出目的mac是01010200c0,这时我们再在目的开发板上查看绑定对应ip的Mac,如下图然后我们再去找发送端的Linux系统的arp表如下图所示然后再去找发的自己做的arp表,如下图所示所发的mac地址和wireshark抓包的不一致,这时就要开始定位代码是怎么传输的了,分析好了,后续更新。

2022-11-10 18:36:19 313 1

原创 memcpy函数拷贝不成功分析

1,memcpy((s8*)(((s8*)pNewMsgHead)+sizeof(OSP_NEW_STRU_MSGHEAD)),(s8*)((孙8*)pdata+sizeof(OSP_STRU_MSGHEAD)),((u32)u32len-sizeof(OSP_STRU_MSGHEAD));请注意指针偏移大小要以字节大小进行偏移,千万别整错了

2022-11-10 18:17:37 1606

原创 Linux的一个分区占满了,显示权限是问号

昨天在做一个项目,由于产测人员误操作,将一个1.3G大小的包下载到一个不到1G的分区中,导致该文件夹使用ls -al显示的权限全是d???,说明这只是一个目录,使用df -h查看分区大小,发现全被占满了,最后使用rm -rf这个文件目录,显示的也是删除不了里面的内容。最后操作的方法是:首先,umount ata2—不挂载这个文件目录;然后,mkft -t ext4 /dev/sda6—格式化该分区;最后,mount ata2 /dev/sda6—挂载这个分区;问题完美解决了。

2022-10-21 11:43:17 1455

原创 笔记-调试

笔记

2021-12-28 21:29:01 1581

原创 动态库与静态库的前世与今生

静态库:以空间换时间动态库:以时间换空间静态库的编写 动态库的编写 //myalib.hvoid test();//myalib.cvoid test(){ printf("hello\n");} //myalib.hvoid test();//myalib.cvoid test(){ printf("hello\n");} 静态库的制作 动态库的制作 1,生成目标文件.

2021-08-08 15:53:39 131

原创 Android.bp 文件中引入.a静态库.so动态库正确编译方法

在Android开发的时候,经常会使用到用c或c++编写的第三方的静态库。如果有源码的话,可以直接跟你自己的代码一去编译成动态库so,但是如果没有源码的话,你就必须在自己的动态库so里面将别人生成好的静态库导入进来一起编译了。我在编译的时候遇到了不少问题,我觉得有必要进行总结一下。.a静态库引入方式在模块源码根文件下新建文件夹 libs,复制要引入的.a文件至此,新建 Android.bp这样就会在obj生成文件夹下面重新生成一个libhisdk.a文件,这个文件就可以在其他android.bp文件中

2021-07-27 16:37:02 6946 5

原创 Failed to dlsym make_device: undefined symbol: make_device

Failed to dlsym make_device: undefined symbol: make_device最近在做开发的时候,遇到了一些bug。困扰了好长时间,虽然自己很菜,但是想着能够积累下来,以后再遇到同类型的问题,有个能解决问题的思路。问题大致如下:android的recovery系统下面能够做一些基础的测试demo。但是这个最新的demo是由C++和C语言共同开发的。里面有些函数需要依赖动态库,比如librecovery_ui.so,但是其中有一个库很特殊,叫librecovery_u

2021-05-12 10:04:47 257 1

原创 ld.lld: error: undefined symbol: RecoveryUI::SetEnableTouchEvent(bool, bool)

ld.lld: error: undefined symbol: RecoveryUI::SetEnableTouchEvent(bool, bool)最近在编译android代码的时候,遇到了这个问题,显示的是找不到这个函数,当时我就想着头文件都包含过来了,怎么会找不到这个声明呢,然后我把同一级别的函数体调过来使用,但是发现还是不行,最后原因终于找到了,原来是在android.bp中没有将这个函数所在的编译生成的库加进来,所以找不到,可能是作为新手小白的第一次bug吧,困扰了我好几天,所以记录一下,提

2021-04-16 14:34:28 14136 3

原创 fatal: fork: Cannot allocate memory错误调试

fatal: fork: Cannot allocate memory错误调试最近在编译android源码的过程中,一直出现这个问题,上网搜了发现好多都是说进程数太少了,不能够满足编译所需的进程,需要扩充进程数,但是我们是公司的电脑,服务器上面的进程数不能被我们控制,后来编译的时候发现编译时,调用的./build.sh里面写的的make -j24,说明编译的时候,调用的线程数是24,这样虽然会增快编译速度,但是同样会使进程数增加,解决办法就是把-j24改成-j8,或者-j16就可以完美解决问题了,希望能够

2021-04-16 14:19:13 493

原创 Source Insight 常用颜色代表种类

Source Insight 常用颜色代表种类红色代表常量黄色#代表指示器绿色M代表宏蓝色椭圆代表全局变量绿色小人代表函数绿色菱形代表结构成员黄色S代表结构体黄色t代表定义绿色的椭圆代表外部变量绿色的梯形代表(函数原型或者方法原型)...

2019-10-31 11:12:33 3030

原创 C++动态创建对象

动态创建对象第一步:先写父类,把每一个子类的返回值都变成父类的指针,父类里装着结构体的类型,创建函数指针:COObject*(*pfnCreateObject)();和遍历链表的指针去判断字符串和链表名称是否一致 ,子类里面装着结构体和创建对象的函数 ,在类里面都是静态的.如何实现链表的添加对原有链表不改动。这时候就要写一个函数去实现先让每一个节点都指向空,然后再在父类中去定义一个空指针,让...

2019-09-20 11:42:44 687

原创 C++之设计模式:

**单例模式:**只能存在一个对象,方法:把构造函数私有,这样就不允许定义对象,然后再给一个接口。Bflag也要用static去修饰 。static bool bflag用static CPerson *GetObjiect(){if(bflag == false){bflag = true ;return new CPerson;}else{return NULL;}}在析构里把bflag恢复...

2019-09-20 11:41:01 107

原创 浅谈C++类之间的关系

浅谈C++类之间的关系想用另外一个类的时候有几种方法:定义对象(依赖),放一个指针(关联),传参数(组合)依赖: (传参数)(一个空气的对象)没有生命期的关系 (CAir&air) 调用用air.show();多用于在函数中没有参量,仅只有函数 。在主函数中要定义一个空气的对象。不用在主类中定义对象 .是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类...

2019-09-20 11:36:09 246

转移文件,方便使用,不是第一作者

大大大大大帅的点点滴滴

2022-05-14

电梯控制感悟

方便大学生做课程设计参考

2018-03-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除