- 博客(62)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 nng协议nni_taskq_sys_init(void) 对nni_taskq_systq 初始化
nng协议nni_taskq_sys_init(void) 对nni_taskq_systq 初始化
2024-07-24 23:52:38
390
原创 nng协议之 nng_posix_resolv_sysiinit()初始化
nng协议之 nng_posix_resolv_sysiinit()初始化
2024-07-22 16:40:30
439
原创 nng协议nni_posix_resolv_sysinit()系统初始化
nng协议 nni_posix_resolv_sysinit 系统初始化
2024-07-17 23:18:16
751
原创 nng协议nni_posix_pollq_create(nni_posix_pollq *pq) 初始化
nni_posix_pollq_sysinit 初始化
2024-07-14 17:41:42
1058
原创 c语言的内存使用
定义一个结构体指针ptr,在内存中申请 sizeof(Info) * num大小的内存。在访问内存的时候,由于是按照Info大小进行申请的,可以使用数组的下标进行快速访问。定义一个结构体Info,
2023-11-08 22:14:44
211
原创 pthread_cond_broadcast和pthread_cond_wait以及pthread_cond_signal使用
pthread_cond_broacast pthread_cond_signal pthread_cond_wait
2023-07-20 00:56:20
2286
原创 Git的别名
Git 只是简单地将别名替换为对应的命令,然而,你可能想要执行外部命令,而不是一个Git子命令。这样输入git visual 就会得到在bash终端输入gitk 的效果(但是直接输入git gitk是不会得到预期输入的。git commit -m "提交信息" 只需要执行 git ci -m "提交信息"在执行了上述命令之后, git checkout 只需要执行 git co ...git last 就可以显示上次提交信息。
2022-10-11 14:21:21
231
原创 Git远程仓库分支合并,撤销git add,commit,push...
Git远程仓库分支合并,撤销git add,commit,push...
2022-10-11 12:03:39
1361
原创 linux安装软件cannot initiate the connection toxxx
cannot initiate the connection to xxx
2022-07-29 17:59:06
2277
原创 In function ‘xxx‘ warning: control reaches end fo no-void function [-Wreturn-type]
编译记录
2022-07-15 11:14:08
238
原创 个人记录:函数指针、交叉编译
1.函数指针,一般有两种初始化方式,第一种是用结构体中的函数指针变量赋值的方式,第二种是使用专门的函数去注册。#include<stdio.h>#include<string.h>//定义一个函数指针类型(一种新的自定义类型,类似于结构体指针)typedef int (*getSum)(int a, int b);//函数指针要指向的函数实体int function_entity(int a, int b){ return a+b;}
2022-05-12 09:34:21
174
原创 内核编译No rule to make target ‘arch/x86/tools/relocs_32.c‘ need by ‘arch/x86/tools/relocs_32.o‘ . Stop
请认真检查你Makefile的变量(假设为linux_path=xxx, current_path=yyy)在定义的地方与在make -C $(xxx) M=$(yyy) modules使用的是否一样实在不行就复制一下如果上述原因没有解答你的问题,请无视上面的提示。...
2022-02-19 10:15:58
4585
原创 公司内部网络解决码云配置问题(gitee码云公玥管理)
前面的步骤参考这篇blog解决使用码云每次都要输入用户名密码_好记性不如烂笔头--玲博小记-优快云博客_码云的用户名是什么开发者向代码托管平台写入代码时,最常使用的协议是SSH协议,因为 SSH 协议使用公钥认证,可以实现无口令访问,而若使用 HTTPS 协议每次身份认证时都需要提供口令。使用 SSH 公钥认证,就涉及到公钥的管理。一、码云创建ssh公钥1)生成生成ssh公钥,跟着步骤执行这些命令:ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 将邮箱替换成码云注册邮..
2022-01-28 11:37:23
1228
原创 Linux内核链表【struct list_head】
Linux内核链表主要用于内核驱动程序中跟踪每个设备。内核中只实现了双向链表。本笔记只简单记录如何创建链表,向链表中添加节点,删除节点,遍历链表。1.使用内核链表需要包含的头文件:#include <linux/list.h>在内核中,将数据结构表示为链表之前,该结构必须嵌入struct list_head 字段struct car { int door_num; //自定义字段 char *color; //自定义字段 char *model;
2021-12-29 23:36:11
1282
原创 C结构体指针与堆内存的配合使用
1.声明一个结构体,然后申请这个结构体大小的整数倍m大小的内存,地址记为ptr2.声明一个该结构体指针类型的变量pool_memory,使其指向强制烈性转换后的ptr3.使用for循环,对内存进行数据初始化,然后尝试对初始化后的值进行输出。4.此方法可以用于底层开发时,对“数据通道”的操作,即可以用一片内存模拟出不同ID的通道,虽然实际上并不存在,但是可以通过指针的偏移量来控制访问指定空间的内存,达到虚拟通道的概念。5.demo如下:#include <stdio.h>#
2021-12-06 15:48:26
648
翻译 内核的睡眠机制 wait_event wake_up
进程通过睡眠机制释放处理器,使其能够处理其他进程。处理器睡眠的原因可能在于感知数据的可用性,或等待资源释放内核调度器管理要运行的任务列表,这被称作运行队列。Linux内核通过提供一组函数和数据结构来简化睡眠机制的实现等待队列: 等待队列实际上用于处理 被阻塞的I/O, 以等待条件的成立,并感知数据或资源可用性。为了理解其工作方式,参考其在include/linux/wait.h中的结构。struct __wait_queue{ unsigned int f...
2021-12-05 17:35:32
481
原创 Linux内核链表(2)
1.创建和初始化链表1.1动态方法 创建一个名为mylist的双向链表头节点,并使用宏INIT_LIST_HEAD进行初始化。struct list_head mylist;INIT_LIST_HEAD(&mylist);下面是INIT_LIST_HEAD的展开形式:static inline void INIT_LIST_HEAD(struct list_head *list){ list->next = list; list->prev = .
2021-12-05 15:16:26
198
原创 Linux内核链表(3)节点的添加、删除、遍历
1. 内核提供list_add 用于向链表添加新节点,它是内部函数__list_add的封装:void list_add(struct list_head *new, struct list_head *head);例如下面在链表中添加两个车的节点:struct car *redcar = kmalloc(sizeof(struct car), GFP_KERNEL);struct car *bluecar = kmalloc(sizeof(struct car), GFP_KERNEL)
2021-12-05 15:15:42
1737
原创 ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]警告问题及双向链表的地址问题
1.报此警告的意思是,在同一块中的非声明之后不能有声明。请把所有的声明变量放在函数的所有的初始化之前。2.编码误区,C中64位系统的指针大小就是8字节,申请的结构体指针必须按照如下格式进行置空操作。typedef struct information{ int a; char b; ...} Info, *INFO;struct information *in = (struct information*)malloc(sizeof(struct informati
2021-12-02 10:01:28
5913
Makefile内核模块编译
2022-01-27
消息队列msgget函数返回值一直都是0,创建的消息队列只在第一次开机正常运行
2019-01-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人