自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

li6322511的专栏

持之以恒,积小胜为大胜 积跬步致千里。

  • 博客(74)
  • 资源 (10)
  • 收藏
  • 关注

转载 NSIS 脚本知识汇总

NSIS 基础知识汇总

2022-04-11 11:21:36 2678

原创 学习网址

逆向工程:https://www.freebuf.com/articles/system/86596.html

2021-03-22 10:32:24 94

转载 STL 迭代器失效性问题总结

STL 迭代器失效性问题总结我们讨论 vector, deque, list, set, map 的迭代器失效问题。vector 迭代器当插入一个元素后,插入点之前的迭代器如果未扩容则不受影响,插入点之后的迭代器失效;当插入一个元素后,capacity 如果有变化,则容器需要重新分配内存,所有迭代器都会失效;当进行删除操作后,指向删除点及之后元素的迭代器全部失效。deque 迭代器在容器 begin/end 插入操作所有迭代器不受影响;在容器非 begin/end 的位置插入和删除操作都会

2021-02-28 16:41:43 272

转载 windows IO模型分析

重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时管理不止64个套接字,必须创建额外的工作者线程,以便等待更多的事件对象。因为操作系统同时能够处理的事件对象是有限的,所以基于事件对象的I/O模型不具备伸缩性。使用完成例程通知的..

2021-02-25 18:43:26 158

转载 Mutex和Critical Section的异同点

http://hi.baidu.com/melee2009这篇文章很细致的比较了Mutex和Critical Section的差异。Mutex和Critical Section都是主要用于限制多线程(Multithread)对全局或共享的变量、对象或内存空间的访问。下面是其主要的异同点(不同的地方用绿色表示)。 Mutex Critical Section 性能和速度 慢。 Mutex是内核对象,相关函数的..

2021-02-25 09:30:24 127

转载 BitTorrent协议分析六

ul int process_handshake_msg(Peer *peer,unsigned char *buff,int len)功能:处理接收到的一条握手消息。参数:从peer接收到这条握手消息;buff指向握手消息;len为buff的长度。函数实现的代码如下:int process_handshake_msg(Peer *peer,unsigned char

2018-01-08 14:50:28 645 1

转载 BitTorrent协议分析五

peer.c文件的头部包含的代码如下:peer.c#include #include #include #include "peer.h"#include "message.h"#include "bitfield.h" extern Bitmap *bitmap; // 指向当前与之进行通信的peer链表

2018-01-08 14:48:56 561

转载 BitTorrent协议分析四

4.2  位图管理模块的设计和实现对位图的操作主要在bitfield.h和bitfield.c中,负责创建位图,设置和获取位图某一位的值,保存位图等。bitfield.h#ifndef BITFIELD_H#define BITFIELD_H typedef struct _Bitmap {     unsigned char  *bitfi

2018-01-08 14:47:43 691

转载 BitTorrent协议分析三

各个模块的设计和实现 4.1  种子解析模块的设计和实现解析种子文件主要在parse_metafile.h和parse_metafile.c中完成。parse_metafile.h文件的内容为:parse_metafile.h#ifndef PARSE_METAFILE#define PARSE_METAFILE //

2018-01-08 14:46:46 573

转载 BitTorrent协议分析二

接一客户端与一个peer建立TCP连接后,首先向peer发送握手消息,peer收到握手消息后回应一个握手消息。l     握手消息是一个长度固定为68字节的消息。消息的格式如下:消息格式中一些参数的含义如表13-9所示。表13-9                                                               握手

2018-01-08 14:44:11 1927

转载 BitTorrent协议分析一

转载说明:原文地址:http://blog.sina.com.cn/s/blog_4ab2ba570100y7fv.html  概要介绍2.1BitTorrent(简称BT)是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已下载的数据。而在FTP、HTTP协议中,每个下载者从FTP或HTTP服务器处下载自己所需要的文件,各个下载者之间没有交互。当非常多的用户同时访问和

2018-01-08 12:05:32 5716

原创 VS2013 IDE 编译7zip

只打算编译Format7zF这部分。解压好7-Zip 16.04版的源码后,进入\CPP\7zip\Bundles\Format7zF,这里有Format7z.dsw和Format7z.dsp这两个VC6.0的工程文件。打开Format7z.dsw,VS2013会自动帮我们转换到可用的工程文件格式。以下是重点~~~~1.选择解决方案里的”7Z“项目后

2017-12-29 16:42:37 507

转载 #define中#和##的作用

#define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ) {     puts(d(f(a,b)));     puts(s(f(a,b))); } 输出结果: f(a,b) ab分析:  ##把两个符号连起来     #a指把a当成符号,就是把#后面的

2017-12-22 14:32:08 182

翻译 windows 窗口样式

1 窗口样式WS_POPUP弹出式窗口(不能与WS_CHILDWINDOW样式同时使用)WS_CHILDWINDOW子窗口(不能与WS_POPUP合用)WS_MINIMIZE创建窗口拥有最小化按钮WS_MINIMIZEBOX创建窗口拥有最小

2017-12-15 16:54:16 2121

转载 设计模式六大原则(6):开闭原则

转载地址:http://blog.csdn.net/zhengzhb/article/details/7296944定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要

2017-10-31 23:51:12 138

转载 设计模式六大原则(5):迪米特法则

转载地址:http://blog.csdn.net/zhengzhb/article/details/7296930定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。         自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无

2017-10-31 23:40:14 136

转载 设计模式六大原则(4):接口隔离原则

转载地址:http://blog.csdn.net/zhengzhb/article/details/7296921定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个

2017-10-31 23:13:17 138

转载 设计模式六大原则(3):依赖倒置原则

转载地址:http://blog.csdn.net/zhengzhb/article/details/7289269定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作

2017-10-31 22:49:56 133

转载 设计模式六大原则(2):里氏替换原则

转载地址: http://blog.csdn.net/zhengzhb/article/details/7281833肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T

2017-10-31 22:23:41 140

转载 迈出从3K到1W的重要一步——掌握设计模式

转载地址:http://blog.csdn.net/zhengzhb/article/details/7247188IT职场的小菜经常有这样的疑问:        为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝;而自己加班加点搞到天亮还做不完。        为什么用户提出需求变更后,大牛只需潇洒地敲敲键盘,改改配置;而自己将代码改了又改,删了又建,几乎晕厥

2017-10-31 17:19:57 197

转载 设计模式六大原则(1):单一职责原则

转载地址:http://blog.csdn.net/zhengzhb/article/details/7278174定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T

2017-10-31 17:16:31 124

转载 设计模式中类的关系

转载地址:  http://blog.csdn.net/zhengzhb/article/details/7187278在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1. 依赖(Dependence)         依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造

2017-10-31 16:04:40 133

转载 C++继承:公有,私有,保护

原文地址:http://www.cnblogs.com/qlwy/archive/2011/08/25/2153584.html公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,

2017-08-28 15:51:56 191

转载 C/C++程序员应聘常见面试题深入剖析

本文转载来自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741367.html 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10

2017-06-17 17:04:49 250

原创 tensorflow安装

先参考tensorflow 官网的安装教程 https://www.tensorflow.org/install/install_linux 1、安装virtualenv ,使用默认的python2就可以sudo apt-get install python-pip python-dev python-virtualenv 2、创建虚拟环境 virtualenv -p /usr/bin/pyth

2017-03-25 22:52:03 506

原创 input子系统学习笔记一:概述

输入设备总类繁杂,包括按键,键盘,触摸屏,鼠标,摇杆等等,它们本身都是字符设备,不过内核为了能将这些设备的共性抽象出来,简化驱动的开发,建立了一个Input子系统.Input子系统分为三层,从下至上分别是输入设备驱动层,输入核心层以及输入事件驱动层.核心层: 高效,无bug,可重用事件处理层: 负责与应用程序交互设备驱动层: 负责与底层输入设备交互事件处理程序是标准的,对于所有的输入类

2016-02-24 16:52:16 394

原创 input子系统学习笔记二:数据结构

主要input通用数据结构  1.input_dev 这是input设备基本的设备结构,每个input驱动程序中都必须分配初始化这样一个结构,成员比较多 struct input_dev {const char *name;const char *phys;const char *uniq;struct input_id id;  //与input_handler匹配用的i

2016-02-24 15:19:45 506

转载 汇编控制指令

1. GNU ARM 汇编简介    任何汇编行都是如下结构:[:] [} @ comment[:] [} @ 注释      GNU ARM 汇编中,任何以冒号结尾的都被认为是一个标签,而不一定非要在一行的开始。下面是一个简单的例子,这段汇编程序定义了一个"add"的函数,该函数返回两个参数的和:[cpp] view plaincopy

2015-11-06 11:31:23 1035 1

转载 运行地址和加载地址

http://blog.csdn.net/ce123_zhouwei/article/details/6990100运行地址和加载地址在连接目标代码时,会提到运行地址和加载地址。这两者有什么区别呢?加载时地址就是程序放置的地址,运行地址就是程序定位的绝对地址,也即在编译连接时定位的地址。如果程序是在flash里运行,则运行地址和加载地址是相同的。如果程序是在ram里运行,但

2015-10-21 20:59:16 391

转载 交叉编译遇到的问题

搞嵌入式真的需要静下心,克服总总的挫败感。。。坚持下去,问题最终都会得到解答。 弄个交叉编译,差点要崩溃了··· 交叉编译出错提示/opt/FriendlyARM/toolschain/4.4.3/libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9'

2015-10-12 16:02:07 657

原创 WIN7 64 安装串口驱动和mini2440USB驱动

win7 64 串口驱动程序网上很容易找到,安装好后,需要重启电脑才行 ,不重启的话,打开串口助手会发生找不到串口。mini2440USB下载驱动http://pan.baidu.com/s/1eQBDfguWIN7 64位在无法正常加载mini2440 USB驱动首先,下载SuperVivi-USB-

2015-10-11 23:11:00 3184 1

原创 ubuntu设置minicom

1、下载:sudo apt-get install minicom在使用minicom之前,首先要保证你对串口有读/写的权限。我们知道,Linux的设备对应于/dev/目录中的某个文件,串口COM1对应ttyS0,COM2对应ttyS1,使用以下命令来查看你对COM1的权限:$ ls -l /dev/ttyS0crw-rw---- 1 root dialout 4, 64 2009-0

2015-10-09 18:28:16 603

转载 linux 编译内核[scripts/kconfig/dochecklxdialog] 错误

HOSTCC  scripts/kconfig/kxgettext.o *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. ***  *** Install ncurses

2015-10-08 21:20:00 1065

转载 mount.nfs: access denied by server while mounting 解决办法

mount.nfs: access denied by server while mounting 一个解决办法  2011-06-30 17:22:06|  分类: 技术探讨 |  标签:linux  常见问题  服务器   |字号 订阅这两天在搭建嵌入式开发环境,配置好NFS服务器后,遇到了一个很纠结的错误使用 mount -t nfs 127.0.0.1:/home/lz

2015-10-08 15:51:33 1152

原创 xxxxx.so文件缺失

解压logomaker 之后,运行logomaker出现以后问题logomaker: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory网上常见的方法是 方法1:编辑/etc/ld.so.conf文

2015-10-08 15:02:21 688

原创 arm-linux-gcc(ubuntu)安装

在linux平台上安装好的基础上,开始配置arm-linux-gcc,使其正常工作一,安装前准备1,下载并安装arm-linux-gccarm-linux-gcc-4.2.1的版本在http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/这里可以下载,最新版arm-linux-tools-20080623.tar.gz这个可

2015-10-08 14:05:49 502

原创 altium designer 原理图复制出错

复制原理图的时候最后弹出这样的错误InvalidParameter at 2510219C.AdvSch.dll, Base Address: 24C80000.Exception Occurred In Copy方法1:先看看能不能添加本地打印机,要是无法添加打印机,在桌面选中“我的电脑”,鼠标右键选择“管理”; 在“管理”窗口中,

2015-07-23 01:32:00 14848 1

转载 字符匹配函数总结

转自:http://blog.csdn.net/zdl1016/archive/2009/10/11/4654061.aspx 我想说一句“我日,我讨厌KMP!”。KMP虽然经典,但是理解起来极其复杂,好不容易理解好了,便起码来巨麻烦!老子就是今天图书馆在写了几个小时才勉强写了一个有bug的、效率不高的KMP,特别是计算next数组的部分。其实,比KMP算法速度快的

2014-04-14 16:24:40 606

原创 AT命令详解

首先说下AT命令执行格式,和返回字符

2014-04-12 21:24:06 1481

转载 AT指令-通过串口收发短消息(上,下)

通过串口收发短消息(上)下载本文示例源代码原文出处:http://www.kernelstudio.com/getitem.asp?id=13Q 用串口连接GSM手机发送和接收短消息,在应用程序中如何编程实现?Q 我们打算开发一个基于GSM短消息方式的GPS系统,如何利用SMS进行数据通信?A 首先,我们要对由ESTI制订的SMS规范有所了解。与我们讨论的短

2014-04-11 21:57:06 1821

练成Linux系统高手教程

练成Linux系统高手教程,讲的非常详细,易懂。让你从一个菜鸟级别变成高手,变得简单。

2013-04-16

ARM虚拟开发技术

ARM虚拟开发技术 讲的非常详细

2013-04-16

s3c2440a触摸屏驱动,完整驱动可直接调用也可用于参照学习

s3c2440a触摸屏驱动,完整驱动可直接调用也可用于参照学习。

2013-04-16

基于mini2440通过网络动态预览和控制摄像头的实现已经移植好的源代码

这个已经实现过了的, 希望能对你的有所帮助

2013-04-16

TQ2440基于linux源码

TQ2440基于linux源码 ,涵盖一些国嵌教程收费部分的

2013-04-16

MINI2440 所有裸机源码

MINI2440 所有裸机源码 涵盖了 GPIO ,LED , LCD ,UART, SDRAM,MMU,.. 内容非常的详细。

2013-04-16

vc++ 6.0 中文版win7能用的

vc++ 6.0 中文版win7能用的 ,绝对给力

2013-04-16

[数据结构(C语言版)].严蔚敏_吴伟民.扫描版.pdf )

[数据结构(C语言版)].严蔚敏_吴伟民.扫描版.pdf )

2012-04-10

AVR系列单片机C语言编程与应用实例.pdf

AVR系列单片机C语言编程与应用实例.pdf

2012-04-09

c算法大全 看了之后让你的更懂c语言

看了之后让你的更懂c语言,让你明白c语言的精髓

2012-03-17

空空如也

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

TA关注的人

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