自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【直观详解】线性代数的本质

【阅读时间】1小时左右 words 14069words 【内容简介】将只停留在数值运算和公式的线性代数推进到可视化几何直观(Visual Geometric Intuition)的领悟上,致敬3B1B的系列视频的笔记,动图也都来自于视频。内容涉及到基变换,叉积,逆矩阵,点积,特征向量与特征值。每...

2020-02-27 16:14:07 252 0

原创 工作问题经验整理(2)——带版本号so库文件含义和主程序链接so库机制

一、(20190412) 1、问题描述: 库的生成:项目工程 TestProj 中使用zlog开源日志库,使用两种方式编译生成so库: A:使用源码中自带makefile进行编译,会产生libzlog.a/libzlog.so/libzlog.so.1/libzlog.so.1.1(A) 四...

2019-04-12 11:43:51 563 0

原创 工作问题经验整理(1)——在so库中日志写到主程序日志文件

一、(20190316) 1、问题描述:需要在so库中写日志,可以采用两种方法(网络开源日志库很多,比如zlog日志库): (1)so库自己定义写日志函数,自己管理日志文件; (2)在调用so库的主应用程序中写日志,同时需要将so库中的日志写入到主应用程序的日志文件里面,由主应用程序统一进...

2019-03-16 09:09:48 242 0

原创 Linux下5种IO模型以及阻塞/非阻塞/同步/异步区别

目录 1. 引言 2. Linux下的五种I/O模型 2.1 I/O发生时涉及的对象和阶段 2.2 阻塞I/O模型(blocking I/O)  2.3 非阻塞I/O模型(non-blocking IO) 2.4 I/O复用模型(I/O multiplexing) 2.5 信号驱动I...

2018-11-14 17:47:11 2089 1

转载 [转]正则表达式验证Ip地址(绝对正确)

之前一直不太会写正则表达式,很多要用到正则表达式的都直接百度,像上次要用正则表达式验证是否是合法的ip地址,然后就上网找,结果就是没找到一个对的,今天就为大家贡献一下,写个对的,并做一下解析。(建议大家还是去看书去规范的学一下,不要直接百度,不然都是坑)。 iPv4的ip地址都是(1~255)....

2019-12-21 16:49:41 102 0

原创 工作问题经验整理(3)——使用"/proc/self/exe"获取程序绝对路径

1、问题描述: (1)原来在linux执行可执行文件Tester,启动脚本都是直接cd到Tester所在路径(假设为路径A),然后再启动Tester; (2)这次在其他目录(假设为路径B)启动ester,发现Tester在打开某些配置文件的时候失败,提示找不到对应文件; 2. 问题分析: ...

2019-09-20 16:53:44 191 0

原创 vs2017编译项目报错:Microsoft.Cpp.Clang.targets(212,5): error MSB6006 处理方法

目录 一、问题描述 ​二、原因分析 三、配置详细信息 四、详细信息分析 五、解决方案 六、不足或缺点 一、问题描述 编译项目的时候,报下面错误,截图如下: 二、原因分析 错误显示退出代码为5(5=accessdenied),怀疑检查目标目录是否可写或是否可以访问到; 三、...

2019-05-08 16:26:38 576 0

原创 sqlite3接口API函数备注(2)

目录 一、打开数据库文件 二、预查询过程:准备-执行-完成 三、扩展:使用参数化SQL (sqlite3_prepare_v2 ) sqlite3_prepare_v2 和 参数化SQL 使用示例: 四、封装查询sqlite3_exec 五、遗留查询接口(不推荐使用)sqlite3_g...

2019-04-04 23:52:39 449 0

原创 工作遇到小技巧

一、xlsx表中需要知道某一列数据是否连续数字,使用xlsx自带的 IF函数 可以实现: 二、vs2017 快捷按钮 (1)F12:跳转到函数定义; (2)Alt+F12:本窗口显示函数定义;Esc 退出; ...

2019-04-04 10:09:13 58 0

原创 sqlite3操作备注(1)

目录 一、基本操作命令(Linux) 二、使用.output/.dump/.read 命令,通过脚本来 保存或创建 数据库表 三、另一种使用 .dump 命令导出导入整个数据库 的例子 四、使用 .import 导入数据库表的内容 五、附加数据库 attach/detach 一...

2019-04-03 11:24:06 489 0

转载 ECC加密算法入门介绍

在线搜索 | 有问题找看雪 ECC加密算法入门介绍 标 题:ECC加密算法入门介绍 作 者:zmworm 时 间:2003/05/04 08:32pm 链 接:http://bbs.pediy.com ECC加密算法入门介绍 作者 :ZMWorm[CCG] E-Mail:zmworm@s...

2019-03-04 16:03:53 82 0

转载 全面认识电子现金、电子钱包、qPBOC、闪付、UPCash

  最近,小编所在的一个金融大咖群里出现了一场关于电子钱包、电子现金、非接小额、脱机交易等等方面的讨论,小编入行不久关于技术知识了解甚微,看着这些专业名词、英文缩写有点像丈二的和尚。为了能大致弄懂这些大咖们在说些什么,我恶补了一下金融IC卡以及相关应用方面的知识,在此分享给大家。文章内容大多来源于...

2019-03-01 18:08:58 489 0

转载 金融tag对照表

tag 说明 格式 长度 值 描述 4F 应用标识符(AID) b 注册应用提供商标识(RID)和专用标识符扩展:A000000333010101A000000333确定UICS注册应用提供商(所有的卡片都一样),0101...

2019-02-28 09:48:04 151 0

原创 支付机构AID汇总(部分)

AID-应用标识符的组成规则 AID:即唯一标识一个应用,分为两部分,RID(5字节)+PIX(最多11字节) RID:注册标识符,由ISO组织来分配,标识一个全球唯一的应用提供商,一般是分配给卡组织。 PIX:扩展应用标识符,一般是由应用提供商自己定义。 Card scheme ...

2019-02-28 09:43:20 516 0

转载 非接环境(PPSE)和接触环境(PSE)的FCI有什么区别

FCI 产生区别的原因在于非接环境做交易有可能走快速支付的流程,为了减少交易时间就必须要优化指令流。有人可能会有疑问,如果是走非接PBOC,PPSE的FCI是否就可以和PSE一样了?答案是否定的,因为在选择PPSE阶段,卡片并不知道这笔交易后面会走借贷记还是快速支付。 首先,PPSE环境的交易不...

2019-02-20 10:11:40 494 0

原创 Linux下uboot学习备记

1、uboot不可以在挂载目录下进行配置和编译 uboot在编译之前需要先根据不同开发板进行配置,比如"make x210_sd_config"进行配置之后,才可以执行"make"进行编译;注意uboot在Makefile文件中引入了uboot编译配置文件...

2018-11-26 10:51:27 153 1

原创 Linux内存管理之SLAB内存分配器

目录 一、前言 1、 为什么需要SLAB内存分配器 2、 SLAB内存分配器作用 3、 SLAB内存分配器工作机制 4、 SLAB相关说明      (1)SLAB与伙伴(Buddy)算法      (2)SLAB与对象      (3)SLAB与per-CPU缓存 二、SLAB...

2018-11-20 09:23:28 289 0

转载 kmalloc分配内存大小的限制和宏的一种用法

kmalloc是通过cache来实现的, 只不过每次kmalloc的大小不同, 因此是从不同的cache中分配: /* include/linux/slab.h */ // 注意kmalloc是在头文件中定义的 static inline void *kmalloc(size_t size, ...

2018-11-19 17:58:17 256 0

转载 kmalloc/kzalloc/vmalloc/malloc和get_free_page的区别

目录 1. 简述 2. linux内存分布图:​ 2.1 kmalloc 2.1.1 kmalloc和get_free_page申请内存方式 2.1.2 kmalloc的用法 3、kzalloc 4、vmalloc 5、kmalloc、get_free_page和vmalloc的区...

2018-11-19 09:31:07 95 0

原创 select与阻塞/非阻塞IO

目录 1、引言(select应用场景) 2、select意义 3、select 说明 4、 select使用例子 5、浅谈select阻塞机制 1、引言(select应用场景) 很多人把【阻塞/非阻塞socket】和select联系在一起,需要指明select函数与【阻塞/非阻塞so...

2018-11-14 10:57:11 947 0

转载 深入浅出Linux 设备驱动编程

【转自】https://www.cnblogs.com/zhang-xiao/archive/2013/01/02/2842351.html 目录 1.引言 2.Linux 内核模块  3.字符设备驱动程序 4.设备驱动中的并发控制 5.设备的阻塞与非阻塞操作 6.设备驱动中的异步通...

2018-11-12 11:25:41 451 1

转载 linux内核中的get_user和put_user

内核版本:2.6.14 CPU平台:arm 嵌入式开发交流群:289195589,欢迎加入! 在内核空间和用户空间交换数据时,get_user和put_user是两个两用的函数。相对于copy_to_user和copy_from_user(将在另一篇博客 linux内核中的copy_to_u...

2018-11-12 10:28:32 1109 0

转载 linux内核中的copy_to_user和copy_from_user

Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123(http://blog.csdn.net/ce123) 1.copy_from_user 在学习Linux内核驱动的时候,经常会碰到copy_from_user和copy...

2018-11-12 10:19:06 249 0

转载 module_init解析

module_init这个函数的具体功能和执行过程,在kernel源码目录中找到include\linux\init.h文件  #define module_init(x) __initcall(x); 有对module_init 的定义,我们发现 module_init(x) 是一个...

2018-11-12 09:13:23 258 0

转载 ioctl()分析——从用户空间到设备驱动

一个字符设备驱动通常会实现常规的打开、关闭、读、写等功能,但在一些细分的情境下,如果需要扩展新的功能,通常以增设ioctl()命令的方式实现,其作用类似于“拾遗补漏”。在文件I/O中,ioctl扮演着重要角色,本文将以驱动开发为侧重点,从用户空间到内核空间纵向分析ioctl函数。  用户空间...

2018-10-23 10:28:05 343 0

转载 PNP三极管和NPN三极管的开关电路

=================================================================== 三极管,全称应为半导体三极管,也称双极型晶体管、晶体三极管,是一种电流控制电流的半导体器件·其作用是把微弱信号放大成幅度值较大的电信号, 也用作无触点开关。晶体...

2018-10-19 12:01:36 11466 0

转载 S3C2440的内存管理单元MMU学习笔记

1.MMU简介    MMU(Memory Management Unit),内存管理单元,主要职责:将虚拟地址映射为物理地址,提供硬件机制的内存访问权限检查。MMU使得每个用户进程拥有自己独立的地址空间,并通过内存访问权限的检查保护每个进程所用的内存不被其他进程破坏。 2.基本概念 1)地...

2018-06-25 11:36:11 343 0

转载 (嵌入式)关于arm中的存储控制器

实验目的:由于开发板(JZ2440 V3)上电后从Nand flash启动CPU时,CPU会通过内部的硬件将Nand flash的前4K数据复制到称为“Steppingstone”的4K内部SRAM中(起始地址为0),然后跳到地址0开始执行。这个实验我们先用汇编语言设置好S3C2440芯片内部的存...

2018-06-19 17:01:48 1931 0

转载 NAND Flash和 NOR Flash的区别

ROM和RAM指的都是半导体存储器,ROM是ReadOnly Memory的缩写,RAM是RandomAccess Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM有两大类,一种称为静态RAM(Stati...

2018-04-21 16:48:48 227 0

原创 嵌入式linux应用开发完全手册(二)

第二篇 ARM9 嵌入式系统基础实例篇第五章 GPIO接口5.1 GPIO硬件介绍GPIO(General Purpose I/O Ports)意思为通用输入/输出端口,通俗的说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态——是高电平还是低电平。5.1.1 通过寄存器来操作G...

2018-04-21 11:34:38 391 0

原创 嵌入式linux应用开发完全手册(一)

第一篇 嵌入式Linux开发环境构建1.1.2 嵌入式发展SCM(Single Chip Microcomputer)单片机;MCU(Micro Controller Unit)微控制器;SoC(System on a Chip):系统级芯片,在一个芯片上由于广泛使用预定制模块IP(Intelle...

2018-04-08 14:08:50 3248 0

转载 Win32串口编程

在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串...

2018-04-08 14:07:58 70 0

转载 linux下错误使用pthread_mutex_lock导致程序奔溃问题分析

在进行程序开发过程中,错误使用了pthread_mutex_lock导致程序报如下错误:问题分析:

2018-04-08 14:07:07 850 0

原创 服务器中判断客户端socket断开连接的方法

1, 如果服务端的Socket比客户端的Socket先关闭,会导致客户端出现TIME_WAIT状态,占用系统资源。所以,必须等客户端先关闭Socket后,服务器端再关闭Socket才能避免TIME_WAIT状态的出现。2, 在linux下写socket的程序的时候,如果尝试send到一个disco...

2018-04-08 14:06:47 704 0

转载 结构体定义:struct与typedef struct 用法详解和用法小结

黑体二 三是关键 一、typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT; typedef int ARRAY[10]; typedef (int*) ...

2018-01-27 15:52:29 221 0

转载 SVN创建,切换,合并,删除分支

1.创建分支 右击已经存在的SVN项目->branch/tag,弹出框的to path输入新的分支名称,建议/branch/xxx,点击OK就创建出xxx分支.(建议创建前先svn update) 2.切换分支 右击已经存在的SVN项目->switch,弹出框的to ...

2018-01-04 09:41:59 565 0

转载 服务器中判断客户端socket断开连接的方法

1, 如果服务端的Socket比客户端的Socket先关闭,会导致客户端出现TIME_WAIT状态,占用系统资源。所以,必须等客户端先关闭Socket后,服务器端再关闭Socket才能避免TIME_WAIT状态的出现。 2, 在linux下写socket的程序的时候,如果尝试send到一个d...

2017-11-23 00:21:57 5326 0

转载 linux下错误使用pthread_mutex_lock导致程序奔溃问题分析

在进行程序开发过程中,错误使用了pthread_mutex_lock导致程序概率性的奔溃,奔溃时报如下错误: 问题分析: 本文分析在Linux应用程序中错误使用pthread_mutex锁时会概率性触发SIG_ABRT信号而导致程序崩溃(库打印输出 :Assertion `mutex-...

2017-11-22 23:26:39 12605 0

原创 linux网络编程(13)——服务器模型选型

13linux服务器模型选型

2017-04-17 17:32:52 378 0

原创 linux网络编程(12)——原始套接字编程

12linux原始套接字编程

2017-04-17 17:29:56 303 0

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