weixin_51478436
码龄4年
关注
提问 私信
  • 博客:11,785
    11,785
    总访问量
  • 12
    原创
  • 722,352
    排名
  • 1
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:安徽省
  • 加入CSDN时间: 2020-10-11
博客简介:

weixin_51478436的博客

查看详细资料
个人成就
  • 获得5次点赞
  • 内容获得1次评论
  • 获得36次收藏
  • 代码片获得170次分享
创作历程
  • 1篇
    2022年
  • 16篇
    2021年
成就勋章
TA的专栏
  • Ubuntu
    1篇
  • 树莓派 超声波
    2篇
  • LINUX
    1篇
  • linux多线程
    1篇
  • IPC
    1篇
  • IPC (管道、FIFO、消息队列、共享内存、信号、信号量)
    1篇
  • Linux内核驱动基础框架
    1篇
  • 树莓派Linux源码配置和编译
    1篇
  • 树莓派
    3篇
  • 交叉编译链的工具安装
    1篇
  • 树莓派wiringPi库
    1篇
  • 串口通信
    1篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Ubuntu 18.04下创建新用户/目录、修改用户权限及删除用户的方法

Ubuntu 18.04下创建新用户/目录、修改用户权限及删除用户的方法
转载
发布博客 2022.12.05 ·
1751 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

SO 动态库崩溃问题定位

SO 动态库崩溃问题定位一、需求分析so 的崩溃并不像 Java 代码那么好定位,我们通常看到的就只是 so 中的一大段崩溃的堆栈信息。那么我们怎么通过这个堆栈信息来定位我们的问题呢?二、ADDR2LINE介绍Addr2line 工具(它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。一般适用于 debug 版本或带有 symbol 信息的库。工具位置我们下载的 NDK 里面已经默认有了这个工具,对应的路径如下
转载
发布博客 2021.12.03 ·
1656 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

用GDB调试程序

用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)3
原创
发布博客 2021.10.13 ·
272 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vi编辑器上下左右输出ABCD解决方法

Vi编辑器上下左右输出ABCD解决方法问题解决$sudo apt-get install vim或者echo “set nocp” >> ~/.vimrc (千万要注意,是>>, 而不是>, 否则把.vimrc清空了,丢失了之前的内容)source ~/.vimrc...
原创
发布博客 2021.09.24 ·
310 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Makefile

Makefile内核makefile的几种编译方式直接编译:obj-y +=xxx.o;表示由xxx.c或xxx.s编译得到xxx.ko并直接编进内核。条件编译:obj-$(CONFIG_HELLO) +=xxx.o;根据.config文件的CONFIG_XXX来决定文件是否编进内核。模块编译:obj-m +=xxx.o;表示xxx作为模块编译,即执行make modules时才会被编译。简单makefile编写...
原创
发布博客 2021.09.23 ·
62 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

gitlub密钥生成

gitlub密钥生成1 Git生成秘钥SSH 秘钥默认储存在账户的主目录下的 ~/.ssh 目录如:查看是否包含id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有.pub 后缀的文件就是公钥,另一个文件则是密钥。如果有这两个文件,则跳过1.2;如果没有这两个文件,甚至.ssh目录也没有,则需要用ssh-keygen 来创建.1.2 生成秘钥信息在.ssh 目录下若第一次生成ssh-keygen -t rsa -C "508762703@qq.c
原创
发布博客 2021.08.25 ·
1886 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

C语言中<<、>>、&、|的实际用途

原版添加链接描述作为一个开发人员,在看别人项目或者看第三方库的源代码时,可能经常会看到譬如a>>4&0x0f这样的写法,对于一些初入行的童鞋来说可能就不是太明白这是什么意思。下面我们就来讲解这几个运算符的实际用途。一、运算符的含义二、用途按位与的用途1.清零若想对一个存储单元清零,即使其全部二进制位为0,只要对这个存储单元当前的值取反(也就是原来的数中为1变为0,0变为1),然后使二者进行&运算,即可达到清零目的。比如a=23,b=~a:a:00010111b
转载
发布博客 2021.06.30 ·
283 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

结构体对齐计算方式

结构体对齐计算方式结构体的大小也不是成员类型大小的简单相加。需要考虑到系统在存储结构体变量时的地址对齐问题。由于存储变量地址对齐的问题,结构体大小计算必须满足两条原则:一、结构体成员的偏移量必须是成员大小的整数倍(0被认为是任何数的整数倍)二、结构体大小必须是所有成员大小的整数倍(数组除外,结构体中的结构体按单个变量计算)1、简单结构体struct s1{ char ch1; //1 char ch2; //1 int i;//4};这个结构体的大小容易计算,满足两个原则即可,为8,
转载
发布博客 2021.03.19 ·
130 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

32位和64位常用数据类型所占字节数

32位和64位常用数据类型所占字节数32位编译器:char :1个字节指针变量: 4个字节short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节64位编译器:char :1个字节指针变量: 8个字节short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节
转载
发布博客 2021.03.06 ·
3296 阅读 ·
2 点赞 ·
0 评论 ·
12 收藏

Linux 多线程

Linux 多线程一、线程简介线程是一个进程内的基本调度单位,好比轻量级的进程。1.多个线程在一个进程的共享内存空间中并发执行,它们共享一个进程的资源,如文件描述符和信号处理等,大大减少了上下文的开销。 运行于一个进程中的多个线程。2.它们彼此之间使用相同的地址空间共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间。3.线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。总的说来, 一个进程的开销大约是一个线程开销的 30 倍左右。 不同进程具有独立的数据空间,其数
原创
发布博客 2021.02.25 ·
90 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

IPC (管道、FIFO、消息队列、共享内存、信号、信号量)

IPC (管道、FIFO、消息队列、共享内存、信号、信号量)进程间通信(IPC,InterProcess Communication)的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。一、管道管道是基于文件描述符的通信方式。当一个管道建立时,它会创建两个文件描述符fd[0]和fd[1]。其中fd[0]固定用于读管道,而fd[1]固定用于写管道。①半双工通信模式。②只用于具有亲缘关系的进程之间的通信。如父子进程、兄弟进程、③可看成是一种特殊的文
原创
发布博客 2021.02.20 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux内核驱动基础框架

Linux内核驱动基础框架驱动代码#include <linux/fs.h> //file_operations 声明#include <linux/module.h> //module_init module_exit 声明#include <linux/init.h> // __init __exit 宏定义声明#include <linux/device.h> //class device 声明#include <l
原创
发布博客 2021.02.14 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

树莓派Linux源码配置和编译

树莓派Linux源码配置一.驱动代码的编写驱动代码的编译需要一个提前编译好的内核,编译内核就必须配置配置的最终目标会生成 .config文件,该文件指导Makefile去把有用东西组织成内核厂家配linux内核源码,比如说买了树莓派,树莓派linux内核源码第一种方式:cp 厂家.config .config第二种方式:make menuconfig 一项项配置,通常是基于厂家的config来配置第三种方式:完全自己来二.配置树莓派的Linux内核(1)驱动两种加载方式:
原创
发布博客 2021.02.10 ·
198 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

交叉编译链的工具安装和使用

交叉编译链的工具安装(一)交叉编译链的工具安装网站https://github.com/raspberrypi/1.从共享文件夹拷贝到工作目录cp /mnt/hgfs/share/tools-master.zip .2. 解压unzip tools-master.zipcd /home/CLC/tools/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/binpwd获得路径(二)配置环境变量
原创
发布博客 2021.02.08 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

树莓派wiringPi库,串口通信

树莓派wiringPi库,串口通信(一)串口通信 使用时需要包含头文件:#include <wiringSerial.h>(二)修改配置/* 修改 cmdline.txt文件 */>cd /boot/>sudo vim cmdline.txt删除【】之间的部分dwc_otg.lpm_enable=0 【console=ttyAMA0,115200】 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 ro
原创
发布博客 2021.02.07 ·
299 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

树莓派超声波C语言

树莓派超声波C语言超声波测距原理:是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。以上时序图表明你只需要提供一个10uS以上脉冲触发信号,该模块内部将发出8个40KHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此听过发射信号到的回响信号时间间隔可以计算得到距离。
原创
发布博客 2021.02.07 ·
641 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

树莓派学习——库的概念、制作静态库、动态库

Linux 共享库、静态库、动态库解析:1. 介绍程序函数库可分为3种类型:静态函数库(static libraries)、共享函数库(shared libraries)、动态加载函数库(dynamically loaded libraries):1、静态函数库,是在程序执行前就加入到目标程序中去了 ;2、动态函数库 同 共享函数库是一个东西( 在linux上叫共享对象库, 文件后缀是.so ,windows上叫动态加载函数库, 文件后缀是.dll ) Linux中命名系统中共享库的规则 :(一
原创
发布博客 2021.02.07 ·
152 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多