linux
文章平均质量分 65
linux开发
远行的蜗牛2016
勤于梳理归纳,构建知识架构,结交同道中人,乐于互通有无。
展开
-
线程同步之共享内存
共享内存实现线程同步原创 2022-12-22 17:56:41 · 1598 阅读 · 1 评论 -
linux 下gdb 调试
编译加上参数 -g查看源码查看参数gdb可支持的变量显示格式有:x:按16进制格式显示变量d:按10进制格式显示变量u:按16进制格式显示无符号整型o:按8进制格式显示变量t:按2进制格式显示变量c:按字符格式显示变量f:按浮点数格式显示变量查看一个二级指针的数据先查看变量地址查看二级指针保存数据地址:二级指针存放的数据地址:0x406680查看该地保存的字符数据或者直接 x /31s *0x7fffffffcac0 查看查看内存值。原创 2022-11-08 16:39:49 · 1108 阅读 · 0 评论 -
linux 下代码检查工具部署使用
代码检查工具 sonarlint splint原创 2022-11-08 16:18:29 · 523 阅读 · 0 评论 -
获取主机基本信息
获取本机信息原创 2022-10-17 16:22:42 · 383 阅读 · 0 评论 -
获取U盘信息
U 盘信息获取原创 2022-09-29 13:54:02 · 783 阅读 · 1 评论 -
socket通断检查
socket 网络连接状态检查原创 2022-09-27 14:33:27 · 254 阅读 · 0 评论 -
trace-bpfcc
Bpfcc-trace 帮助原创 2022-09-10 01:06:09 · 423 阅读 · 0 评论 -
D-bus学习笔记一 基础知识篇
D-Bus是GNOME和KDE环境中广泛使用的进程间通信的软件,D-Bus允许用户做方法调用或者捕获从别的程序发送的信号,从而达到进程通信的目的。Dbus 使用指南1. dbus 是什么?d-bus 是类unix 操作系统IPC 机制可用于系统通知,桌面交互操作低开销:使用二进制协议,需要类似XML文本格式转换易使用:使用 message 来通讯,开发者可利用d-bus动态库使用d-bus已有的object/type 系统开发1.2dbus 类型system bus系统更新通知原创 2022-02-16 14:52:25 · 2507 阅读 · 0 评论 -
golang 开发环境部署
首先下载go 开发的sdk ,进行安装安装完以后,特别需要注意需要设置环境变量go version需要根据实际安装情况设置系统环境变量:window 安装go sdk 过程window环境设置go 环境变量原创 2022-01-22 21:25:44 · 305 阅读 · 0 评论 -
kernel Makefile srctree变量的含义
# Use make M=dir to specify directory of external module to build# Old syntax make ... SUBDIRS=$PWD is still supported# Setting the environment variable KBUILD_EXTMOD take precedenceifdef SUBDIRS KBUILD_EXTMOD ?= $(SUBDIRS)endififeq ("$(origin M)",.原创 2021-09-09 17:27:44 · 2442 阅读 · 0 评论 -
feof判断文件结尾,最后一行重复读,问题分析和处理方案
#include<string.h>#include<stdio.h>int main(){ char buf[10]; FILE *fp = NULL; if((fp=fopen("./1.txt","r"))==NULL) { printf("open file failed \n"); } while(!feof(fp)) { fgets(buf,10,fp); printf("buf = %s", buf); }}..原创 2020-11-28 20:08:58 · 1041 阅读 · 0 评论 -
./a.out通过设置路径省去每次输入./
改变环境设置,以后就可以直接运行a.out文件。打开终端并输入:sudo gedit ~/.bashrc。输入用户密码。这时输入的密码是不可见的前面的步骤会打开.bashrc文件,在其末尾添加:export PATH=$PATH 4。使其立即生效,在终端执行: source ~/.ba原创 2016-07-26 19:31:32 · 1071 阅读 · 1 评论 -
客户端与服务器通信乱码问题处理
问题背景:之前服务器端和客户端使用的GB2312 编码,项目需要服务器和客户端都需要切换到utf-8编码客户端使用C、C++ 利用qt 开发, 服务器使用java开发原创 2020-08-08 19:22:18 · 259 阅读 · 0 评论 -
多线程编程实现,常见问题处理
1、linux下多线程通信方式2、多线程常见问题处理原创 2020-04-10 10:18:19 · 225 阅读 · 1 评论 -
linux 内核源码学习
1、获取内核4.X源码链接:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/在linux kernel 网站可以获取各个版本的内核,链接只是4.x的版本2、你对比一个Linux4.15和4.18内核,看一下加密的变化:1、Documentation\filesystems\porting2、fs\ecryptfs...原创 2020-04-01 21:01:54 · 183 阅读 · 0 评论 -
linux 下反汇编分析
参考:在Ubuntu 18.04上编译Linux内核https://blog.csdn.net/qq_36290650/article/details/83052315源码下载地址:https://www.kernel.org/执行完make即可,生成: vmlinux System.map 反汇编:gdbvmlinux disassemble __x...原创 2020-03-19 07:23:04 · 458 阅读 · 0 评论 -
编译linux内核报错
1、/bin/sh: 1: flex: not foundscripts/Makefile.lib:202: recipe for target 'scripts/kconfig/zconf.lex.c' failedmake[2]: *** [scripts/kconfig/zconf.lex.c] Error 127Makefile:514: recipe for target 'si...原创 2020-03-18 10:50:33 · 1318 阅读 · 0 评论 -
gcc 参数说明
4。-l (小写的l)参数和-L (大写的l)参数-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了。选型 描述 示例-g 产生带调试信息的编译后目标代码,供调试器(gdb)使用 gcc -g ...原创 2020-03-03 20:23:07 · 308 阅读 · 0 评论 -
编程经典书籍
《C Primer Plus》(第5版)中文版 买新版《C++Primer》中文版《C++ Primer Plus》 比第二更适合零基础《Python核心编程》《Python编程从入门到实战》《Go语言实战》 or《Go In Action》《算法导论》 不适合初学者《算法》第四版 红色《TCP/IP详解》《计算机网络 自顶向下》《私房菜》 工具书《Unix环境高级编程》...原创 2020-01-11 17:24:13 · 236 阅读 · 0 评论 -
sed awk命令使用
awk 'NR==1{print $1}' fileNR==1 定位在file的第一行print $1 显示第一列内容原创 2019-12-30 15:02:12 · 98 阅读 · 0 评论 -
linux内核态和用户态
.操作系统需要两种CPU状态:内核态(Kernel Mode):运行操作系统程序用户态(User Mode):运行用户程序2.指令划分:特权指令:只能由操作系统使用、用户程序不能使用的指令。 举例:启动I/O 内存清零 修改程序状态字 设置时钟 允许/禁止终端 停机非特权指令:用户程序可以使用的指令。 举例:控制转移 算数运算 取数指令 访管...原创 2019-12-20 20:17:19 · 147 阅读 · 0 评论 -
如何下载centos 指定的内核
centos是基于redhat的二次开发,redhat会封装不同版本的内核,有时候,我们需要指定内核版本的centos,下面两个网站或许对你有帮助:https://access.redhat.com/articles/3078https://wiki.centos.org/Download比如,我想下载内核版本为3.10.0-693的centos,先找到:再找到:点击tree,...原创 2019-12-23 15:35:38 · 2025 阅读 · 0 评论 -
Qt中正则表达式QRegExp使用
Qt的一些限制正则表达式RegExp是Qt的正则表达式类.Qt中有两个不同类的正则表达式.第一类为元字符.它表示一个或多个常量表达式.令一类为转义字符,它代表一个特殊字符.一.元字符. 匹配任意单个字符. 例如, 1.3 可能是1. 后面跟任意字符,再跟3^ 匹配字符串首....原创 2019-12-12 10:13:33 · 1925 阅读 · 1 评论 -
对于Opengl ES 的理解
Opengl 版本超级多,刚开始学的时候,一脸懵逼,该学啥,哪些API可以用? 首先应该明白一点,opengl 的图形渲染,高大尚点叫计算机视觉,着色器语言是运行在GPU模块的。正因为是运行在GPU,所以硬件的支持很重要,Opengl es 作为嵌入式版本的框架,其实官方网站,作为开源组织,只是推荐一些API,实际开发还是需要结合自己的硬件,看它所支持API 有哪些,因此还是...原创 2018-06-21 22:57:24 · 440 阅读 · 0 评论 -
虚拟机和开发版文件传输之NFS篇
为了方便向开发板拷贝文件,搭建了nfs 服务器,以前没有使用过,对NFS服务器不太了解,折腾了好久,特此记录 ,方便查阅,系统为ubuntu14.04 ,文档整理自网络。NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在原创 2017-07-27 22:42:26 · 1430 阅读 · 0 评论 -
linux下网页服务器移植
Web服务器有Boa (www.boa.org)和thttpd (http://www.acme.com/software/thttpd/)等,它们和Apache等高性能的Web服务器主要的区别在于它们一般是 单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了。 Boa服务器的移植。thttpd服务器不了解,不做描述。转载 2017-04-25 16:56:32 · 1032 阅读 · 0 评论 -
linux内核宏定义
在定义了8种记录级别。按照优先级递减分别是: KERN_EMERG "" 用于紧急消息,常常崩溃前的消息 KERN_ALERT "" 需要立刻行动的消息 KERN_CRIT "" 严重情况 KERN_ERR "" 错误情况 KERN_WARNING "" 有问题的警告 KERN_NOTICE ""原创 2016-10-13 14:46:02 · 969 阅读 · 0 评论 -
git 常用指令
git 服务解决代码混乱问题首先安装git 初始化 git init 提交代码 git add添加个人注解 git commit 查看提交历史 git log 恢复删除文档 拷贝文档git clone原创 2016-09-06 21:03:50 · 252 阅读 · 0 评论 -
交叉编译工具安装缺少动态库问题解决方法
安装交叉编译工具,实现代码兼容运行原创 2016-08-20 11:41:13 · 4247 阅读 · 0 评论 -
Busybox 简介
Busybox是工具包原创 2016-08-19 19:02:47 · 313 阅读 · 0 评论 -
liunx下常用命令解析
linux下开发常用命令梳理原创 2016-08-19 19:00:35 · 270 阅读 · 0 评论 -
tftp 传输文件
tftp 服务方便文件传输,但是没有理清的话,容易传输错误。-g 表示下载文件 (get)-p 表示上传文件 (put)-l 表示本地文件名 (local file)-r 表示远程主机的文件名 (remote file)tftp -g -r a.out 192.168.8.164(服务器)从192.168.8.164get 当然就是下载了 下载原创 2016-08-19 18:31:44 · 1061 阅读 · 0 评论 -
嵌入式之yocto 开发
初学者,个人见解未必正确,此博文仅供交流,还望斧正。Yocto的作用:Bsp的作用:Yocto与Bsp两者之间的关系:开发流程是怎样的。修改配置文件,编译,烧写。原创 2018-06-23 16:31:29 · 1677 阅读 · 0 评论 -
liunx下配置yocto工程环境
最近开发利用飞思卡尔的板子IMX6板子。 搭建环境,遇到很多新东西。repo仓库的概念以及原理git 作用.原创 2016-08-01 19:17:14 · 907 阅读 · 0 评论 -
liunx程序运行状态
关键字: top ps |grep top命令可以查看linux系统的当前程序进程和cpu的使用情况了解这个命令可以很方便的管理linux系统。下面我们看下top命令的解释ps | grep 和 ps aux | grep两个命令差别在于ps的参数aux,ps是显示当前状态处于running的进程,grep表示在这些里搜索,而ps aux是显示所有进程和其状态。下面是ps原创 2016-07-26 19:09:39 · 386 阅读 · 0 评论 -
Unbun安装和使用MySQL数据库
一、在终端下执行: 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install libmysqlclient-dev 在安装的过程中会提示你输入Yes,然后会弹出root密码设置界面,这里可以先设置一个root密码作为登录mysql用户使用,之后需要的时...原创 2019-02-17 20:40:42 · 1057 阅读 · 0 评论 -
linux开源小工具
autoconf自动生成configure参考链接:https://blog.csdn.net/SHRINKSHR/article/details/85835087automake自动生成makefile文件原创 2019-12-11 19:58:51 · 290 阅读 · 0 评论 -
自定义串口数据协议发送hex文件
hex文件格式:Intel HEX is a file format that conveys binary information in ASCII text form. It is commonly used for programming microcontrollers, EPROMs, and other types of programmable logic devices. In a...原创 2018-03-05 22:50:59 · 5140 阅读 · 0 评论 -
qml 界面开发笔记
项目用QML开发界面,用C++ 实现逻辑,一边学习,一边摸索,在应用中理解QML, QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javascript形式的编程控制。QML 编写界面十分方便, Qt信号的获取,在Qt助手中很多常规的的信号是默认,但是没有列出,以最近开发用到的TextFiled的为例,助手...原创 2018-03-27 20:54:15 · 408 阅读 · 0 评论 -
unix fsync sync 数据刷新
CPU跑linux系统接收串口发送来数据,需要将文件保存下来,接收文件完成,系统会重启,结果发现保存的文件不完整,最后的数据有丢失,利用fclose()关闭文件,而且返回正确,最后发现数据丢失与unix保存文件的策略有关系,当时习惯性的认为fclose()调用了刷新fflush(),缓冲区的数据已经保存到文件了,然而并非如此,后来在关闭文件以后,增加了延时,当延时大于一定时间,数据可以完整保存,...原创 2018-03-27 20:55:27 · 330 阅读 · 0 评论