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

RPC最近在忙一个IOT设备的项目,想设计一个通信系统通过串口控制设备(freertos)的运行。按照传统的设计思路,先要定义一套串口通信协议,在这套协议中传输层协议、应用层协议一个都不能少。每一层协议都要自己实现。数据编码/解码,数据校验,容错,这些非常基础的东西都要自己实现。等这些协议都实现了,才是能开始设计真正的业务逻辑。和同事商议后,一致认为要是照这么干,黄花菜都凉了。我们的生命不能...
以下是个简单的模板类测试代码,模板类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++11之前,C++标准是不支持枚举类型的前向声明的。我说出这个结论,肯定有用msvc的童鞋不愿意了:口胡,MSVC明明就可以对枚举类型前向声明,下面这样的前向声明在MSVC下好好的,没有任何问题。enum E;是哦,你说的对,MSVC下上面的写法的确是没问题,那因为MSVC提供了这个特征,但放在gcc下编译试试,立即报错:use of enum E without previous...

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

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

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

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

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

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