自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 HI35xx平台:采用海思交叉编译编译gSOAP生成的onvif框架,出现报错

根据大牛们的指导步骤,一步步生成onvif代码,在编译的时候出现了图下情形:发现newlocale 和uselocale,都是系统接口,然后man一下,发现glibc?查看海思指导手册我编译的时候采用的arm-hisiv300-linux-gcc,后面把它换成arm-hisiv400-linux-gcc后,编译ok。注:最后看到大神们说gSOAP工具的缺陷不说了,研究http库和xml库去了...

2020-06-24 12:03:35 989 1

原创 如何将man手册设置成中文

sudo apt-get install manpages-zh

2020-05-29 16:40:02 1729 1

原创 linux根目录解释

一、 /bin 目录看到“bin”大家应该能想到 bin 文件, bin 文件就是可执行文件。所以此目录下存放着系统需要的可执行文件,一般都是一些命令,比如 ls、 mv 等命令。此目录下的命令所有的客户都可以使用。二、 /dev 目录dev 是 device 的缩写,所以此目录下的文件都是和设备有关的,此目录下的文件都是设备文件。在 Linux 下一切皆文件,即使是硬件设备,也是以文件的形式存在的,比如/dev/ttymxc0(I.MX6ULL 根目录会有此文件)就表示 I.MX6ULL 的串口

2020-05-29 15:24:17 4663

原创 shell:输入输出重定向 /dev/null (附创建根文件系统脚本 仅供参考)

Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。一、输出重定向命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。命令输出重定向的语法为:$ command > file这样,输出到显示器的内容就可以被重定向到文件。注:如果重定向的文件不存在,则创建。“>” 重定向会覆盖文件之前的内容,不想覆盖可以使用“>>”.

2020-05-29 12:59:33 1279

转载 linux网络编程:高并发服务器模型(四) epoll

一、概述

2020-05-27 11:15:52 203

转载 linux网络编程:高并发服务器模型(三) poll

一、概述

2020-05-27 11:06:02 148

转载 linux网络编程:高并发服务器模型(二) Select

一、概述

2020-05-27 11:01:10 144

转载 linux网络编程:高并发服务器模型(一) 多进程 多线程

一、概述

2020-05-27 10:37:04 263

转载 linux应用编程:fork() fflush() 缓存区注意事项

场景:父进程trace进程A,当A进程fork子进程B时,让父进程也fork子进程去trace子进程B,用于trace的进程将被trace的进程发生的系统调用号通过fprintf存入各自文件中问题:printf输出正确,而fprintf到文件的内容会重复(其实就知道了是缓冲问题)解决:在调用fork()前用fflush(fp);清空文件缓冲区原因:在fork()的调用处,整个父进程空间会被复制到子进程中,包括指令,变量值,程序调用栈,环境变量,缓冲区,等等。延伸到stdio缓冲区:stdio缓冲区在

2020-05-25 15:45:55 534

原创 linux应用编程:key_t与ftok函数

#include <sys/types.h>#include <sys/ipc.h>//函数ftok把一个已存在的路径名和一个整数标识符转换成一个key_t值,称为IPC健//该函数把从 pathname导出的信息与id的低序8位组合成一个整数IPC键key_t ftok(const char *pathname, int proj_id);System V IPC的某个给定应用来说,客户和服务器同意使用对该应用有一定意义的 pathname。它可以是服务器守护程

2020-05-25 15:36:40 1108

原创 linux应用编程:标准I/O

一、概述IO是一切实现的基础IO可分为: stdio 标准IO, sysio 系统调用IO(文件IO)两者可用的情况下,优先使用标准IO,可移植性更好man 3 讲的用法, man 7 讲的是机制二、API详细查看 man手册FILE 类型贯穿始终include <stdio.h>errno错误码 /usr/include/asm-generic/errno-base.h 和errno.hperror(); 关联errorno,打印出错信息 pe

2020-05-19 11:25:15 164

原创 数据结构: 栈和队列

目录一、栈1.1 栈的顺序存储1.2 栈的链式存储1.3 小结二、队列2.1 循环队列2.2 链队列2.3 小结栈是限定仅在表尾进行插入和删除操作的线性表。队列是只允许在一端进行插入操作、而在另一端进行删除操作的线性表一、栈限定仅在表尾进行插入和删除操作的线性表称之为栈把允许插入和删除的一端称为栈顶(top),另一端称为栈底( bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出( Last In First Out)的线性表,简称LIFO结构。栈的插入操作,叫作进栈,

2020-05-13 17:03:13 1114

原创 数据结构:linux内核中list表应用(双向循环链表)

目录一、概述二、API接口2.1 初始化2.2 插入2.3 删除2.4 遍历2.5 搬移2.6 合并2.7 其他三、示例一、概述linux内核提供了一个经典通用的双向循环链表list的实现,任何模块都可以借助该接口实现自己的内部循环链表。因为是通用的,可以直接移植到用户态中使用。下面介绍相关链表的插入、查询、修改和删除操作。想深入了解的话直接阅读内核list源代码,代码不是很多,只有list.h 和 types.h。内核源码可以直接下载也可以使用下文给出的链接。二、API接口内核定义了链表的结

2020-05-13 16:59:21 365

原创 数据结构:单向链表、单向循环链表、双向链表

一、概述链式存储结构是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。又称链表。链表特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。这就意味着,这些数据元素可以存在内存未被占用的任意位置(如图所示)。以前在顺序结构中,每个数据元素只需要存数据元素信息就可以了。现在链式结构中,除了要存数据元素信息外,还要存储它的后继元素的存储地址。把存储数据元素信息的域称为数据域,把存储直接后继位置的域称

2020-05-13 16:55:48 1421

原创 数据结构:静态链表

一、概述

2020-05-10 15:45:24 253

原创 数据结构:顺序表

一、概述零个或多个数据元素的有限序列称为线性表。线性表的特征是在一个序列中,除了头尾元素,每个元素都有且只有一个直接前驱,有且只有一个直接后继,而序列头元素没有直接前驱,序列尾元素没有直接后继。数据结构中常见的线性表:顺序表、链表(单链表、双链表、循环链表、循环双链表)、栈、队列、字符串…线性表中的元素为某种相同的抽象数据类型。可以是C语言的内置类型或结构体,也可以是C++自定义类型。存储方式有 顺序存储结构和链表存储结构二、线性表的顺序存储结构线性表的顺序存储结构,指的是用一段地址连续

2020-05-10 10:01:36 1385

转载 HI35xx平台:FreeType2使用总结

一、FreeType2简介是一个免费、开源、可移植且高质量的字体引擎;支持多种字体格式文件,并提供了统一的访问接口;支持单色位图、反走样位图渲染,这使字体显示质量达到Mac的水平;采用面向对象思想设计,用户可以灵活的根据需要裁剪。二、FreeType2字形约定2.1 基本概念字形:字符映像叫做字形,单个字符能够有多个不同的映像,即多个字形。多个字符也可以有一个...

2020-04-27 16:15:20 1658

原创 linux应用编程:时间日期管理

日历时间:用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器会有所不同。在 Linix 系统中,这个标准时间点是 1970 年 1 月 1 日 00: 00: 00。用 time_t 这种数据类型来表示从那一刻到现在所经过的秒数。格林威治时间:即国际标准时间。本地时间:本地时区的时间,全球分为 24 个时区,我国是东 8 区的时间。#inlcude &...

2020-04-23 22:55:32 218

原创 linux应用编程:分析命令行参数 getopt() 函数详解

函数原型 man 3 getopt#include <unistd.h>int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;extern int optind, opterr, optopt;#include <getopt.h>i...

2020-04-15 20:57:11 313

原创 linux网络编程:网络socket基础编程(三) UDP

一、概述

2020-04-15 20:54:02 145

原创 linux网络编程:网络socket基础编程(二) TCP

一、概述

2020-04-15 20:51:56 325

原创 linux网络编程:网络socket基础编程(一) 基础API

一、概述

2020-04-12 12:58:04 432 1

原创 linux应用编程:I/O操作的杂货箱 ioctl

目录一、概述二、应用层接口三、例程一、概述ioctl 为什么会称为I/O操作的杂货箱?那时因为不能用之前 文件I/O 操作的地方,通常都能用ioctl来进行操作。下面看ioctl 从应用到驱动的操作机制(网络截图)从上面可以看出,ioctl通过cmd命令和传入arg的方式来进行文件的特殊操作,此机制的应用往往体现在应用程序对硬件设备的控制上面(比如设置串口的波特率、点击电机转速、控制...

2020-04-11 17:34:52 152

原创 linux应用编程:I/O复用之select poll epoll机制

一、 select二、 poll三、 epoll

2020-04-11 10:43:44 155

转载 Hi35xx平台:arm-hisiv300-linux-gcc: Command not found

这是因为宿主机是64 位 而交叉编译器是针对32位的开发板制作的。所以要安装对应的32位库。我的linux宿主机是ubuntu 16.04 64位。安装命令:sudo apt install lib32z1-dev转载:https://blog.csdn.net/you19890102/article/details/52502681后续检测:1、检查/etc/profile环境变量是...

2020-04-10 14:50:09 1129

原创 linux应用编程:五种I/O模型

一、I/O多路复用模型(I/O multiplexing )什么是IO复用?– I/O multiplexing 这里面的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock(I/O流)的状态来同时管理多个I/O流。– 通俗的讲就是在同一个线程里面, 通过拨开关的方式,来同时传输多个I/O流(即分时复用的方式)。– 实现I/O复用的方式有select poll ...

2020-04-09 23:19:23 271

原创 linux应用编程:守护进程

一、概述守护进程( daemon)是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止。由于在 Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才会退出。如果想让某个进程不...

2020-04-06 21:06:27 349

原创 linux应用编程:信号 signal

一、概述

2020-04-06 18:58:03 309

原创 linux应用编程:进程间通信(二) 消息队列

一、概述

2020-04-03 16:49:43 165

原创 linux应用编程:进程间通信(四) 信号量 (进程间线程间同步)

一、概述

2020-04-03 10:55:02 1675

原创 linux应用编程:进程间通信(一) 管道

一、概述

2020-04-01 21:39:25 378

原创 linux应用编程:一篇搞定多线程编程

目录一、概述1.1 简介1.2、分类二、线程函数2.1 pthread_create()2.2 pthread_exit()2.3 pthread_join()2.4 pthread_self()2.5 pthread_cancel()2.6 pthread_attr_init()一、概述1.1 简介进程是系统中程序执行和资源分配的基本单位。每个进程有自己的数据段、代码段和堆栈段。这就造...

2020-03-31 19:08:05 901

原创 linux应用编程:进程间通信(三) 共享内存

一、概述

2020-03-25 19:34:39 192

原创 Matlab: 如何借助中文帮助文档快速了解matlab工具?

中文帮助文档:https://ww2.mathworks.cn/help/

2020-03-25 17:45:33 452

原创 linux应用编程:文件I/O (非缓冲)

一、文件描述符内核的一个重要功能就是文件管理,系统有非常多的文件,内核怎样认识每一个文件呢?—内核采用ID号的方式来标识这些文件:inode号。(节点号)那么这些内核的文件的ID号,在每个用户的程序中是怎样映射的呢? —即:文件描述符。所以,文件描述符是指在一个进程中用于区分内核空间中不同的文件。文件描述符是一个非负整数(0~OPEN_MAX-1),即0~1023。在shell中,描述符...

2020-03-19 23:24:49 266

原创 Openwrt:icmpv6_send: no reply to icmp error

最近在调试MT7621板子发现莫名其妙出现 icmpv6_send: no reply to icmp error 的错误,也不知道具体出现这条bug信息原因因为项目暂时还用不到IPv6的功能,所以只好把IPv6给关闭了,等后续时间允许再来详细研究下,先记录一下关闭IPv6– ① 进入 openwrt目录下的 package/base-files/files/etc/sysct...

2020-03-18 10:05:39 4475 1

原创 Openwrt: /bin/sh: /bin/stty no found

网上的相关解决方式:– opkg update– opkg install stty 或 opkg install coreutils-stty最后还是没用,依然会出现 no found把menuconfig摸索了好久 终于给找着了,坚信openwrt 的menuconfig 绝对有这个命令支持的。make menuconfigBase system ---&gt...

2020-03-14 17:36:11 1516

原创 Openwrt:NFS传输文件

NFS(Network File System) 是一种在 linux 里面支持的比较好的网络文件系统。在 linux里面,用户可以通过 NFS 客户端透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样,非常方便。一、服务端① ubuntu 安装 NFS 服务sudo apt-get install nfs-kernel-server② 接着用管理员权限(su...

2020-03-13 18:06:04 2659

原创 Openwrt:openwrt源码、dl 下载及编译

一、openwrt 源码下载① git clone git://git.archive.openwrt.org/15.05/openwrt.git编译连接(编译的时候会自动下载):git clone --depth=1 https://github.com/mqmaker/witi-openwrt.git② 在下载完后在顶层目录执行./scripts/feeds update -a...

2020-03-13 17:30:41 7048

原创 Openwrt:web中文语言支持,并设置默认中文

一、概述openwrt 源码最开始是只支持英文的,所以需要自己配置添加中文显示,有两种方式可以实现web 中文界面显示:① 直接编译进固件,并设置默认中文;② 在web端设置,并在串口终端在线更新中文包;第一种适合产品化时使用;第二种适合调试用。二、实现2.1 中文包编译进入固件① make menuconfig 选中下面中英文选项。保存退出LuCI ---&gt...

2020-03-13 16:35:40 28501

Creating packages [OpenWrt Wiki].pdf

一份生成ipk软件包的官方文档,详细解释了如何编写一个ipk包的顶级Makefile文件,可以供大家参考,也可以参考本人一篇关于如何创建编译安装ipk的博客,链接https://blog.csdn.net/qq_28812525/article/details/103935816

2020-01-16

空空如也

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

TA关注的人

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