JNI使用过程记录,Java调用C++函数,JNI层使用和实例化Java对象

近期提供给JAVA应用使用的编解码协议库,需求就是编码的字符串,需要解码为Java对象;回应消息的Java对象,需要编码为指定格式的字符串,把模板代码总结下,主要涉及几个点:1、在JNI层找到Java对象,及其属性变量的值,然后转换为JNI层的内存数据;2、在JNI层实例化Java对象,并设置这个Java对象的属性变量,并返回这个Java对象;示例代码如下:Java对象 public&n
阅读全文

结合多种系统api来理解堆栈的概念

数据结构中栈具有后进先出的特点,我们提到堆和栈空间的时候,指的是数据在内存中的概念,对栈空间,基本的认知包括:1、栈空间通常用来存放临时变量、参数,寄存器等数据;2、栈空间不能被多个函数共享,只能使用堆内存进行不同函数间的数据共享;3、栈空间有限,所以编码规范中通常定义函数的形参建议不超过6个,多了建议使用数据结构;      临时变量也不能想创建多少就创建多少,特别
阅读全文

从KMIP编解码库libkmip的代码学到的编解码代码框架

所谓的编码,就是将数据结构的结构体对象编码为指定协议标准的二进制流,而所谓解码,则是将二进制流解析出对应的结构体对象;比方RTP Payload一直都长的一样,所以一个数据结构就能定义了;如果需要同一套协议,承载不同结构的payload的情况,KMIP的实现提供了一套通用的代码框架,值得参考和学习;
阅读全文

用工具脚本生成模板代码记录

这次项目的需求有大概20个命令,需要根据协议来实现不同payload的编码和解码函数,抽象出来每个命令有相似的代码结构,如果每行都用键盘敲打确实是低效,所以考虑用脚本先生成一个代码模板,然后逐个填空实现对应的方法,也算是一个小的尝试!以前的一个同事,闲暇之余就爱写小工具提升工作效率,完全自驱自发的行为,有同事觉得刚好有需求就分享出来,这种感觉还是很奇妙的,也是我蛮佩服的一类人!
阅读全文

一个基于Go语言实现的组团学习网站,代码已开源

测试站点:https://pub6.top/ 代码提交 github: https://github.com/twoconk/pub6.git 开放的代码对于理解gf框架,练习Go语法是足够的,总结的话,主要有几点:1. 第一个是数据库操作,关联表查询;2. 用户token认证;3. 应该是session context数据共享,但并没有深入去用;4. 前端layui数据共享,
阅读全文

C程序反编译成汇编代码命令整理

最近使用三方的一个工程, 但是有些逻辑封装成了lib库,关键地方看不到是不是很难受, 所以顺带找了找反编译的方法,反编译出来的代码是汇编代码,比方ANTHOR_MEASURE的代码,但多少能猜的八九不离十吧,知道调用了哪些方法,参数是什么,也就够了,也不算是逆向工程,做了简单记录;
阅读全文

前端网页框架layui的使用小结

总结一点就是,有基础框架做任何事情都能顺利很多,感谢layui的共享!layui作为前端页面的基础框架,写几个小页面的几点零碎处理
阅读全文

基于DW1000的DWR双向测距调测记录

好久没写嵌入式代码,最近碰到两个数组越界导致程序行为异常的问题,调了近两天,才找到真正的原因,改到开始怀疑人生,到最后柳暗花明,怎么说呢,事出蹊跷必有因!由于有基线版本,并且基线版本功能是正常的,碰到这种问题,当然先是排除自己的问题(或许是错的,应该先摘除基线版本的问题)!我先把我增加的代码中涉及数组操作的都仔细的滤了一遍,没有发现问题!考虑那就正面刚,先定位问题,所以一通屏蔽代码后,得出的结论是
阅读全文

凯撒密码的C语言实现,加解密字节流数据

字母表就像是密码本,所以凯撒加密算法本质上是一种基于密码本的加解密算法,如果字母表换成255个数字,则可以支持对字节流数据进行加解密,应用到网络通信,改进版的凯撒密码二进制加解密算法,可以应用到嵌入式设备等性能较低的设备上
阅读全文

Go语言学习(四)

这次关注的主题比较多:包括空接口、类型转换、并发编程和网络编程!Go语言推荐更高层次的并发编程哲学:通过管道来传值;虽然像引用计数这类简单的并发问题通过原子操作或互斥锁就能很好地实现,但是通过Channel来控制访问能够让你写出更简洁正确的程序。
阅读全文
首页 123 末页 共 29 条记录