行走在软件开发路上的人
努力,努力,还是努力
展开
-
rocketmq交叉编译aarch64 GNU/Linux
/build.sh进行默认gcc编译(会下载依赖的四个源码,openssl,libevent,jsoncpp,boost)注意:rocketmq在使用过程中需要指定日志的路径,否则,默认路径为/user_home_path/logs/rocketmq-client/rocketmq_client.log(默认生成3个日志文件,每个文件大小100M)如果需要手动配置路径的话,如下:CPP代码调用SetPushConsumerLogFileNumAndSize(consumer, 1, 1);原创 2024-01-18 11:20:46 · 296 阅读 · 1 评论 -
数据库操作-基础
数据库数据库,存数据,能进行增删改查Oracle 大型网站、大的集团、大数据SQL Server 大中型企业 偏慢 windowsmysql 中小型网站,大小中企业Informix 大型网站, 大小中企业DB2 中小企业sybase 中小企业access 单机版 windowssqlite 手机或移动设备excel...原创 2019-10-15 15:00:57 · 212 阅读 · 0 评论 -
linux驱动编程
一、内核的功能?进程管理:负责创建和销毁进程, 并处理它们与外部世界的联系内存管理:管理内存分配及回收的策略文件系统:Linux 非常依赖于文件系统,Linux支持多种文件系统类型设备控制:驱动程序,操控硬件以及相应总线设备网络(NTE): 在网络接口于应用程序之间传输数据\二、驱动分类块设备:主要用于磁盘、sd卡、U盘等存储设备,涉及磁道、扇区等内容字符设备: 除了块设备都是字符设备\三、设备号主设备号的用途:唯一识别驱动程序次设备号的用途:在一个驱动唯一识别每一个设备。即一个驱动程原创 2021-01-06 17:41:23 · 77 阅读 · 0 评论 -
linux Shell编程
一、系统变量echo $变量名$代表取值PATH是常见的系统变量,保存了一些目录名,当系统程序执行时,先到这些目录中查找程序,如果找到则执行目录之间用:分隔例:echo $PATHset 查看环境变量 1)临时更改环境变量export PATH=/home:$PATHecho $PATH 离开当前所在的终端就失效 2)永久更改环境变量/etc/profile 全...原创 2019-10-15 11:44:31 · 189 阅读 · 2 评论 -
Linux系统启动时间优化
优化系统启动时间前提(******重点):(1) 首先要熟悉系统启动流程,以及每个流程中具体所做的事情(2) 测量系统启动流程中每一步所花费的时间(这个时间需要与最终优化时间进行对比)A. 分析有没有垃圾代码,重复代码,无用代码,有的话,裁掉--------减轻负担a. 了解客户需求,分析客户系统中有什么功能,对应哪些模块,对应哪些代码,之后查看系统中包含哪些模块,有哪些没有用到的但是却...原创 2019-10-31 20:54:02 · 4221 阅读 · 4 评论 -
Qt-C++编程
Qt的作用,用图形界面的方式实现输入输出。Qt中提供常用的视图组件,qt已经定义的工具类:成员变量、成员函数Qt程序的基本结构#include “qapplication.h”//#include #include “qwidget.h”int main(int argc,char **argv){QApplication app(argc,argv);QWidget *w=new...原创 2019-10-14 21:01:44 · 1469 阅读 · 2 评论 -
linux c语言高级编程-常用函数
本篇介绍几个常用函数:1.睡眠函数sleep,usleep2.时间函数time,localtime,gettimeofdaytime和localtime进行组合来显示当前的北京时间(包括,年,月,日,时,分,秒,星期等)gettimeofday可以用来计算代码执行时间3.随机数函数rand,srand(1)睡眠函数#include <unistd.h> uns...原创 2019-10-14 10:35:38 · 189 阅读 · 2 评论 -
linux c语言高级编程-文件操作
文件操作主要有以下几个函数:1.打开文件2.关闭文件3.读文件4.写文件5.创建文件6.删除文件7.检测文件状态8.文件指针移动9.ioctl10.其他文件操作函数 标准IO和原始IO: (1)原始IO(linux系统向外提供的标准API函数接口) open,read,write,close(他们既可以操作设备,也可以操作文件) (2)标准IO(c语言对于原始I...原创 2019-10-11 17:05:11 · 414 阅读 · 2 评论 -
linux c语言高级编程-线程进阶
本篇主要讲线程互斥,同步,信号量基础知识线程互斥是为了解决不同线程之间操作统一资源所出现的问题,比如说全局变量中有一个int a变量,两个线程如果都对这个变量a进行赋值的话,那么此时就会出现一个问题,到底是A线程赋值给了a,还是b线程赋值给了a,如果再有另外一个线程读取这个变量a的话,到底是哪个值?这就不知道了,产生了未知情况,此时就需要用锁来解决,每次访问这个这个资源之前先加锁,访问完成之后...原创 2019-10-12 18:02:44 · 154 阅读 · 2 评论 -
linux c语言高级编程-进程进阶
本篇主要介绍linux进程间通信方式以及使用实例进程间通信主要有以下几种方式:1.管道(有名管道,无名管道,标准流管道)2.设备映射3.共享内存4.信号量5.消息队列6.网络(网络通信涉及到了socket编程,下篇介绍)双工:同一时刻,双方可以同时进行收发操作半双工:双方可以进行收发操作,但同一时刻只能一方发,另一方收单工:任意时刻,只能一方发,另一方收管道Linux管道有...原创 2019-10-14 18:03:01 · 378 阅读 · 1 评论 -
linux c语言高级编程-网络编程进阶
本篇主要介绍自定义网络协议以文件传输为例:协议:自已收发数据时,对数据的说明。双方定制的。一般有两种模式:图表、.h文件文件 编写说明 id 每次发送有编号,代表哪次发的数据 cmd 代表对方要做什么 len 数据总长度 例如200M*1024*1024 size 本次发送的长度 err 错误号 note ...原创 2019-10-15 10:46:03 · 328 阅读 · 2 评论 -
linux oss驱动分析(二)
linux oss驱动分析(二)设备读写linux设备读写其实及内部是将上层应用程序传进来的buf送到CODEC或者将从CODEC获取到的数据拷贝到用户buffer中。当然,这其中最复杂的也就是实际的buffer轮转过程,一般都会牵扯到DMA,这对于新手来说是比较复杂的,笔者也是新手,但是由于已经工作了,看到了实际代码,也算是基本了解了其实际运转过程。下面来说一下自己对于实际内核代码种关于OSS...原创 2019-09-27 16:30:57 · 428 阅读 · 2 评论 -
linux oss驱动分析(一)
linux oss驱动分析(一)设备注册linux oss驱动核心文件为/sound/sound_core.c。如下:在linux内核中配置了SOUND_OSS_CORE,init_soundcore就会生效。init_soundcore中主要做了:1.注册了字符设备sound,以及操作函数soundcore_fops2.在/sys/class中创建了sound设备类节点,而后调用的...原创 2019-09-26 17:01:01 · 1603 阅读 · 2 评论 -
linux c语言高级编程-目录操作
目录操作总共有以下几个函数:1.创建目录 int mkdir(const char *pathname, mode_t mode);2.删除目录 int rmdir(const char *pathname);3.查看目录状态 int stat(const char *path, struct stat *buf);4.打开目录 DIR *opendir(const char *name)...原创 2019-10-11 15:03:14 · 635 阅读 · 2 评论 -
linux-kernel4.4.94-framebuffer驱动介绍
提示:此部分内容看完之后,可以自动手动添加屏幕到fb中(关注panel部分即可)。从模块上面来讲,framebuffer总共分为了几部分,分别是:(1) fb本身驱动(kernel-4.4.94中的drivers/video/fbdev/core/fbmem.c文件中的fbmem_init中注册了字符设备fb)内核配置如下:Dsi(选中dsi即可):(2) 平台framebuffer实现部分(drivers/video/fbdev/ingenic/fb_v12/ingenicfb.c文件中的i原创 2020-12-21 17:51:24 · 1506 阅读 · 0 评论 -
ARM汇编
arm体系结构一、arm汇编1.典型的嵌入式处理器x86 PC机, 不用于嵌入式arm RISC指令集 市场79.5%mips RISC指令集 占市场13.9% ARM及MIPS在市场中为常用处理器microSPARC SUN 占市场3.1%PowerPc IBM 占市场2.8%其它 占市场0.8%2.计算机体原创 2021-01-06 17:32:14 · 680 阅读 · 0 评论