logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

java:基于ASM实现.class字节码引用包名重定向的技术解析

最近的工作与aspectj切面技术相关,为了实现零依赖,将aspectjrt包也重定位包名打到项目jar包中,但带来的问题因为aspectj相关包名被重定位了该项目也不能作为切面库使用,所以又想了一个更复杂的方案来解决这个问题,其中就需修改javac编译生成.class文件,将.class字节码中所有引用的aspectj类的包名进行修改重定向到新的包名。在DeepSeek的帮助下,已经实现了需求,

文章图片
#java
erpc(EmbeddedRPC)入门笔记

RPC最近在忙一个IOT设备的项目,想设计一个通信系统通过串口控制设备(freertos)的运行。按照传统的设计思路,先要定义一套串口通信协议,在这套协议中传输层协议、应用层协议一个都不能少。每一层协议都要自己实现。数据编码/解码,数据校验,容错,这些非常基础的东西都要自己实现。等这些协议都实现了,才是能开始设计真正的业务逻辑。和同事商议后,一致认为要是照这么干,黄花菜都凉了。我们的生命不能...

#嵌入式#iot
c++模板:调用模板成员函数需不需要加template关键字?

以下是个简单的模板类测试代码,模板类A中定义了模板函数hello,在模板函数test中调用A::hellotemplate_test.cpptemplate <class T>struct A{template<class I>void hello(){}template<class I>void hello2(I i){}};template <clas

文章图片
#c++
c++11:枚举类型(enum)的前向声明(forward declaration)

在C++11之前,C++标准是不支持枚举类型的前向声明的。我说出这个结论,肯定有用msvc的童鞋不愿意了:口胡,MSVC明明就可以对枚举类型前向声明,下面这样的前向声明在MSVC下好好的,没有任何问题。enum E;是哦,你说的对,MSVC下上面的写法的确是没问题,那因为MSVC提供了这个特征,但放在gcc下编译试试,立即报错:use of enum E without previous...

文章图片
#c++
c,c++:获取当前时区偏移

下面的实现计算当前时区与UTC时间的偏移,#include <stdio.h>#include <time.h>int main(){// 获取系统时间time_t _rt = time(NULL);// 系统时间转换为GMT时间tm _gtm = *gmtime(&_rt);// 系统时间转换为本地时间tm _ltm = *localtime(&_rt);

文章图片
#c语言#c++
c++11:nlohmann::json进阶使用(二)应用adl_serializer解决第三方数据类型(such as uri)的序列化和反序列化

nlohmann::json是非常好用的一个json开源解析库.nlohmann/json的源码是基于C++11标准写的,整个源码就是一个文件 nlohmann/json.hpp,引用非常方便。关于nlohmann/json的基本使用官网(https://github.com/nlohmann/json)上有比较详细的介绍。这里不再赘述,本文主要是介绍在nlohmann/json的基本使用之外一些

文章图片
#json
c/c++:CMakeLists.txt中添加编译/连接选项使用内存错误检测工具Address Sanitizer(ASan)

Address Sanitizer(ASan)是一个快速的内存错误检测工具。从gcc 4.8开始,AddressSanitizer成为gcc的一部分。既然是gcc内置的内存检查工具,用起来比第三方的库更方便些。上述示例中:代码的含义是使用cmake generator-expression(生成器表达式)指定只在编译器为gcc,且操作系统为Linux时增加编译选项同理,也是在编译器为gcc,且操作

文章图片
#c语言#c++
java/poi 调整Excel 列宽支持自适应中文字符宽度

方法计算的列宽是不正确的,算出的宽度不能完整显示中文内容。最近项目中就遇到了这个问题,于是参考网上的各类文章,自己实现了自动适应中文字符宽度的方法。在网还找到另一个实现就是直接用使用字符串的字节长度计算列宽,不需要统计汉字个数,实际测试效果也是一样的。上面的代码中计算汉字数量的方法chineseCharCountOf,为简化实现只统计编译范围在。的2万多汉字,这也是主要使用的汉字,实际汉字unic

文章图片
#java
c++11:nlohmann::json进阶使用(三)使用basic_json模板类

nlohmann::json是非常好用的一个json开源解析库.nlohmann/json的源码是基于C++11标准写的,整个源码就是一个文件 nlohmann/json.hpp,引用非常方便。关于nlohmann/json的基本使用官网(https://github.com/nlohmann/json)上有比较详细的介绍。这里不再赘述,本文主要是介绍在nlohmann/json的基本使用之外一些

文章图片
#json
java:javap查看class文件的JDK版本塈JDK版本与major version(45~55)的对照表

运行 Java 应用程序时,JRE 版本必须与用于编译应用程序的 JDK 版本匹配或更高。当尝试使用较低版本的 Java 运行高版本 JDK编译的应用程序时,就会抛出异常。在本文中,我们将介绍如何通过JDK工具检查class的 JDK 版本。

文章图片
#java
    共 65 条
  • 1
  • 2
  • 3
  • 7
  • 请选择