自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HardessGod的博客

主要记录平时开发当中遇到的问题以及解决方法

  • 博客(26)
  • 资源 (27)
  • 收藏
  • 关注

原创 主机无法复制文件到ubuntu虚拟机的解决方法

安装VMware Tools遇到的问题和几种安装方法

2022-06-13 18:59:28 14406 3

转载 【深入理解IOCTL】

深入理解IOCTL一、 什么是ioctlioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:int ioctl(int fd, ind cmd, …);其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,有或没有是和cmd的意义相关的。ioctl函数是文件结构中的一个属性分量,就是说

2022-02-08 15:09:35 2741

原创 open和fopen的区别

1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速度就快、效率高。一般来说,文件“缓冲区”的大小随机器 而定。2.非缓冲文件系统缓冲文件系统是借助文件结构体指针来..

2022-01-27 15:56:59 356

原创 C语言中 # 和##的用法

C语言中 ##用法

2021-11-30 21:44:42 7963 1

原创 国密SM2公钥点压缩解压C源码

国密算法目前在金融方面应用的越来越多,因为其效率比RSA算法更高,所以备受青睐。具体的算法介绍可以参见国密算法介绍文档。该算法是基于ECC算法基础之上,采用推荐的曲线参数ECC256,SM2曲线采用的是y2 = x3 + ax + b,其中a,b就是曲线参数。struct FPECC Ecc256={"FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF", //p"FFFFFFFEFFFFFFFFFFFFFF

2020-06-06 10:47:42 3836 2

转载 Android 8.1 源码_启动篇(二) -- 研究 zygote

Android 8.1 源码_启动篇(二) -- 深入研究 zygote前言在Android中,zygote是整个系统创建新进程的核心进程。zygote进程在内部会先启动Dalvik虚拟机,继而加载一些必要的系统资源和系统类,最后进入一种监听状态。在之后的运作中,当其他系统模块(比如 AMS)希望创建新进程时,只需向zygote进程发出请求,zygote进程监听到该请求后,会相应地fork...

2019-03-07 15:04:23 601

转载 Android 8.1 源码_启动篇(一) -- 深入研究 init

Android 8.1 源码_启动篇(一) -- 深入研究 init前言init进程,它是一个由内核启动的用户级进程,当Linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,确切的说,它是Linux系统中用户控件的第一个进程,所以它的进程号是1。它的生命周期贯穿整个linux 内核运行的始终, linux中所有其它的进程的共同始祖均为init进程。开篇核心源码...

2019-03-06 18:02:02 789

转载 嵌入式基于Flash上的文件系统

 在嵌入式领域,FLASH是一种常用的存储介质,由于其特殊的硬件结构,所以普通的文件系统如ext2,ext3等都不适合在其上使用,于是就出现了专门针对FLASH的文件系统,比较常用的有jffs2,yaffs2,logfs,ubifs。那么对于这几个文件系统,如何选择一个针对自己的硬件最合适的呢?他们各自的特点是什么?性能优劣如何?                                ...

2019-02-13 12:04:43 4166

原创 python使用lxml库爬取短视频

        Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。        目前python的开发越来越广泛,设计到web、后端、桌面应用程序、软件开发、科学统计等方面。其广泛性、灵活性、移植性、易读性、简单性等特点越来越收欢迎。在大数据时代,我们...

2019-01-21 15:44:05 738

原创 C语言 红黑树插入/删除/查找/遍历

1 红黑树介绍红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。除了具备该特性之外,红黑树还包括许多额外的信息。红黑树的每个节点上都有存储位表示节点的颜色,颜色是红(Red)或黑(Black)。红黑树的特性:(1) 每个节...

2018-12-14 18:31:04 5485

原创 C语言 AVL平衡二叉查找树 插入/删除/遍历/查找

AVl树:平衡二叉查找树,树中任何节点的两个子树的高度最大差别为1。如下图所示AVL树的查找、插入和删除在平均和最坏情况下都是O(logn)。如果在AVL树中插入或删除节点后,使得高度之差大于1。此时,AVL树的平衡状态就被破坏,它就不再是一棵二叉树;为了让它重新维持在一个平衡状态,就需要对其进行旋转处理。1. AVL树的结构    typedef struct AVLTreeN...

2018-12-13 17:32:20 1505 2

原创 C语言 双链表 插入/删除/查找/遍历/递归/合并/排序

       双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。1 双链表数据结构1.1 新增节点图解1.2 删除一个节点图解2 双链表操作         双链表和单链表在操作主要区别在于插入和删除,双链表需要修改...

2018-12-12 18:29:46 2446

原创 C语言 单链表 插入/删除/查找/遍历/递归/合并/排序

       单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。1 链表结构    2 链表操作    链表操作难度不大,只要我们熟悉其数据结构,说白了就是操作指针。下面附上我对单链表的相关...

2018-12-12 14:34:41 3272

原创 andriod进入adb shell

1 adb环境配置      下载好andriod studio后,安装完成后,需要下载adb-driver和adb-tools,然后安装adb-tools,安装完成后可以在工具里面查看sdk安装位置具体在 andriod studio tool->SDK manager 里面查看。      我们把具体的环境路径配置到我们电脑的环境变量里面去,例如我的adb 安装路径是C:\Use...

2018-12-03 17:00:43 800

原创 嵌入式软件架构设计

摘要在开发中一直觉得好的软件架构可以做到事半功倍,而且可以做到代码复用和移植。但是如果没有架构或者说架构很差,那么移植将是很痛苦的事,特别是对不熟悉改功能的人来讲还不如自己写呢,移植不对那将是很头疼的事。所以随着开发越来越多,渐渐的发现我们考虑问题应该从广度和深度来考虑,做新项目的时候,更应该考虑到以后出现的可能性,比如说需求变更,底层变更,所以这个时候软件的架构和程序模块化就很重要。...

2018-08-31 11:49:26 18399 7

原创 c++ 深入理解虚函数和多态原理

c++ 深入理解虚函数为什么使用虚函数?什么是虚函数?虚函数是为了解决什么问题?面向对象的三大特征:封装 多态 继承普通虚函数 虚析构函数 纯虚函数 抽象类 接口类 隐藏 vs 覆盖 隐藏与覆盖之间的关系 早绑定和晚绑定 虚函数表什么是多态?相同对象收到不同消息或不同对象收到相同消息时产生的不同的动作。静态多态 vs 动态多态[-:>静态多态也...

2018-07-30 14:24:25 520

原创 国密系列算法简介

众所周知,为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。目前,这些算法已广泛应用于各个领域中,期待有一天会有采用国密算法的区块链应用出现。其中SM1、SM7算法不公开,调用该...

2018-06-14 17:12:41 5410 3

转载 stm32f10x.h 头文件解析

#ifndef __STM32F10x_H//如果没有定义__STM32F10x_H ,则定义__STM32F10x_H #define __STM32F10x_H#ifdef __cplusplus//   extern "C" {#endif    这里是一种条件编译。extern "C"指令非常有用,因为C和C++的近亲关系。注意:extern "C"

2017-11-07 17:47:26 5576

原创 关于stm32f030增加bootloader后外部中断不响应的问题

问题描述:   最近在调试stm32f030芯片,增加bootloader后,可以正常跳转到应用程序,程序能够正常跑起来,但是却不进DMA中断,外部中断无法响应,这个问题找了好久....源码:void NVIC_Configuration(void){ uint32_t i = 0; /* Relocate by software the vector table t

2017-06-08 18:36:19 4016 1

转载 stm32 RTC时钟配置

stm32——RTC实时时钟一、关于时间  2038年问题  在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件

2017-03-15 16:03:29 8727

原创 linux 关于线程创建的总结

linux中创建线程要比windows创建系统简单些,至少从参数上将少很多int  pthread_create((pthread_t  *thread,  pthread_attr_t  *attr,  void  *(*start_routine)(void  *),  void  *arg)参数thread:线程idattr: 线程属性设置第三个参数:线程处理函数arg:

2017-01-16 14:10:13 1485

原创 linux c 关于文件目录操作的总结

这篇文章主要是关于文件目录的相关操作,在linux平台下也是经常用到的一个操作,所以这篇文章应该先于上一篇关于文件的操作,一般我们创建文件夹后,才会进行关于文件的一些操作。提示一点创建目录时候,这能一级一级的创建不能创建多级,如若创建多级,则需要循环创建。这里先介绍一下关于当前工作路径的问题,一般我们都是在某一个目录下进行文件或者文件夹的操作,但是一旦我们对文件进行夸目录操作后,可能不

2017-01-16 11:39:41 943

原创 linux c 关于文件操作的编程总结

最近由于项目需要,一直在做关于linux环境下的服务端的开发,因此必不可少的就会有文件操作,线程,通信等这方面的一些积累和总结。1、文件的读写操作fopen,fseek,fread,fwrite,fclose等文件的读写作为最基本的操作,是我们必须要熟练的基本技能,因此对于文件读写的一些基本函数的使用也必须熟练使用。我们要完成文件的操作就必须要用到文件指针FILE* fp,下面

2017-01-16 10:34:12 570

原创 linux环境下使用eclipse编译器编写C程序时候遇到的问题以及解决方法总结

最近在linux环境使用eclipse编辑器进行服务器端程序的编写,由于是新手所以在使用过程中,遇到一些问题,并解决后做了如下的记录。本人也会一直记录下去,希望也能供大家参考。1.  Type xxx is not be resolved        出现该问题是,首先对工程进行clean,然后其次检测jdk版本是否有要求,如果还不能解决问题,点击工程属性properties,然后选

2016-12-28 14:31:19 748

原创 centos或者ubuntu中关于.vimrc的配置

.vimrc文件类似于小番茄一样对我们的编程有极大的帮助,但是如何配置呢; .vimrc文件位于/root目录下(普通用户模式下也有该文件),所以我们必须是以管理员身份去配置它,首先我们检查vim有没有安装,如果没有安装,那么我们需要先安装 vim。然后等安装完毕后,我们可以导入别人配置好的.vimrc或者自己配置都可以,剩下的配置都比较简单了,如下所示:  1 """""""""""

2016-10-14 15:21:21 2549

转载 Linux vi常用命令大全

初学Linux时, 我们接触最多的就是Linux操作系统中的各种命令了。vi是我们在Linux中最常用的编程工具,所以下面的这些命令不需要全部记住,记住常用的就好vi命令模式中可用的移动键: h---将光标向左移一个字符 j---将光标向下移一个字符 k---将光标向上移一个字符 l---将光标向右移一个字符 w---将光标向前移一个单词 b---将光标向后移一

2016-10-14 15:07:05 546

嵌入式bin文件转hex文件C源码

将bin文件转换成对应的hex文件

2022-12-21

linux下使用vscode搭建STM32开发环境流程资料

从头到尾搭建linux下mcu开发环境,包含了很多心血,遇到很多问题,也都全部解决了,希望该资源可以给需要的同志答疑解惑,提供帮助

2022-06-29

基于linux环境搭建GD32F303开发环境

从虚拟机安装到编写Makefile进行工程管理

2022-06-15

VC++ QRcode二维码解码器程序源码.rar

本资源是在vs2012编译器下面,修改调试支持二维码解码的c++源码,目前只支持bmp格式的二维码进行解码,可视化可以看到解码内容,二维码可以在网上随意生成字符类型的二维码

2020-04-16

C语言实现面向对象思想编程

附件是在VS2012下用C语言实现面向对象的示例代码,并实现设计模式中的工厂模式

2019-05-16

sm4对称加密算法源码

资源是sm4算法实现源码,里面包含C和C++两个版本的win32源码测试程序。C语言的加解密经过测试没有问题

2019-05-05

底层库通过JNI回调android层接口

文档代码演示了android底层库回调上层应用,实现的原理就是先通过android的JNI指针调用底层接口,然后在通过指针调用实现底层调用上层接口。 我们在使用的时候,根据库的性质,需要在androidmanifest.xml 里面设置相应的权限 例如网络权限 还有就是要保证底层JNI库的包路径和上层调用库的包路径一致

2019-04-17

纯Csm2算法源码

该资源时纯C源码,可以在任意平台下编译,,本人在QT下经过整理并调试通过,里面有测试数据,其功能有签名,验签,加密和解密等,在windows和linux都可以使用

2018-11-28

cv520和kt两种读卡芯片读卡部分驱动源码

这里有两种读写卡的芯片的底层实现源码,两种读写卡的芯片各有优劣,与读卡版交互主要采用是是spi通信。比较的读卡源码,很珍贵

2017-11-07

嵌入式文件系统

最近在调试文件系统,移植到项目中,然后做了底层的封装,ff_interface为文件系统接口直接调用即可,文件系统很方便的管理flash,读写也很方便

2017-10-24

stm32f407 GPRS通信源码

stm32f407 GPRS 数据通信源码

2017-06-23

RSA算法公钥私钥加解密C语言源码调试通过

RSA非对称加解密算法,目前主流的加密算法,采用大数库生成大素数,然后根据算法原理,进行大数运算;算法在生成大素数时候相对耗时,但是在加解密的时候速度比较快,目前本算法支持512-2048位的加解密算法,并测试通过,C++版本的也已经上传

2017-04-14

RSA算法源码实现公钥私钥加解密的mfc程序

RSA非对称加密算法,通过mfc实现大素数的生成,目前只支持1024、2048位;同时实现公钥私钥的加解密,也可以自己单独提取并封装接口

2017-03-31

linux tcp协议的创建

该文件主要是创建tcp客户端和服务端的连接

2017-01-16

嵌入式C语言汉字显示

本人自己封装在lcd屏幕闪显示汉字的过程,首先要理解汉字显示原理,其次自己实现查找并或者正确的字模顺序,最后按照每个点画出相应的颜色。需要的朋友自己下载下来,有些函数需要修改一下,例如画点函数

2016-12-14

汉字字模生成工具

该软件在lcd屏幕上进行显示汉字时候,可以获取不同规格大小的汉字字模,然后读取数据进行显示,该工具是显示汉字必不可少的工具,免费的

2016-12-12

c语言字符串处理相关函数

该文档是本人自己整理的C语言中对字符串处理的一些系统api,,有些经常使用,有些不常使用,但是要是能够记住,相信肯定很有帮助

2016-12-06

条形码嵌入式C语言生成源码

该版本为C语言版本的条形码生成源码,,采用EAN13编码规则,在lcd屏幕上已经显示出来,使用者需要实现画线和绘制文本的功能函数,以及本分数据类型的重定义,修改完成即可,,主要是实现原理以及流程

2016-12-01

条形码 vc++ 生成源码

该工程为c++版本的条形码生成源码,,采用EAN13编码规则,支持12位数字的存储,本人直接把整个工程上传了,下载下来直接打开vs就可以运行,输入12位的数字或者随便找一个书本或者签字笔上面的条形码输入即可

2016-12-01

嵌入式C语言二维码源码实现

该源码是我在自己的设备上自己实践过,可以快速高效的显示出我们想要的二维码,里面需要加入自己重定义的数据类型头文件,以及自己需要实现绘图函数

2016-11-24

jpeg转bmp格式

该代码经过实践,能够完成从jpeg到bmp图片的转换,特别是在嵌入式当中,在网络传输时候进行压缩,然后在使用时候进行解压缩,然后显示在屏幕上

2016-11-24

jLink仿真器

jLink仿真器,模拟ARM内核,可以进行快速的仿真和调试,方便开发

2016-11-21

linux 驱动开发

介绍了linux驱动开发过程

2016-10-27

C语言开发详解

该书系统讲解了C语言开发过程,适合初学者,特别是在linux系统下的学习

2016-10-27

加密技术库

加密技术

2016-10-14

空空如也

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

TA关注的人

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