自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

海月汐辰

日拱一卒无有尽 功不唐捐终入海

  • 博客(677)
  • 资源 (37)
  • 收藏
  • 关注

原创 2024-09-10 linux uart串口外面发送过来的是0x0d,但接收的都是0x0a,解决方法:禁用 ICRNLtty.c_iflag &= ~(ICRNL | INLCR | IGNCR)

工具查看或修改串口的终端参数。

2024-09-10 19:11:27 239

原创 2024-09-06 用adb把一个文件push到linux设备里,明明已经看到有这个so库了,但是重启之后这个so库就变为0字节。sync命令会强制所有挂载的文件系统将内存中的修改数据块写入磁盘。

一、现象如下:sync。

2024-09-06 16:08:01 217

原创 2024-08-31 Linux bug调试记录,linux 驱动里面kthread_run 打开一个内核线程里面如果使用 mdelay 会导致系统崩溃,使用ssleep msleep代替

是一个忙等待(busy-wait)函数,它在延迟期间占用CPU资源,不进行任何实际工作,这会阻止其他任务的执行,特别是当它在队列处理循环中使用时。如果队列处理循环是一个高优先级的任务,它可能会阻止低优先级任务运行,从而导致系统整体响应变慢甚至挂起。例如,如果延迟是为了等待硬件状态变化,考虑使用中断或轮询硬件状态,而不是使用延迟函数。在设计内核驱动时,应尽量避免使用忙等待,以免影响系统的整体性能。: 如果你在等待某个事件的发生,可以使用这些等待队列函数。为了避免这种情况,你应该考虑使用不同的方法来实现延迟。

2024-08-31 17:33:06 337

原创 2024-08-26 C语言在程序里面使用system() 函数执行一个shell脚本,如何获取shell脚本的exit的返回值,使用這個來加載WIFI驅動模塊。

一、system()

2024-08-26 18:58:42 211

原创 2024-08-22 buildroot linux 使用wpa_supplicant -B -i wlan0 切换WIFI 设备之后无法上网的问题。解决方法,使用udhcpc -i wlan0 命令

【代码】2024-08-22 buildrootlinux 使用wpa_supplicant -B -i wlan0 切换WIFI 设备之后无法上网的问题。解决方法,使用udhcpc -i wlan0 命令。

2024-08-22 19:52:08 180

原创 2024-08-21 Linux 可以指定某个网络设备来进行 ping 操作。你可以使用 -I 选项来选择网络接口,I就是interface接口的意思。ping -I wlan0 8.8.8.8

ping-I。

2024-08-21 19:08:22 138

原创 2024-08-16 Android studio Clean project如何把子模块的build 目录也clean, 增加 delete subproject.buildDir

【代码】2024-08-16 Android studio Clean project的时候如何把子模块的build 目录也clean。

2024-08-16 12:24:29 245

原创 2024-08-15 调试中发现 linux spi 驱动通过spi_write 或者 spi_sync 最多只能写0XFFFF 个字节,提供解决方案。

【代码】2024-08-15 调试中发现 linux spi 驱动通过spi_write 或者 spi_sync 最多只能写0XFFFF 个字节,提供解决方案。

2024-08-15 20:03:01 231

原创 2024-08-12 socket 通信客户端断开连接时服务端还在write的话会导致程序崩溃,用gdb 运行看详细log,Thread received signal SIGPIPE, Broken

使用gdb 去运行看详细的log。

2024-08-12 10:07:58 316

原创 2024-08-09 C语言Socket 把一个的结构体占用的字节值发到android java 里面,用jni的形式解析里面的变量,然后再把数据返回到java层

2.3 Java 代码调用 JNI 方法,在 Java 端调用 JNI 方法,并接收返回的 ImageHeader 对象。3.4 运行结果如下,解析出来的数据跟我用另外一种方法解析出来的值是一样的,说明一切OK。2.2 jni 函数,确保 JNI 方法签名与 Java 构造函数匹配。2.1 ImageHeader类。3.2 ImageHeader类。3.3 java 调用。

2024-08-09 10:57:08 163

原创 2024-07-31 Android studio gradle、sdk、ndk 等路径记录

一、gradle的下载路径:C:\Users\user\.gradle\wrapper\dists二、NDK下载路径C:\Users\user\AppData\Local\Android\Sdk\ndk三、SDK下载路径:C:\Users\user\AppData\Local\Android\Sdk\platforms

2024-07-31 18:19:46 292

原创 20240730 Linux 一个libxxx.so库,把这库名改成libfuckyou.so,Makefile CFLAGS += -lfuckyou ,可执行文件运行还是会去寻libxxx.so

patchelf。

2024-07-30 10:18:18 198

原创 2024-07-24 buildroot c语言应用获取 kernel kobject_uevent_env 发送的消息,侦测USB口变化。

3.1 kernel 使用kobject_uevent_env 发送信息。3.2 c语言app代码。

2024-07-24 16:06:12 440

原创 2024-07-24 Linux C語言使用inotify进行文件变化检测

inotify。

2024-07-24 10:10:28 426

原创 2024-07-20 如何在Android系统里面的PATH变量增加一个路径,增加一个LD_LIBRARY_PATH变量?

一、adb 进入系统后 busybox vi /system/etc/init/hw/init.rc 在on init里面修改二、重新开机运行查看系统环境变量,发现PATH环境变量没有变化,应该是另外一个地方赋值了,分析一下没有找到,算了。

2024-07-20 15:26:14 213

原创 2024-07-20 Android java 判断是否有usb camera 设备,一般USB视频设备类代码为239,接口的类代码为 USB_CLASS_VIDEO (0x0e)

【代码】2024-07-20 Android java 判断是否有usb camera 设备,一般USB视频设备类代码为239,接口的类代码为 USB_CLASS_VIDEO (0x0e)

2024-07-20 10:50:06 262

原创 2024-07-17 Android studio 提示libuvccamera:ndkBuild 2/ndk-build.cmd‘‘ finished with non-zero exit

【代码】2024-07-17 Android studio 提示libuvccamera:ndkBuild 2/ndk-build.cmd‘‘ finished with non-zero exit。

2024-07-17 09:58:58 296

原创 2024-07-09 Linux 使用gpio-keyboard标准方式获取按键事件实例代码

【代码】2024-07-09 Linux 使用gpio-keyboard标准方式获取按键事件实例代码。

2024-07-09 19:43:40 242

原创 2024-07-09 如何要让 Linux 驱动模块(.ko 文件)加载时接受参数,并在驱动模块内部解析这些参数,使用module_param_string形式

【代码】2024-07-09 如何要让 Linux 驱动模块(.ko 文件)加载时接受参数,并在驱动模块内部解析这些参数,使用module_param_string形式。

2024-07-09 19:00:50 180

原创 2024-07-09 buildroot 上面调试usb蓝牙模块最常用的命令 hciattach hciconfig hcidump ,记录调试蓝牙模块可以搜索到设备的过程,算是调试蓝牙的第一步。

我这里编译会遇到找不到wordexp.h,解决方法是把buildroot-2023.02.6/output/build/bluez5_utils-5.65/android/compat/wordexp.h 复制到编译器tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/arm-rockchip830-linux-uclibcgnueabihf/sysroot/usr/include/wordexp.h。

2024-07-09 16:33:16 559

原创 2024-07-04 linux 两个lib目录下有同样文件名的动态链接so库,程序会调用哪个呢?使用 strace -e 命令查看,LD_LIBRARY_PATH变量路径会先于/usr/lib路径。

也就是说LD_LIBRARY_PATH里面的变量路径会先于/usr/lib/路径。

2024-07-04 10:57:08 168

原创 2024-07-03 java Bitmap写图像rgba数据使用setPixel和setPixels的时间对比,setPixels方法一次性设置像素会比setPixel快得惊人,相差三百多毫秒。

【代码】2024-07-03 java Bitmap写图像rgba数据使用setPixel和setPixels的时间对比,setPixels方法一次性设置像素会比setPixel快得惊人,相差三百多毫秒。

2024-07-03 15:17:12 278

原创 2024-07-01 Linux xxd命令上查看或创建16进制的命令行工具。可以将二进制文件的内容以十六进制格式显示,将十六进制格式的数据转换回二进制文件。xxd 可以生成适合包含在C代码中的C数组

【代码】2024-07-01 Linux xxd命令上查看或创建16进制的命令行工具。可以将二进制文件的内容以十六进制格式显示,将十六进制格式的数据转换回二进制文件。xxd 可以生成适合包含在C代码中的C数组。

2024-07-01 18:53:08 188

原创 2024-06-28 buildroot Makefile 文件ifeq 前面能有空格吗?ifeq 前面不能有空格。ifeq 是一个指令,必须从行首开始,否则会被解释为命令或规则的一部分,导致语法错误

是一个指令,必须从行首开始,否则会被解释为命令或规则的一部分,导致语法错误。

2024-06-28 10:43:41 144

原创 2024-06-20 在 Buildroot 系统中,使用reboot loader 并未进入烧录模式的解决方法,重启前在文件系统中创建一个文件来存储参数,然后内核重启时读取这个文件并做相应处理。

定义的系统调用函数在用户空间程序调用对应的系统调用时被触发。例如,当用户空间程序调用。3.3 运行实际效果,执行my_reboot loader时候会进入烧录模式。3.2 修改kernel 下面的驱动reboot.c。3.1 编写一个my_reboot.c 系统应用。系统调用时,最终会执行内核中由。

2024-06-20 18:51:33 374

原创 2024-06-14 ARM Ubuntu 22.04.3 串口无密码登录设置,修改/usr/lib/systemd/system/serial-getty@.service服务ExecStart

agetty。

2024-06-14 11:44:08 378

原创 2024-06-14 ubuntu 简单易用的文本编辑器nano 一些常用方法

通过掌握这些常用方法和快捷键,您可以更高效地在 Ubuntu 上使用 Nano 编辑文本文件。显示 Nano 的帮助文档,其中包含所有快捷键及其功能。如果文件有未保存的更改,Nano 会提示您是否保存。Nano 支持多种语言的语法高亮,可以通过编辑。如果文件不存在,将会创建一个新文件。显示当前光标位置(行和列)。以确认文件名并保存。

2024-06-14 11:32:10 834

原创 2024-06-07 使用Android辅助功能AccessibilityService 进行自动化测试demo,可以获取目标app的控件id,输入内容以及自动点击按钮

要使用 AccessibilityService,你需要创建一个继承自 AccessibilityService 的服务类,并在 AndroidManifest.xml 文件中声明该服务。因此,在使用 AccessibilityService 时,你需要确保用户已经授权你的应用程序,并且在用户关闭辅助功能时及时停止服务,以避免不必要的资源消耗。此外,AccessibilityService 还可以模拟用户的操作,例如点击、滑动、输入等,以便实现一些自动化的操作。

2024-06-07 19:18:39 1035

原创 2024-06-06 C语言结构体成员变量位域(bit-field)的使用,它允许我们有效地利用数据存储空间,将多个逻辑上相关的小数据放在同一个字节中

的宽度为 3 位,因为它后面紧跟着冒号和数字 3,这表示该成员变量只占用 3 个位。这种语法被称为位域(bit-field),它允许我们有效地利用数据存储空间,将多个逻辑上相关的小数据放在同一个字节中。的位域宽度为 3,意味着它可以存储的数值范围是 0 到 7(2^3 - 1)。根据具体的应用场景,这 3 位可以用来表示不同的状态、类型或者标志位等信息。mipi 和 type是共用在一个字节里面。

2024-06-06 11:34:31 437

原创 2024-06-05 Android app jni里面c语言函数申请的局部变量数组过大会导致程序崩溃的问题分析

不同操作系统和编译器对栈大小有不同的默认限制。例如,在Linux系统上,栈大小通常是8 MB,而在Windows系统上,默认栈大小通常是1 MB。由于栈空间是有限的,分配过大的局部数组可能导致栈溢出(stack overflow),导致程序崩溃。因此,分配局部数组时需要谨慎。4.3 点击增加1M,2072-1048=1024 ,到了7192后再加的时候app会crash。:不同的编译器可能对局部变量大小有不同的限制,但这通常是次要的,主要的限制还是系统的栈大小。局部变量通常分配在栈上。

2024-06-05 15:01:34 309 1

原创 2024-05-30 ARM32编译器编译neon汇编代吗 Error: selected processor does not support `vrshrn.i16 d0,q1,‘ in ARM

使用arm-xxxxxx-gcc -Q --help=target 命令查看。,发现编译器的默认值不是neon。

2024-06-02 00:00:00 157

原创 2024-05-30 Ubuntu创建一个 systemd 服务来实现开机自动运行 C 程序,使用sudo tail -f /var/log/syslog查看log,syslog 是标准的日志记录系统

systemd是现代 Linux 系统中管理系统和服务的工具。你可以创建一个 systemd 服务来实现开机自动运行 C 程序。

2024-05-30 11:49:59 262

原创 2024-05-28 Android app java 根据SOF0(Start of Frame 0 帧图像起始)图像基本信息判断jpeg是gray灰度图还是YCbCr/YIQ 彩色图(包含yuv)

图像高度:0x0100=256 图像宽度:0x0500=1280,分量数量(Number of Components)是0x01,说明是灰度图。指定了图像中颜色分量的数量。每个分量描述了一个颜色通道,通常是 Y、Cb、Cr 或者灰度图像中的 Y 通道。这个字段后面跟着每个分量的详细信息。

2024-05-28 14:33:58 192

原创 2024-05-21 C语言fopen打开文件不使用fclose关闭会导致程序文件描述符耗尽,导致程序崩溃

【代码】2024-05-21 C语言fopen打开文件不使用fclose关闭会导致程序文件描述符耗尽,导致程序崩溃。

2024-05-21 15:23:30 334 1

原创 2024-05-20 C语言中,一个可执行程序修改了动态链接库so中全局变量值,当该可执行程序退出并重新启动时,这个全局变量的值会恢复为初始值。两个可执行程序同时修改动态链接库里的全局变量,互相不影响

每个运行的可执行程序实例都会在其自己的地址空间内有一份动态链接库的加载副本。这意味着当两个不同的进程加载同一个动态链接库时,它们操作的是物理内存中的同一份代码(如果操作系统支持代码共享),但是每个进程的全局变量副本通常是独立的。分别修改同一动态链接库中的同一全局变量时,每个进程只会影响到其自己地址空间中的那份全局变量副本。)同时修改同一个动态链接库中的全局变量时,这个变量的值将取决于两个程序对该变量修改操作的相对时序和方式。因此,重新启动程序后,动态链接库中的全局变量值将恢复为编译时设定的初始值。

2024-05-20 11:12:18 449

原创 2024-04-16 使用C语言把FMT_YUV400SP (gray8)/* YYYY... */格式的数据转换为 JPEG 文件

中,只有一个平面,即亮度平面(Y)。这意味着每个像素只有一个亮度值灰度图像或单通道图像,例如黑白摄像头捕获的图像或某些图像处理操作的中间结果。格式的数据转换为 JPEG 文件,您可以使用一些库来处理图像编码和文件写入。在 C 语言中,您可以使用像 libjpeg 这样的库来实现这个任务。是一种仅包含亮度分量的图像格式,没有色度分量,通常用于表示灰度图像数据。以下是一个简单的示例,演示了如何使用 libjpeg 库将。格式的数据转换为 JPEG 文件。

2024-05-16 15:58:09 185 1

原创 2024-05-10 C语言使用开源的JPEG解码库libjpeg 读取JPEG文件并将其解码为RGB24格式的数据

2.3 测试运行效果,使用ffplay -pixel_format rgb24 -video_size 588x776 -i rgb_data.rgb 显示出获取到rgb数据。2.1安装了libjpeg-dev包。

2024-05-10 11:43:36 605

原创 2024-05-10 Ubuntu上面使用libyuv,用于转换、缩放、旋转和其他操作YUV图像数据,测试实例使用I420ToRGB24

【代码】2024-05-10 Ubuntu上面使用libyuv,用于转换、缩放、旋转和其他操作YUV图像数据,测试实例使用I420ToRGB24。

2024-05-10 11:07:23 750

原创 2024-05-09 Ubuntu上面用ffmpeg把jpeg图像转成yuv、rgb格式文件,通过ffplay命令显示这些文件成图像,了解一下I420 YV12 NV12 NV21 的存储方式

yuv420sp(NV12)格式。yuv420p(I420)格式。rgba8888格式。

2024-05-09 17:41:32 474

原创 2024-05-06 Linux shell 脚本中往一个文件里写入多行内容的方法 使用 Here Document(文档内嵌)cat <<EOF > filename.txt EOF

【代码】2024-05-06 Linux shell 脚本中往一个文件里写入多行内容的方法 使用 Here Document(文档内嵌)cat <<EOF > filename.txt EOF。

2024-05-06 10:14:33 576

使用Android辅助功能AccessibilityService 进行自动化测试demo 源码

使用Android辅助功能AccessibilityService 进行自动化测试demo,可以获取目标app的控件id,输入内容以及自动点击按钮.

2024-06-07

2012-12-12 下载ndk编译出so和可执行文件,放到android 真机运行

下载ndk编译出so和可执行文件,放到android 真机运行。

2023-12-12

2023-06-16 Android app 使用opencv 调用jni在图片上添加文字,对图片进行模糊处理,源码实例学习

2023-06-16 Android app 使用opencv 调用jni在图片上添加文字,对图片进行模糊处理,源码实例学习。

2023-06-16

2023-06-16 Android Studio 使用CMakeList编译JNI ,源码

2023-06-16 Android Studio 使用CMakeList编译JNI ,源码,直接build build apk直接一部编译成apk

2023-06-15

2023-03-25 android app 用经典蓝牙socket方式数据传输实例

具体看https://blog.csdn.net/qq_37858386/article/details/129768181

2023-03-25

Android APP 用interface 接口的形式对jni进行回调,实例测试

Android APP 用interface 接口的形式对jni进行回调,实例测试

2022-09-28

Android app 使用android-serialport-api 实现串口通信 源码

Android app 使用android-serialport-api 实现串口通信 源码

2022-07-23

AndroidStudio-NDK开发 编译c代码提供so库和jar包 另外一个app调用,实例源码

AndroidStudio-NDK开发 编译c代码提供so库和jar包 另外一个app调用,实例源码

2022-07-22

Android 源码里面添加一个系统app,最简单的app demo实例

Android 源码里面添加一个系统app,最简单的app demo实例。

2022-02-22

hello_hidl.rar

1、AndroidR HIDL服务实现应用层到HAL层通信实例。 2、详细介绍https://blog.csdn.net/qq_37858386/article/details/120989600。

2021-10-27

es7243调试资料.zip

es7243调试资料

2021-06-07

iperf-2.0.5-master.zip

1、Android 网络性能测试工具iperf 工具源码 2、把该源码放到路径android sdk路径external路径下然后mmm external/iperf-2.0.5-master 就可以编译出arm可执行bin 文件iperf了。

2021-05-22

frameworks_services_jni_hardware_kernel.zip

Android 理解frameworks services jni hardware kernel 整个控制过程实例包括回调 包含app demo 和底层驱动。

2021-04-27

RK3288 Android7.1 USB wifi bluetooth 模块RTL8821CU 调试资料.zip

RK3288 Android7.1 USB wifi bluetooth 模块RTL8821CU 调试记录

2021-04-12

Android Studio 生成JAR包和调用JAR包方法 demo

1、Android Studio 生成JAR包和调用JAR包方法。 2、Android Studio 4.1.2

2021-03-08

RK3288-Android7.1-华为移远域格4G模块调试记录所有文件.zip

1、RK3288-Android7.1-华为移远域格4G模块调试记录所有文件 2、包含域格、移远和域haiwei的so库。 3、目前测试CLM920 MU909 EC25

2021-01-08

binder.zip

1、Android Binder 进程通信应用实例 2、Android 基于linux内核开发,linux内核提供丰富的进程通信机制,如pipe、signal、message、share memory、socket,但android采用新的进程间通信机制binder。相比之下binder进程通信机制在传输数据时候只执行一次copy,效率高而且节省内存。

2020-11-04

static_library_demo.zip

1、Android 编译成静态编译库a以及调用实例,包含C源码。 2、在android真机运行测试ok。

2020-11-02

android_app_server_demo.zip

Android 简单后端服务器的搭建方法 1.android后端服务器搭建,需要用到 jsp+java+tomcat。 2.简单发生和接受数据。

2020-10-22

2020-10-20 Ubuntu 16.04安装配置Samba服务每个用户可以用自己的用户名和密码登录自己的home目录以及共享特定的目录配置smb.conf

2020-10-20 Ubuntu 16.04安装配置Samba服务每个用户可以用自己的用户名和密码登录自己的home目录以及共享特定的目录

2020-10-20

jnicallbackdemo.zip

1、jni 回调demo 源码。 2、运行环境android studio。 3、实例测试,不停的往上层回调发送信息,log看很直观。

2020-09-27

analyze_hdmi_edid.zip

1、C语言 解析Hdmi edid 信息数据 源码包。 2、ubuntu环境下编译和运行。 3、EDID: Extended Display Identification Data(扩展显示标识数据)

2020-09-11

nextouch_jni_demo.zip

1、Android:配置NDK并编译JNI文件so库 APP调用jni源码实例 2、app调用jni接口。

2020-09-10

Android 开机自动启动一个Service

Google在更新Android8.0后对Service的权限越发收紧。导致目前想要启动服务必需实现服务的前台化,打开应用才能顺利启动service,否则在服务启动5秒后,系统将自动报错,会弹出一个提示窗口。实际测试得系统的app才能启动service。

2020-08-28

Android APP:开机自动启动app demo 源码 autorundemo.zip

Android APP:开机自动启动app demo 源码 Android启动完成会发出一个系统广播 ACTION_BOOT_COMPLETED,字符串常量表示为 “android.intent.action.BOOT_COMPLETED”,我们要做的是用BroadcastReceiver接收这个消息然后启动该程序。

2020-06-17

settingdatebasedemo.zip

demo的功能一是向setting数据库某个key写value,然后读出来。功能二是侦听settings数据库里面某个key的value,如果改变会有提醒。

2020-06-11

popupwindow_demo.zip

1、PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。 2、实例源码。

2020-05-27

navigationbar.zip

Android 8.1实现底部虚拟按钮NavigationBar的点击隐藏与滑动显示整个过程需要修改的完整代码,包含下面几个完整文件。 frameworks/base/packages/SystemUI/res/values-sw372dp/config.xml frameworks/base/packages/SystemUI/res/values-sw600dp/config.xml frameworks/base/packages/SystemUI/res/values-sw900dp/config.xml frameworks/base/packages/SystemUI/res/values/config.xml frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

2020-04-17

android linux i2c调试工具源码 i2c-tools-3.0.0.zip

1、 Android:i2c调试工具 i2c-tools 2、可以直接在android上编译。 3、或者用目录下的Makefile文件修改一下编译器路径进行编译。

2020-03-26

PreferencexmlDemo.zip

1、使用XML定义Preference。 2、运行环境android studio。 3、此方法有点过时,不太建议使用,但目前还可以用。让Activity继承PreferenceActivity,然后在重写onCreate方法,添加preferences.xml作为显示界面。

2020-01-02

PreferenceDemo.zip

1、使用Fragment 定义Preference 2、运行环境android studio。 3、Preference 是Android app中重要的控件之一,Settings 模块大部分都是通过Preference 实现的,这里将学习preference 使用方法。

2020-01-02

dynamic_register_jni.zip

1、JNI动态注册实例。 2、运行环境是Android studio。 3、动态注册是在JNi层实现的,JAVA层不需要关心,因为在system.load时就会去调用JNI_OnLoad,有就注册,没有就不注册。动态注册的原理:JNI 允许我们提供一个函数映射表,注册给 JVM,这样 JVM 就可以用函数映射表来调用相应的函数, 而不必通过函数名来查找相关函数(这个查找效率很低,函数名超级长)流程更加清晰可控,效率更高.。

2019-12-31

static_jni.zip

1、JNI静态注册实例。 2、运行环境Android studio。 3、静态注册原理:根据函数名来建立 java 方法与 JNI 函数的一一对应关系;在Java虚拟机加载so库时,如果发现含有上面两个宏定义的函数时就会链接到对应Java层的native方法,那么怎么知道对应Java中的哪个类的哪个native方法呢,我们仔细观察JNI函数名的构成其实是:以Java为前缀,并且用“_”下划线将包名、类名以及native方法名连接起来就是对应的JNI函数了。  其实就是:Java+包名+类名+方法名(native方法)

2019-12-31

dianzhen下位机AVRM16代码.zip

一、毕业有九年了,突然想起以前在大学时候用MFC写的一个汉字取模软件。主要的功能是在PC上获取汉字16X16点阵数据然后通过串口把点阵数据发送给AVR单片机点亮点阵。 二、下位机AVR单片机代码。

2019-12-20

MFC写的一个汉字取模软件

1、毕业有九年了,突然想起以前在大学时候用MFC写的一个汉字取模软件。主要的功能是在PC上获取汉字16X16点阵数据然后通过串口把点阵数据发送给AVR单片机点亮点阵。 2、这个是上位机MFC的代码。

2019-12-20

Canvas_draw.zip

1、运行环境android studio。 2、用canvas实现简单画板。 3、可以保存绘制的画板。

2019-12-05

interfaceservicecallback.zip

Android  app:回调方式实现Service向activity传递数据源码 运行环境:android studio

2019-11-21

空空如也

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

TA关注的人

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