- 博客(154)
- 资源 (14)
- 收藏
- 关注
原创 【AI问答】 OpenSSL 3.0+ 架构实现自定义 Provider 的完整示例
这是一个在 Ubuntu 24.04 上使用 OpenSSL 3.0+ 架构实现自定义 Provider 的完整示例。OpenSSL 3.0 的 Provider 模式非常复杂,涉及Algorithm表、Dispatch表以及各种具体的。为了让你能够直接编译运行,我编写了一个名为myprovider的完整框架,涵盖了你要求的 SM2/SM3/SM4 功能。
2026-03-27 17:34:32
46
原创 [AI问答]DPDK 的 Hugepages 使用
两次映射机制:Legacy模式通过两次mmap确保物理地址连续性,这对DMA操作至关重要NUMA感知:所有分配都考虑NUMA节点,优先从本地Socket分配大页,避免跨节点访问延迟进程间共享:主进程通过共享内存传递大页配置,支持多进程(主从)模型IOVA模式适配:根据系统能力自动选择PA(物理地址)或VA(虚拟地址)模式文件锁保护:使用flock防止多个DPDK进程并发操作hugetlbfs目录预分配标记:动态模式下使用标记关键内存段,防止运行时被释放│ 应用层 (Application) │。
2026-03-02 17:30:59
661
原创 [AI问答]DPDK lcore(逻辑核心)技术原理与实现详解
EAL 是 DPDK 的环境抽象层,负责屏蔽操作系统差异,提供统一的 CPU、内存、设备管理接口。CPU 拓扑探测:读取获取物理核、逻辑核、Socket 信息线程生命周期管理:创建 pthread、设置 CPU 亲和性、启动任务循环任务分发调度:通过回调函数机制将业务逻辑分发到指定 lcore机制实现方式性能影响线程创建一次性开销,运行时零调度任务分发回调函数注册到函数指针调用,< 10ns 延迟状态同步TLS (_lcore_id) + 无锁环形队列无锁并发,线性扩展内存访问。
2026-02-28 14:20:34
729
原创 [AI回答]DPDK之前:实现一个基于epoll的echo服务器
前提] 先实现一个基于epoll的echo服务器,理解内核协议栈处理流程,再学习DPDK才能体会"内核旁路"的价值。这是一个完整的实现,包含边缘触发(ET)模式、连接池管理和详细的注释。建议作为DPDK学习前的基础练习。
2026-02-27 16:52:35
404
原创 CUDA之数组相加
线程的组织和管理涉及到几个核心参数:gridDim、blockDim、blockIdx和threadIdx。grid 和 block 都可以配置为 1、2 或 3 维,这允许程序在不同的规模和结构上运行。在GPU上,通过把i=threadIdx.x,将计算分散到线程上,并发执行,通过空间换时间的方式提高了计算速率。实现数组A[32]与数组B[32]实现相加,在CPU上的C语言实现为for循环C[i] = A[i]+B[i],- dim.x:表示在 x 方向上的维度或长度。
2025-02-07 16:25:45
524
原创 CUDA的helloworld
编写在GPU上运行的第一个内核代码。像其他任何编程语言一样编写GPU上的第一个程序是输出字符串“Hello World”。使用nvcc编译器对源代码hello.cu进行编译,CUDA nvcc编译器和gcc编译器及其他编译器有相似的语义。在这个例子中,有10个GPU线程被调用。其中修饰符__global__告诉编译器这个函数将会从CPU中调用,然后在GPU上执行。在打印hello world的示例程序中,只有第三步,即调用CUDA内核函数。2、将数据从CPU内存中拷贝到GPU内存中。
2025-01-13 15:13:44
491
原创 智能密码钥匙的权限管理
依据《GMT 0016-2012 智能密码钥匙密码应用接口规范》里8.2节对权限管理的描述,智能密码钥匙权限有设备权限,用户权限和管理员权限。
2024-10-16 11:36:37
1862
原创 json-c使用学习
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写,可以在多种语言之间进行数据交换 [5]。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON是一个序列化的或。JSON的构造元素有:1. 六个begin-array = [ 数组开始符 = 左方括号。
2023-05-06 16:26:19
1226
原创 Qt环境下C++和C语言混合编程问题
本人因为一直在C语言环境下开发,偶尔因为项目需要集成下Qt环境,最近遇到一个问题是在Qt环境下按C语言常规思路调用C库里的函数,Qt总是报找不到库函数错误,后来发现是C++和C语言混合编程时,函数定义有差异导致的。但在C++里调用的时候,C++编译器会为了重载等方面的考虑而改变函数名。解决办法就是在Qt环境下使用extern "C"修饰符。nm C库,能找到是实现了的函数名test,这就导致Qt找不到C库函数。比如C库下是实现的函数名为。
2023-04-14 10:54:36
1304
hibernate-commons-annotations.jar ,很多人项目报这个错,加进去就行了
2012-08-08
Tinking in C++(TXT)
2009-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1