- 博客(115)
- 资源 (30)
- 收藏
- 关注
原创 在android的apk在AndroidManifest.xml添加权限
文件中声明所需的权限。例如,如果你想要访问网络,你需要添加。在Android中,为了使用某些功能,你可能需要在应用的。如果你想要访问设备的联系人,你需要添加。元素中,以请求网络访问和读取联系人的权限。
2024-10-11 22:43:45
618
原创 pthread_cond_signal 和pthread_cond_wait
1、pthread_cond_wait() 用于阻塞当前线程,等待别的线程使用 pthread_cond_signal() 或pthread_cond_broadcast来唤醒它。3、pthread_cond_signal既可以放在pthread_mutex_lock和pthread_mutex_unlock之间,也可以放在pthread_mutex_lock和pthread_mutex_unlock之后,但是各有各缺点。,直至目标线程执行结束(接收到目标线程的返回值),阻塞状态才会解除。
2024-09-21 19:38:18
559
原创 AudioTrack.java setPreferredDevice选择外设音频设备
车载音频(CarAudio) - 简书 (jianshu.com)android选择外设音频设备_mob64ca12f8a724的技术博客_51CTO博客Android automotive车载开发(3)-----Audio routing音频路由-CSDN博客
2024-09-03 13:55:37
208
原创 std::function<void()> func
对象,该对象可以包装任何可调用对象(函数、函数指针、lambda 表达式等),并且该可调用对象没有参数并返回。提供了一种在运行时动态选择要调用的函数的方法,使得代码更加灵活。在这个例子中,我们将一个普通函数。
2024-08-06 14:03:52
804
1
原创 standby delay for MIXER and DUPLICATING playback threads
【代码】standby delay for MIXER and DUPLICATING playback threads。
2024-06-29 13:26:07
142
原创 repo sync报错packages/services/Car/: prior sync failed; rebase still in progress
删除rm -rf ../../../../../.repo/projects/android-13.0.0_r24/ecarx/packages/services/Car.git。再回到repo的路径下,重新sync ok。
2024-06-06 11:22:27
465
原创 C++函数的默认值参数介绍
C++中,可以为函数的参数设置默认值,这样当在函数调用中若不指定实际参数时,默认参数将传递给形参。默认值参数使得函数调用更加简洁方便,在某些情况下可以减少代码量。默认参数是在C++11标准中引入。、默认参数的定义顺序自左向右,如果设置了一个默认值,那么右边所有参数都要设置默认值,否则报错。指定默认值的参数必须位于形参列表最右端,从右往左,或者说必须最后。例1、函数参数的默认值可以在函数声明中提供的例子。、函数参数的默认值可以在函数定义中提供的例子。C++函数的默认值参数介绍。C++默认参数的规则。
2024-03-04 22:01:54
921
原创 C语言之static关键字详解
C语言之static关键字详解_c语言static-CSDN博客1.变量2.局部变量和全局变量3.变量的作用域4.变量的生命周期二、static关键字的作用三、static关键字修饰局部变量四、static关键字修饰全局变量 五、static关键字修饰函数
2024-02-23 19:02:36
407
原创 对数组赋值的4种方法
https://wenku.baidu.com/view/9842f9473269a45177232f60ddccda38376be1db.html?_wkts_=1692875037793&bdQuery=%E6%95%B0%E7%BB%84+%E8%B5%8B%E5%80%BC
2023-08-24 19:06:01
2432
原创 指针函数和函数指针
C语言中的指针和函数是其核心特征之一。它们能够提供强大的灵活性和扩展性,对于C语言程序的开发非常重要。在C语言中,还有两个与指针和函数有关的概念需要进一步了解,即函数指针和指针函数。
2023-08-18 15:18:21
250
原创 C++ STL vector添加元素(push_back()和emplace_back())详解
知道,向 vector 容器中添加元素的唯一方式就是使用它的成员函数,如果不调用成员函数,非成员函数既不能添加也不能删除元素。这意味着,vector 容器对象必须通过它所允许的函数去访问,迭代器显然不行。在 《》一节中,已经给大家列出了 vector 容器提供的所有成员函数,在这些成员函数中,可以用来给容器中添加元素的函数有 2 个,分别是 push_back() 和 emplace_back() 函数。
2023-08-03 17:30:37
1584
原创 C/C++中的%d,%u,%zu的差异
zu输出size_t型。补充:如果%zu不能使用,可以用%u取代。%zu,%u不能输出负数。%lld 64位长整数(long long)一个是整型,一个是无符号整型(无法打印负数)。%e 浮点/双字 (科学计算)%.*s Pascal字符串。%llu 无符64位长整数。%f 浮点/双字。%x, %X 二进制整数。%o 八进制整数。%g 浮点/双字。%s C 字符串。%Lf 64位双字。%u 无符整形。
2023-07-28 14:48:23
9863
1
原创 c++中的struct和class的区别
中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。2.访问权限:struct默认的成员变量访问控制权限是public,而class默认的成员变量访问权限则为private。1.继承权限:struct默认为public,而class默认的为private。5. C++中的 struct 和 class 基本是通用的。
2023-04-25 16:36:01
1045
原创 c++命名空间和include
C++中引入了名称空间,使用类时,必须指定是哪个空间的类,在这个问题上,string类属于标准库空间std,所以必须声明使用哪个空间的string类。//不光要加头文件,和C语言不同。//还要加using。
2023-04-20 11:38:26
514
原创 编译出现-Werror,-Wunused-const-variable
这个没有啥多少的,人狠话不多直接上解释:Wall:编译阶段显示所有警告。Werror:将所有的警告当成错误进行处理,使出现警告时就停止编译,这种错误是最常见的。
2023-04-18 11:08:58
2382
原创 C++命名空间
2、为了解决 C++ 标准库中的标识符与程序中的全局标识符之间以及不同库中的所有标识符之间的命名冲突. 标准 C++ 库的所有标识符都定义在一个名为 std 的命名空间中. 在程序中用到 C++ 标准库时, 使用 std 作为限定.一般方法: 引用命名空间成员时, 用命名空间名对名命名空间成员进行限定, 以区别同名标识符. (命名空间::命名空间成员名)命名空间的作用是建立一些互相分隔的作用域. 把一些全局实体分隔开来, 以免产生名字冲突.5、命名空间成员的方法。
2023-04-17 11:33:22
387
原创 C/C++ 指针数组
此时,定义array数组,数组有6个元素,元素是int*类型;那么,数组元素是指针类型的数组,我们称为:指针数组。可以看到,在数组名前面的“数据类型”,就是定义了数组存放元素的类型。那么,如果我们要把指针变量p存放到一个数组里面,那么,数组元素的类型就是指针变量类型。此时,定义一个数组,数组中元素的类型是“数据类型名*”,是一个指针类型。//定义数组,数组有6个元素,元素是double类型;//定义数组,数组有6个元素,元素是char类型;//定义数组,数组有6个元素,元素是int类型;
2023-04-13 17:42:14
188
原创 char * 和const char *的区别
当指向字符串(常量)时,const char*和char*是没有区别的,但是const char*能更为显示地通过 const 提醒你不能通过指针对常量字符串进行修改,char* 也不能对字符串常量进行修改,但是没有显示的写上const,两者在使用上是一样的。为什么const char*就是针对字符串是用的呢,因为这是一个常量指针,字符串是常量,而且是存储在系统负责管理的常量存储区中的,编译器无权对其进行修改。对传入的参数,不会对指针指向的内容进行修改。char*指针指向的内容是可以改变的,是不固定的。
2023-02-27 15:41:35
6258
原创 查看内存分配情况
可以让您了解应用在一段时间内的表现,包括应用在后台运行的时长以及在该期间内的内存占用情况。它可以帮助您快速找到应用中的低效环节和不当行为(如内存泄漏),这些问题可能会影响应用的表现,特别是在低内存设备上运行时。其状态转储会显示有关每个应用的运行时间、按比例分摊的内存大小 (PSS)、独占内存大小 (USS) 和常驻内存大小 (RSS) 等统计信息。如以下示例所示,输出会显示应用运行时间的百分比,以及相对样本数量的 PSS、USS 和 RSS (您可以通过两种方法检查应用的内存占用情况:使用。
2023-02-24 15:44:35
767
原创 C语言的access函数的用法
ENOENT:路径名中的目录不存在或是无效的符号连接。ELOOP : 解释路径名过程中存在太多的符号连接。EACCES: 文件或路径名中包含的目录不可访问。ENOTDIR: 路径名中当作目录的组件并非目录。检查调用进程是否可以对指定的文件执行某种操作。F_OK 测试文件是否存在。X_OK 测试执行许可权。EFAULT: 路径名指向可访问的空间外。R_OK 测试读许可权。W_OK 测试写许可权。ENOMEM: 不能获取足够的内核内存。mode:需要测试的操作模式。
2023-01-13 16:56:47
1535
原创 C/C++ 字符指针指向字符串的几种方法
字符指针指向字符串的方法由于字符串在内存中连续存储的特点,可以使用指针进行操作,并且指针必须是字符型的。通常将指针指向字符串的首地址,利用指针的后移可以指向后续字符。
2023-01-13 11:25:53
8482
原创 new和malloc的区别
/执行完该语句后,p变成了不确定的指针,在很多机器上,尽管p值没有明确定义,但仍然存放了它之前所指对象的地址,然后p所指向的内存已经被释放了,所以p不再有效。当操作系统收到程序的申请时,就会遍历该链表,然后就寻找第一个空间大于所申请空间的堆结点,然后就将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。void* 表示未确定类型的指针。空指针,其实空指针只是一种编程概念,就如一个容器可能有空和非空两种基本状态,而在非空时可能里面存储了一个数值是0,因此空指针是人为认为的指针不提供任何地址讯息。
2023-01-09 19:42:33
450
原创 结构体指针数据 指针数组 数组指针
p+i是一维数组a[i]的地址,即p+i==&a[i];对该式两边作取内容运算(*)得*(p+i)==a[i],由于二维数组中a[i]==&a[i][0],则*(p+i)表示a[i][0]的地址,即*(p+i)==&a[i][0];注:因为数组指针对于一维数组的使用比较尴尬,对于一维数组,建议使用指针数组比较方便,这里只涉及到关于二维数组与数组指针的知识!这里a是个二维数组的数组名,相当于一个二级指针常量;它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身的大小决定,每个元素都是一个指针。
2022-12-14 11:28:10
727
原创 音频相关的概念以及释义
tream,strategy,device,output,flag以及playbackthread之间的关系?-->以output为句柄保存playbackthread;-->将stream进行分类,属于哪一strategy。-->根据output确定playbackthread。-->根据strategy确定播放的设备device。-->根据flag创建playbackthread。-->根据device,flag确定output。-->把声音数据传给这个thread。
2022-11-30 10:05:33
133
原创 使用Android adb来播放音视频
(/storage/sdcard0/Music/hello.mp3为音乐地址)/mnt/sdcard/DCIM/Camera/test.3gp为视频文件地址。/mnt/sdcard/DCIM/Camera/test.3gp为视频文件地址。(/sdcard/timian.mp3为音乐地址)还可以对屏幕进行操作,模拟按键。3、关闭可以采用杀死进程的方式进行。
2022-11-15 14:50:34
3379
原创 java判断相等的方法
是我们来看一下String类,它继承了Object类中equals()方法,但却重写了equals()方法,它首先和自己本身作比较,若相等则 返回true,然后在判断它是否属于String类型,若是,则依次比较字符串每个位置上的字符是否相等。首先会判断两个字符串的引用是否相等,也就是说两个字符串引用是否指向同一个对象,是则返回true。直接使用”==”就行了,相等返回true,否则,返回false。
2022-11-08 19:55:11
4967
原创 linux修改文件/目录所属的用户和组
当然,chown 命令也支持单纯的修改文件或目录的所属组,例如 chown :group install.log 就表示修改 install.log 文件的所属组,但修改所属组通常使用 chgrp 命令,因此并不推荐大家使用 chown 命令。因此,建议大家使用冒号连接所有者和所属组。在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。chown 命令,可以认为是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。
2022-11-01 19:41:18
10391
原创 strstr()和strtol()函数的用法
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
2022-10-13 15:07:03
461
原创 Java带返回值的定义和调用
格式:public static 数据类型 方法名(参数){return 数据}数据类型必须和数据是同一类型范例:}
2022-09-27 10:51:01
894
原创 java字符串截取
1、通过subString()方法来进行字符串截取(最常用)2、通过StringUtils提供的方法。3、split()+正则表达式来进行截取。
2022-09-05 21:55:21
848
针对andoroid P(9) BT framework架构、状态机的学习指南
2021-12-02
在mini2440裸板上韦东山lcd裸板实验
2016-04-21
mini2440_lcd_x35驱动的移植体会
2016-04-18
Qt软键盘代码
2015-11-25
测试audio上下行的时延
2023-09-07
不同samplerate 8k、32k、48k,位深16bit 单声道pcm和wav音频测试文件
2022-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人