- 博客(93)
- 资源 (26)
- 收藏
- 关注
原创 OpenHarmony4.x 系统模拟器环境
Windows下安装后手动配置好QEMU的环境变量,或者进入到D:\Program Files\qemu的目录下打开CMD命令行界面。已支持的示例工程,Qemu模拟器: arm_mps2_an386、esp32、riscv32_virt、SmartL_E802。qemu-run是个脚本,可以用文本文件打开,它里面也是调用的qemu-system-arm,并且传入了需要的参数。是下载源码后再编译,编译速度很慢,可以make只编译ARM部分的,这样编译速度会快很多。安装6.2.0及以上的版本都可以。
2024-07-09 17:11:49
1046
原创 OpenHarmony实战-模拟器调试
15. 备注:JS Bundle可通过下载DevEco Studio创建应用后编译生成(编译生成的JSBundle路径:项目所在目录\entry\build\intermediates\res\debug\lite\assets\js\default),部分应用示例源码可从目录arkui_ace_engine_lite\frameworks\examples获取。13. 项目第一次启动时,由于未配置JS Bundle路径,无法正常显示应用,需要开发者手动配置路径,配置后再次启动时会根据已配置信息显示应用。
2024-07-09 10:36:31
1324
原创 libnuma 及底层实现
libnuma是一个用于Linux系统的NUMA(非一致性内存访问)API。libnuma提供了一组函数和工具,用于管理和优化NUMA系统中的内存分配和访问。NUMA是一种计算机体系结构,其中多个处理器和内存模块通过高速互联网络连接在一起。在NUMA系统中,每个处理器都有自己的本地内存,但也可以访问其他处理器的内存。
2023-11-03 00:41:07
1552
原创 内存越界和内存监测
不要扯 什么 <代码即注释> . 多写注释容易加深自己二次思考, 加快自己的成长. 不要和老开发人学这个 , 如果你跳槽, 遇到一个大项目。主要是对 malloc, calloc, realloc 进行添加尾部和头部的内存块处理. 就这么简单一步. 假如能看懂上面设计思路图.代码实现都很中规中矩, 比较容易. 也就百行. 按照接口文件一个个看实现. 很容易学到开发中技巧. 提高实战技巧.扯一点, C, C++ 老开发人员水平都比较高, 不喜欢写注释. 这个强烈推荐不是大牛的选手一定要多写注释.
2023-10-30 15:52:19
571
原创 DPDK收发包流程分析
一、 前言 DPDK是intel工程师开发的一款用来快速处理数据包的框架,最初的目的是为了证明传统网络数据包处理性能低不是intel处理器导致的,而是传统数据的处理流程导致,后来随着dpdk的开源及其生态的快速发展,dpdk成为了高性能网络数据处理的优秀框架。本篇文章主要介绍DPDK接收与发送报文的流程,包括CPU与网卡DMA协同工作的整个交互流程、数据包在内存、CPU、网卡之间游走的过程。
2023-10-20 12:04:38
1610
1
原创 PCI设备与UIO驱动
随着网络的高速发展,对网络的性能要求也越来越高,DPDK框架是目前的一种加速网络IO的解决方案之一,也是最为流行的一套方案。DPDK通过bypass内核协议栈与内核驱动,将驱动的工作从内核态移至用户态,并利用polling mode的线程工作模式加速网络I/O使得网络IO性能出现大幅度的增长。 在使用DPDK的时候,我们常常会说提到用DPDK来接管网卡以达到bypass内核驱动以及内核协议栈的操作,本篇文章将主要分析DPDK是如何实现的bypass内核驱动来实现所谓的“接管网卡”的功能。注意:
2023-10-17 21:35:04
549
原创 unknown type name ‘bool‘ gcc error
gcc 编译错误错误原因:未知的类型名:‘bool’, 因为在C语言标准(C89)没有定义布尔类型,所以会报错。而C99提供了一个头文件<stdbool.h>定义了bool,true代表1,false代表0。只要导入stdbool.h,就能非常方便的操作布尔类型了。
2023-10-12 18:10:53
806
转载 RPS RFS RSS
RPS/RFS 功能是在Linux- 2.6.35中有google的工程师提交的两个补丁,这两个补丁的出现主要是基于以下两点现实的考虑:这两个补丁的出现,是由于服务器的CPU越来越强劲,可以到达十几核、几十核,而网卡硬件队列则才4个、8个,这种发展的不匹配造成了CPU负载的不均衡。上面的提到的是多队列网卡的情况,在单队列网卡的情况下,RPS/RFS相当于在系统层用软件模拟了多队列的情况,以便达到CPU的均衡。
2023-10-11 17:42:21
389
原创 单链表操作 C实现
struct LNode { //定义一个节点int data;//数据域//指针域1.尾插法建立链表2.头插法建立链表3.链表结点删除操作4.在有序链表中插入一个结点5.遍历。
2023-09-28 19:21:46
286
转载 Golang结构体类型的深浅拷贝
Golang结构体类型的深浅拷贝 1、浅拷贝 2、深拷贝 3、结构体的深拷贝 4、结构体的浅拷贝 5、结构体值类型的浅拷贝 6、结构体引用类型的浅拷贝 7、结构体引用类型的深拷贝 在开发中会经常的把一个变量复制给另一个变量,有时候为了不让对象直接相互干扰,我们需要深度赋值对象那么这个过程,可能涉及到深浅拷贝1、浅拷贝浅拷贝是指对地址的拷贝浅拷贝的是数据地址,只复制指向的对象的指针,此时新对象和老对象指向的内存地址是一样的,新对象值修改时老对象也会
2022-05-21 22:41:25
4337
转载 map使用及底层实现
1. map的使用 golang中的map是一种数据类型,将键与值绑定到一起,底层是用哈希表实现的,可以快速的通过键找到对应的值。 类型表示:map[keyType][valueType]key一定要是可比较的类型(可以理解为支持==的操作),value可以是任意类型。 初始化:map只能使用make来初始化,声明的时候默认为一个为nil的map,此时进行取值,返回的是对应类型的零值(不存在也是返回零值)。添加元素无任何意义,还会导致运行时错误。向未初始化的map赋值引起 panic:..
2022-05-21 17:59:04
1852
转载 golang内存分配原理 与make和new的区别
Go语言内置运行时(就是runtime),不同于传统的内存分配方式,go为自主管理,最开始是基于tcmalloc架构,后面逐步迭新。自主管理可实现更好的内存使用模式,如内存池、预分配等,从而避免了系统调用所带来的性能问题。1. 基本策略每次从操作系统申请一大块内存,然后将其按特定大小分成小块,构成链表(组织方式是一个单链表数组,数组的每个元素是一个单链表,链表中的每个元素具有相同的大小。); 为对象分配内存时从大小合适的链表提取一小块,避免每次都向操作系统申请内存,减少系统调用。 回收对..
2022-05-18 18:43:49
938
原创 go Replace
strings包:import "strings"func Replace(s, old, new string, n int) string在原s字符串中,把old字符串替换为new字符串,n表示替换的次数,小于0表示全部替换//替换两次fmt.Println(strings.Replace("oooh oooh oooh", "h", "pp", 2)) //全部替换fmt.Println(strings.Replace("oooh oooh oooh", "ooh", "k",
2022-05-14 18:45:56
811
转载 struct{} 空结构体
背景原理解密定义的各种姿势`struct {}` 作为 receiver配合使用姿势`map` & `struct{}``chan` & `struct{}``slice` & `struct{}`总结背景golang 正常的 struct 就是普通的一个内存块,必定是占用一小块内存的,并且结构体的大小是要经过边界,长度的对齐的,但是“空结构体”是不占内存的,size 为 0;提示:以下都是基于 go1.13.3 linux/amd64 分
2022-05-12 01:07:38
1038
转载 Go实现bitmap算法
有关bitmap算法的介绍资料网上很多,这里不赘述,各种语言的实现也不少,但是Go语言版的bitmap不多,本文就来写一个Go版的bitmap实现。首先创建一个bitmap.go 文件,定义一个bitmap结构体,再提供一些操作方法。详细代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 .
2021-12-05 18:13:45
718
原创 go 起server
package servicesimport ( "context" "net/http" "os" "github.com/node-scheduler/node-scheduler/pkg/log")type httphandle func(w http.ResponseWriter, r *http.Request)type Server struct { Baseurl string ctx ...
2021-12-02 14:09:36
1760
llcbench 工具代码,工具下载 llcbench 已经测试通过
2022-01-28
MINIGUI GUIDE 开发指南 V2版本 用户手册 MINIGUI GUIDE 开发指南 V3 版本
2018-06-29
STC89C51系列单片机解密 及选型
2009-05-10
基于混合最优算法的高精度数控直流电源设计
2009-05-09
单片机 论文 数控直流电源的设计与实现
2009-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人