- 博客(4)
- 收藏
- 关注
原创 Android studio 引用动态库并生成动态库
1、在cmakelist中加入 要引用的动态库add_library( libflag //1、 引用的so 动态库标志,可以随意填一个,但4与1保持一致 SHARED //2、 表明这是一个动态库,STATIC则为静态库 IMPORTED) //3、 表明这动态库是从外部引入的set_target_properties( libflag //4、引用的so 动态库标志,可以随意填一个,但4与1保持一致
2022-03-01 16:02:41
3269
原创 C与C++程序混合编程的一点经验总结
最近有个比较特殊的项目,主要工作是将原本依赖于C底层的应用代码,用一个中间解释层移植到C++底层中去,尽量保证C应用层做尽量少的改变。由于之前没有这方面的经验,一开始还是很遇到了一些坑,这里记录下遇到的两个主要的坑。一、任何将后缀为.c的文件改为.cpp的行为,都会导致编译器改变对该文件的编译方式由c语言编译方式改为c++编译方式。很容易出现的一个错误是:文件中原本包含的头文件,会无休止的报错,使用的c标准库的接口,也会无休止的莫名其妙报错,不甚烦恼。所以,如果文件中应用到了很多c标准库的头文件
2021-11-22 11:34:41
617
原创 JNI层消息交互的注意事项
这段时间负责公司一款车载检测产品的平台开发和维护工作。这款产品的工作模式是通过手机端的应用与插在车上的车机设备通信,来实现一些功能。手机端代码实现上是将公司的C代码的应用移植到手机应用上,以动态链接库的方式,通过JNI层与java层交互。产品研发和测试已经接近尾声,但是应用在测试中还是发现存在极个别的情况下接收数据失败的问题。通过几天的查找,已经完全排除了接头端的问题,也排除了C应用端的问题,那么主要问题就可能出在JNI层了,通过在jni层中加log,发现确实是存在问题,具体问题如下:1、java通
2021-11-04 08:53:42
215
原创 stm32 程序复位和跳转
一、设置内核控制寄存器 core control register __set_CONTROL(0);二、关闭所有中断__disable_interrupt();三、复位 在应用中断和复位控制寄存器中写入0x5fa0004 代码: *((volatile uint32_t *)0xE000ED0C) = 0x05fa0004;四、跳转 1、获取要跳转地址的栈顶地址 SpInitVal = *(uint32_t *)dwJumpA...
2021-10-21 14:42:34
3162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人