自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 nng协议之 nng_posix_resolv_sysiinit()初始化

nng协议之 nng_posix_resolv_sysiinit()初始化

2024-07-22 16:40:30 246

原创 nng协议之nng_listen

nng协议分析 函数 nng_listen()

2024-07-20 01:58:37 231

原创 nng协议nni_posix_resolv_sysinit()系统初始化

nng协议 nni_posix_resolv_sysinit 系统初始化

2024-07-17 23:18:16 683

原创 nng协议nni_posix_pollq_create(nni_posix_pollq *pq) 初始化

nni_posix_pollq_sysinit 初始化

2024-07-14 17:41:42 944

原创 nng协议分析之互斥锁pthread_mutexattr_settype函数

nng协议之互斥锁属性

2024-07-14 14:56:27 321

原创 nng协议分析记录--pthread_condattr_setclock 设置时钟属性

pthread_condattr_init设置时间属性

2024-07-14 14:35:03 266

原创 c语言的内存使用

定义一个结构体指针ptr,在内存中申请 sizeof(Info) * num大小的内存。在访问内存的时候,由于是按照Info大小进行申请的,可以使用数组的下标进行快速访问。定义一个结构体Info,

2023-11-08 22:14:44 170

原创 pthread_cond_broadcast和pthread_cond_wait使用

线程等待与唤醒

2023-07-20 00:56:20 1298

原创 使用公钥/私钥免验证登录远程机器

远程登录服务器

2023-07-02 12:53:19 315

原创 Linux环境下使用cmake交叉编译ARM程序

Linux环境下使用cmake交叉编译ARM程序

2022-10-20 17:01:52 2059 1

原创 Git的分支操作,分支合并,冲突合并,拉取远程分支,提交本地分支

Git的分支操作,分支合并,冲突合并,拉取远程分支,提交本地分支

2022-10-12 20:33:16 1102

原创 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 179

原创 Git远程仓库分支合并,撤销git add,commit,push...

Git远程仓库分支合并,撤销git add,commit,push...

2022-10-11 12:03:39 1271

原创 Git基本操作之 修改提交信息 取消暂存文件 撤销文件修改

Git基本操作之 修改提交信息 取消暂存文件 撤销文件修改

2022-10-10 17:32:42 1898

转载 git基本操作之-git commit 修改后退出编辑

git基本操作之-git commit 修改后退出编辑

2022-10-08 15:00:55 5143

原创 linux安装软件cannot initiate the connection toxxx

cannot initiate the connection to xxx

2022-07-29 17:59:06 1958

原创 3.我的第一个内核驱动

第一个驱动

2022-07-24 17:37:31 211

原创 In function ‘xxx‘ warning: control reaches end fo no-void function [-Wreturn-type]

编译记录

2022-07-15 11:14:08 124

原创 2.内核结构分配和初始化

内核结构分配和初始化

2022-07-13 17:25:30 76

原创 1.驱动基本介绍(内核配置)

闲暇之余,开始记录自己的内核学习

2022-07-07 19:53:03 332

原创 linux内核链表操作demo(4)

Linux链表操作

2022-06-08 09:46:45 285

原创 GO语言打印等腰三角形

个人记录练习

2022-06-02 18:03:07 235

原创 牛客网笔试输入输出踩坑记录

关于牛客网的笔试题:1.要求输入一行字符,计算其中以空格分割的字符串的个数。比如 aaa bbbb ccc dddd 输出 4此类输入一般考生会直接fgets读入一行,然后处理并输出有多少个符合上述要求的字符串。另一种简单的处理方式是:char buf[128] = {0};while (scanf("%s", buf) != EOF){xxxx}这样也可以处理,比起一次读入一行,难度天壤之别。这个题目跟考生想的差别较大,特此记录,以示警醒!......

2022-05-13 16:48:10 422

原创 个人记录:函数指针、交叉编译

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 135

原创 内核编译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 3923

原创 内核编译缺少numpy模块

下载 numpy-1.9.2解压文件后执行pip install .pip install [点]

2022-02-16 20:48:13 746

原创 公司内部网络解决码云配置问题(gitee码云公玥管理)

前面的步骤参考这篇blog解决使用码云每次都要输入用户名密码_好记性不如烂笔头--玲博小记-CSDN博客_码云的用户名是什么开发者向代码托管平台写入代码时,最常使用的协议是SSH协议,因为 SSH 协议使用公钥认证,可以实现无口令访问,而若使用 HTTPS 协议每次身份认证时都需要提供口令。使用 SSH 公钥认证,就涉及到公钥的管理。一、码云创建ssh公钥1)生成生成ssh公钥,跟着步骤执行这些命令:ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 将邮箱替换成码云注册邮..

2022-01-28 11:37:23 1163

原创 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 1142

原创 C结构体指针与堆内存的配合使用

1.声明一个结构体,然后申请这个结构体大小的整数倍m大小的内存,地址记为ptr2.声明一个该结构体指针类型的变量pool_memory,使其指向强制烈性转换后的ptr3.使用for循环,对内存进行数据初始化,然后尝试对初始化后的值进行输出。4.此方法可以用于底层开发时,对“数据通道”的操作,即可以用一片内存模拟出不同ID的通道,虽然实际上并不存在,但是可以通过指针的偏移量来控制访问指定空间的内存,达到虚拟通道的概念。5.demo如下:#include <stdio.h>#

2021-12-06 15:48:26 558

翻译 内核的睡眠机制 wait_event wake_up

进程通过睡眠机制释放处理器,使其能够处理其他进程。处理器睡眠的原因可能在于感知数据的可用性,或等待资源释放内核调度器管理要运行的任务列表,这被称作运行队列。Linux内核通过提供一组函数和数据结构来简化睡眠机制的实现等待队列: 等待队列实际上用于处理 被阻塞的I/O, 以等待条件的成立,并感知数据或资源可用性。为了理解其工作方式,参考其在include/linux/wait.h中的结构。struct __wait_queue{ unsigned int f...

2021-12-05 17:35:32 396

原创 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 166

原创 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 1547

原创 Linux的内核链表(1)

内核工具学习

2021-12-05 01:52:59 314

原创 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 5669

原创 C语言的结构体大小、结构体不定数组、结构体末尾的指针、结构体位对齐、结构体嵌套内存对齐,结构体[位域]及强制从下一位开始对齐

C语言内存对齐及其计算

2021-11-26 17:05:30 883

转载 linux 内核宏container_of剖析

linux 内核宏container_of剖析 - 知乎1、前面说的我在好几年前读linux 驱动代码的时候看到这个宏,百度了好久,知道怎么用了,但是对实现过程和原理还是一知半解。 container_of宏 在linux内核代码里面使用次数非常非常多,对于喜欢linux编程的同学来…https://zhuanlan.zhihu.com/p/54932270...

2021-11-26 15:35:03 43

转载 modprobe基本用法

在linux桌面系统中,当你编译了新的驱动,为了能够用modprobe ***加载模块, 你需要先将模块拷贝到/lib/modules /2.6.31-20-generic(2.6.31-20-generic对应不同的版本,可以使用uname -r查看本机的目录)目录下,然后运行sudo depmod -a将模块信息写入modules.dep、modules.dep.bin、modules.alias.bin、modules.alias和modules.pcimap文件中。如,我编译了一个新的wifi驱

2021-11-23 19:38:23 2244

转载 linux内核将新驱动添加到menuconfig菜单

如果XLG那一个配置项前面选择的是[*]在.config中生成的CONFIG_XLG=y 此驱动程序将被编译到内核,如果选择的是M则会编译成单独的模块,即xxx.ko 可以通过手动insmod插入,rmmod移除。linux内核将新驱动添加到menuconfig菜单_雪狼的博客-CSDN博客linux内核驱动menuconfighttps://blog.csdn.net/zhaoxd200808501/article/details/76588568...

2021-11-23 13:56:53 234

原创 Linux新建用户无法从图形界面登陆

1.新建的用户无法从图形界面登陆(账号密码均正确的前提下)2.输入账户密码后闪一下又回到账户列表3.解决方法 3.1简单解: 删除无法登陆的用户直接新建一个用户(这里以用户名: test 为例),执行以下命令既可以从图形界面登陆: 3.1.1 使用一个可以登陆的用户登陆,sudo adduser test 3.1.2 sudo chown test /home/test -R 3.1....

2021-11-18 12:26:23 2616

转载 linux加载动态链接库so文件

有时出于软件灵活性的考虑,我们不会在编译阶段直接关联so文件,而是通过dlopen等几个函数调用动态加载,主要用到的函数接口有:dlopen dlsym dlclose需要包含的头文件是dlfcn.h,在编译时需要加上-ldl。下面是一个简单的例子,首先我们写一个lib_printnumber函数,只是将传入的参数打印出来。#include <stdio.h>​void lib_printnumber(int arg){ printf("lib_printnumbe

2021-11-08 18:39:04 1374

windows下的dll库,用于解决UE无法连接远程等问题

wodFtpDLX64.dll ---windows 64位

2023-07-26

gcc-linaro-6.5.0-2018.12-x86-64-aarch64-linux-gnu.tar.xz

Linux下的arm交叉编译器6.5

2021-09-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除