自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (292)
  • 收藏
  • 关注

转载 爆GOOGLE实时视频监控

爆GOOGLE实时视频监控在google里面输入:nurl:"ViewerFrame?Mode="inurl:"ViewerFrame?Mode=" inurl:"view/index.shtml" inurl:"MultiCameraFrame?Mode=" inurl:"axis-cgi/mjpg"就可以搜到网络摄像头,据说全世界有好几万部。还要

2013-11-29 16:22:38 4152 1

转载 pe文件分析 - 上

PE文件格式详解(上)Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。    然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE

2013-11-29 16:14:36 794

转载 pe 文件分析 - 下

PE文件格式详解(下) 预定义段  一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug。一些应用程序不需要所有的这些段,同样还有一些应用程序为了自己特殊的需要而定义了更多的段。这种做法与MS-DOS和Windows 3.1中的代码段和数据段相似。事实上

2013-11-29 16:13:52 919

转载 pe文件分析

PE文件格式详解(上)Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。    然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE

2013-11-29 16:11:04 720

转载 pe文件分析

PE文件格式详解(上)Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。    然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式

2013-11-29 15:45:40 746

转载 PE 文件结构分析

pe文件格式、pe部分信息解析程序代码(win32asm) 一:PE整体结构PE 的意思就是Portable Executable(可移植的执行体)。PE文件的整体大概结构描述:struct pe{DOS MZ header:所有PE文件(甚至32位的DLLs) 必须以一个简单的DOS MZ header 开始。有了它,一旦程序在DOS下执行,DOS就能识别出这

2013-11-29 15:45:28 1773

转载 pe文件分析

PE文件格式详解(上)Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。    然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式

2013-11-29 15:44:30 1159

转载 pe文件分析

pe文件格式、pe部分信息解析程序代码(win32asm) 一:PE整体结构PE 的意思就是Portable Executable(可移植的执行体)。PE文件的整体大概结构描述:struct pe{DOS MZ header:所有PE文件(甚至32位的DLLs) 必须以一个简单的DOS MZ header 开始。有了它,一旦程序在DOS下执行,DOS就能识别出这

2013-11-29 15:41:55 579

转载 pe 文件

PE文件格式详解标 题: 【翻译】“PE文件格式”1.9版 完整译文(附注释) 作 者: ah007 时 间: 2006-02-28,13:32链 接: http://bbs.pediy.com/showthread.php?threadid=21932$Id: pe.txt,v 1.9 1999/03/20 23:55:09 LUEVELSMEYER Exp $P

2013-11-29 15:40:19 1147

转载 PE 文件结构分析

pe文件格式、pe部分信息解析程序代码(win32asm) 一:PE整体结构PE 的意思就是Portable Executable(可移植的执行体)。PE文件的整体大概结构描述:struct pe{DOS MZ header:所有PE文件(甚至32位的DLLs) 必须以一个简单的DOS MZ header 开始。有了它,一旦程序在DOS下执行,DOS就能识别出这

2013-11-29 15:40:13 587

转载 PE 文件结构分析

pe文件格式、pe部分信息解析程序代码(win32asm) 一:PE整体结构PE 的意思就是Portable Executable(可移植的执行体)。PE文件的整体大概结构描述:struct pe{DOS MZ header:所有PE文件(甚至32位的DLLs) 必须以一个简单的DOS MZ header 开始。有了它,一旦程序在DOS下执行,DOS就能识别出这

2013-11-29 15:39:50 552

转载 PE 文件结构分析

PE文件格式详解标 题: 【翻译】“PE文件格式”1.9版 完整译文(附注释) 作 者: ah007 时 间: 2006-02-28,13:32链 接: http://bbs.pediy.com/showthread.php?threadid=21932$Id: pe.txt,v 1.9 1999/03/20 23:55:09 LUEVELSMEYER Exp $P

2013-11-29 15:15:07 603

转载 PE 文件结构分析

PE文件格式详解标 题: 【翻译】“PE文件格式”1.9版 完整译文(附注释) 作 者: ah007 时 间: 2006-02-28,13:32链 接: http://bbs.pediy.com/showthread.php?threadid=21932$Id: pe.txt,v 1.9 1999/03/20 23:55:09 LUEVELSMEYER Exp $P

2013-11-28 14:21:09 575

转载 PE 文件结构分析

PE文件格式详解标 题: 【翻译】“PE文件格式”1.9版 完整译文(附注释) 作 者: ah007 时 间: 2006-02-28,13:32链 接: http://bbs.pediy.com/showthread.php?threadid=21932$Id: pe.txt,v 1.9 1999/03/20 23:55:09 LUEVELSMEYER Exp $P

2013-11-28 13:14:41 574

原创 大端小端再总结

大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中  小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节  请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1解答:int checkCPU( ){   

2013-11-27 13:54:55 1232

转载 无锁队列

1                 对于编写多线程的朋友来说,队列具有天生的互斥性。在队列里面,一个负责添加数据,一个负责处理数据。谁也不妨碍谁,谁也离不开谁。所以,队列具有天生的并行性。  #define MAX_NUMBER 1000L  #define STATUS int  #define OK     0  #define FALSE -1   typ

2013-11-26 16:30:34 771

转载 网络专用高效内存池,支持多线程.原创,非sgi的内存池

首先要说明一点,这个内存池使用时需要注意的,如果想用在长期分配出去的内存,请慎用.  因为假如一个区块被分配完了,只有在这个区块里已分配的内存被完全释放后,这个区块才能重用.因为当初是设计为网络分包用的内存池.为了效率而采用这个策略的.  发代码之前先简单介绍下内存池的思路.  内存池分256个区块,编号为0~255区块的结构为:区块记录了3个信息一个指针_left_m

2013-11-26 11:38:37 828

转载 多线程内存模型

动机  内存模型是C++09最重大的特性之一,之所以重大是因为多线程并发编程将成为下一个十年的主题之一,对此C++小胡子Herb Sutter早有精彩的论述。为什么在C++里面要想顺畅地进行多线程编程需要对标准进行修订(而不仅仅是通过现有的多线程库如POSIX、boost.Thread即可)呢?对此Hans Boehm在他的著名的超级晦涩难懂的paper ——《Threads Ca

2013-11-26 10:38:09 1518

转载 gcc 编译选项

gcc提供了大量的警告选项,对代码中可能存在的问题提出警告,通常可以使用-Wall来开启以下警告:           -Waddress -Warray-bounds (only with -O2) -Wc++0x-compat           -Wchar-subscripts -Wimplicit-int -Wimplicit-function-declaration    

2013-11-26 09:41:42 3994

原创 vxworks 开发环境搭建

安装指南1、  安装VxWorks6.9(光盘文件是DVD-R147826.1-1-01-vx69.udf.iso)(1)     不要选择两个check选项,可以节省不必要的时间;(2)     Next到如图,选择相应的license文件;(3)     选择Intel即可,可以减少安装时间,因为没有其他架构相应许可,安装了也没用的。(4)

2013-11-23 12:49:12 16672 5

转载 Windbg 命令列表

18) MemoryCmdVariants / ParamsDescriptiond*d[a| u| b| w| W| d| c| q| f| D] [/c #] [Addr] dy[b | d] ..Display memory [#columns to display]

2013-11-21 17:52:39 1679

转载 典型开源3D引擎分类比较[原]

典型开源3D引擎分类比较 常见的3D引擎有:Unreal,Quake,Lithtech,OGRE,Nebula,Irrlicht,Truevision3D...等,其中开源免费的有:orge,irrlicht,fly3d, NeoEngine, revolution3d, Nebula2,Genesis3d等。OGRE 在免费、开源的引擎中评价最高,一个原因是作为一个图形渲染引擎,它支持的

2013-11-20 13:53:17 929

转载 [C/C++]关于C++11中的std::move和std::forward

std::move和std::forward是C++0x中新增的标准库函数,分别用于实现移动语义和完美转发。下面让我们分析一下这两个函数在gcc4.6中的具体实现。预备知识引用折叠规则:X& + & => X&X&& + & => X&X& + && => X&X&& + && => X&&函数模板参数推导规则(右值引用参数部分):当函数模板的模板参数为T而

2013-11-20 12:20:05 1484

原创 记录一个博客地址

这个博客内容比较丰富记录一下。天龙八部:http://www.cnblogs.com/lancidie/category/270618.html引擎: http://www.cnblogs.com/lancidie/category/295960.html游戏: http://www.cnblogs.com/lancidie/category/262772.html

2013-11-19 16:51:53 696

转载 说说网络通信模型

在几年前曾经做过一个网络项目,当时对网络通信仅仅是有点基础。tcp/ip协议的基础还算不错,sockt的应用看起来也不算复杂。于是就用异步非阻塞的sockt通信实现了服务器端和客户端。但是项目在联合调试阶段就出现了重大的性能问题。项目的服务器端同时连入的连接数在几百左右,而服务器端的资源消耗非常厉害。就是在这样的环境下,第一次接触到高效通信模型这个概念,IOCP完成端口 (I/O Completi

2013-11-19 14:27:43 1964

转载 优化3D图形流水线

在使用NVIDIA PerfHUD 5 Launcher的时候,明显发现现在的CPU时间和GPU时间不均衡,于是考虑优化。下面是参考NVIDIA的OGP开始总结。优化代码通常是找出瓶颈,对瓶颈进行优化,这里暂不考虑CPU内部的优化方法,主要记录CPU->GPU的3D渲染流水线的瓶颈查出方法以及优化手段。若仅希望进行CPU方面的优化,可使用一些辅助工具,如Inter的Intel(R) V

2013-11-19 14:19:39 1061

转载 关于短延迟 sleep usleep nanosleep select

关于短延迟 sleep usleep nanosleep selecthttp://www.cppblog.com/prayer/archive/2008/08/21/59572.htmludelay(unsigned long usecs);mdelay(unsigned long msecs);前者用软件循环指定的微妙数,后者调用前者达到延迟毫秒级。udelay 函

2013-11-16 15:02:57 736

转载 vxWorks下常用的几种延时方法 .

在应用编程的时候,通常会碰到需要一个任务在特定的延时之后执行一个指定的动作,如等待外设以确保数据可靠,控制扬声器发声时间以及串口通信超时重发等。这就需要利用定时器机制来计量特定长度的时间段。    vxWorks作为实时嵌入式系统,提供多样的定时接口函数。下面结合我的项目经历和网上的参考资料列举一些常用的定时方式,并说明其注意事项。一、taskDelay    taskDelay(n)

2013-11-14 19:27:40 1487

转载 vxworks下socket编程 TCP 通信

vxworks 下socket编程 TCP 通信头文件 #ifndef  _INC_TCPSOCKET_H#define  _INC_TCPSOCKET_H #ifdef  _cplusplus   extern   "C"  {#endif    #include#include     #define SERVER_PORT_NUM 5432

2013-11-14 18:40:56 8975

转载 面向连接的Socket Server的简单实现

一、基本原理有时候我们需要实现一个公共的模块,需要对多个其他的模块提供服务,最常用的方式就是实现一个Socket Server,接受客户的请求,并返回给客户结果。这经常涉及到如果管理多个连接及如何多线程的提供服务的问题,常用的方式就是连接池和线程池,基本流程如下:首先服务器端有一个监听线程,不断监听来自客户端的连接。当一个客户端连接到监听线程后,便建立了一个新的连接。监

2013-11-14 17:05:34 689

转载 关于短延迟 sleep usleep nanosleep select

udelay(unsigned long usecs);mdelay(unsigned long msecs);前者用软件循环指定的微妙数,后者调用前者达到延迟毫秒级。udelay 函数只能用于获取较短的时间延迟,因为loops_per_second值的精度只有8位,所以,当计算更长的延迟时会积累出相当大的误差。尽管最大能允许的延迟将近1秒(因为更长的延迟就要溢出),推荐的 udela

2013-11-13 19:11:25 619

转载 [转]利用Winsock实现HTTP的GET请求

网络爬虫需要从指定的URL通过HTTP协议来获得HTML文件信息,以此从一个URL爬到另一个URL。在Windows平台上,这往往通过WinINet接口实现。  但是,如果对HTTP协议熟悉的话,也可以通过Winsock接口实现。代码如下。  1 #pragma warning (disable:4996)  2   3 #define DEFAULT_URL "http:

2013-11-13 16:25:08 1226

转载 HOOK DLL

前一阶段闲着无聊,用远程线程注入的方法把DLL注入到Explorer.exe进程实现音乐循环播放。  在DLL中的代码是这样的:BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD fdwReason, PVOID fImpLoad){    static HANDLE hThread;    static DWORD dwTh

2013-11-13 16:19:49 1739

转载 《Windows via C/C++》学习笔记 (八) Windows 线程池 纤程

线程池(thread pool),允许有多个线程同时存在,并发执行,并且这些线程受到统一管理。  在Windows Vista中,提供了全新的线程池机制,一般这些线程池中的线程的创建的销毁是由操作系统自动完成的。  Windows Vista 中重新设计了线程池,提供了一组新的线程池API。因此,本篇讨论的仅仅在Windows Vista系统,或其以上的Windows版本中有效。

2013-11-13 16:01:06 1820

转载 《Windows via C/C++》学习笔记 (七) 设备I/O之“I/O请求完成”

《Windows via C/C++》学习笔记 —— 设备I/O之“接收I/O请求完成通知” 上一篇,讨论了如何发送I/O请求。在异步的设备I/O请求方式下,要考虑的问题就是当I/O请求完成之后,驱动程序如何通知你的应用程序。本篇主要讨论获得通知的方法。   Windows 提供了4种不同的技术方法来得到I/O完成的通知。技术 

2013-11-13 15:57:21 1101

转载 《Windows via C/C++》学习笔记(六) 设备I/O

《Windows via C/C++》学习笔记 —— 设备I/O之“设备的打开和关闭”设备的输入输出,即设备I/O,可以分为“同步”和“异步”两种方式。同步的设备I/O,调用的API函数总是等到设备I/O完成才返回。而异步的设备I/O,可以通过多种方法来实现,但是其根本原理是得到“设备I/O的完成通知”。   本篇主要讨论如何打开和关闭一个设备。注意,这里的设备,不是指

2013-11-13 15:30:05 1081

转载 《Windows via C/C++》学习笔记 —— “线程同步”之“检测死锁”

本来这篇内容在书中是在“其他线程同步函数”这一节中的。这节中介绍了另外的几个等待函数,比如WaitForInputIdle、MsgWaitForMultipleObjects、WaitForDebugEvent,感觉用途不大,只有SignalObjectAndWait这个函数用途比较大,该函数笔者已经在前面的“等待函数”这一篇中写过了。  本篇主要讨论这本书新增加的内容,就是Windows

2013-11-13 15:02:58 967

转载 《Windows via C/C++》学习笔记(五) 内核对象的“线程同步”

《Windows via C/C++》学习笔记 —— 内核对象的“线程同步”之“等待函数”用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。  但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力。这时,只能考虑使用内核模式。   Windows提供了许多内核对象来实现线程的同步。对

2013-11-13 14:20:08 1062

转载 《Windows via C/C++》学习笔记(四)用户模式的“线程同步”

《Windows via C/C++》学习笔记 —— 用户模式的“线程同步”之“互锁函数族”线程需要相互通信,当多个线程访问共享资源的时候;当一个线程结束一个任务,然后要通知另一个线程的时候,我们需要进行线程同步的控制。  要让共享资源不被破坏,或者让另一个线程能够在适当的时候被调度,这就是线程同步需要解决的问题。   Windows Vista提供了多种线程同步的

2013-11-13 13:52:34 862

转载 《Windows via C/C++》学习笔记(三)线程

《Windows via C/C++》学习笔记 —— 线程优先级每个线程都有一个“优先级”,范围是0~31,0为最低优先级,31为最高优先级。当系统决定哪个线程需要调度的时候,首先查看是否存在优先级为31的可调度线程,如果存在,就从中选择一个进行调度。当该线程的时间片到达之后,系统查看是否存在另一个优先级为31的可调度线程,如果存在,就调度它。  只要有一个可调度的优先级为31的线

2013-11-13 13:43:23 1676

BoostAsio-TCPAndUDP.zip

简单的网络通信,使用boost实现,tcp和udp。简单场景可以直接使用。 速度可以达到网络最值的80%

2019-10-11

深度学习Pytorch含源码

包含了深度学习Pytorch的相关书籍和源码,供大家参考。 入门学习的可以看一下。

2019-03-05

vc(2015sdk)_redist.x64

解决用Anaconda 安装python和tensorflow 环境,安装完成后 测试import tensorflow as tf 报如下错误的问题。

2018-11-27

python3.6.7-and-win7kb

python安装失败0x80240017 安装KB2999226更新补丁后, 可以正常安装python3.5. 此更新包在vs2015的patch包里有. Microsoft下载中心也有,这里列出的适用于win7 x86: Windows 7 更新程序 (KB2999226) x64: 用于基于 x64 的系统的 Windows 7 更新程序 (KB2999226)

2018-11-26

获取内存使用量

windows下获取资源占用的类

2018-08-22

实现WDM驱动的自动安装的完整工程

C++实现WDM驱动的自动安装的完整工程 C++实现WDM驱动的自动安装的完整工程 C++实现WDM驱动的自动安装的完整工程

2017-05-27

c++性能与设计模式资料[含代码]

常见设计模式的解析和实现(全部c++实现) 常见设计模式的解析和实现(全部c++实现) 性能优化书籍 boost网络编程 合集,仅供参考

2017-02-14

开源的FreeNOS

这是一个用C++实现的微内核的操作系统,各种宏内核中的服务作为一个独立的services在微内核中,基于消息的通信方式,这点其实跟mac内核中的mach那部分机制相似。 除了是一个操作系统的实现,另外从中也能很好的学习到OOP的设计方式,整个代码风格特别好,完全基于面相对象,还有一些常见的设计模式,在接触了这个开源项目之后,才了解,代码风格,注释,doxygen,scons,设计模式。 对于直接入手就啃Linux kernel的同学,个人觉得会门槛有点高,身体还不是特别棒的时候,直接攀登珠穆拉玛还是有点吃力的,可以先找个黄山爬爬。

2016-12-09

Upx源码【win linux】

Upx源码,可以通过vs2010可编译,很方便! 还包含一个linux版本,3.91,可以自己研究。

2016-11-29

DICOM 学习入门资料

DICOM 学习入门资料,是一个非常好的学习DICOM协议的入门材料, 中英文的,大家自己慢慢看吧。 强烈推荐!

2016-10-25

IPMIView_2.9.25

IPMI View是Supermicro公司为其板载IPMI卡开发的管理工具。IPMI卡具有无需依赖于主板、CPU、内存等硬件而独立运行的优势,可以在操作系统运行之前对主机进行Console级别的访问和操作,而Supermicro得IPMI 工具更可以远程挂载ISO、img等多种格式的镜像文件,为主机虚拟访问UFD、Floppy Disk、CD/DVD ROM提供解决方案。

2016-08-19

windows多线程编程技术与实例

本书通过众多实例介绍了如何实现Windows下的多线程编程,既重点介绍了Win32API下的多线程编程和MFC下的多线程编程,又介绍了多线程机制在网络编程、图形编程和数据库中的应用。本书每一章都从简单的多线程实例出发逐渐深入,紧紧围绕应用程序实例,向读者展示了利用多线程技术来编写高效、友好的Windows应用程序的方法,并对常用的Win32线程函数进行了深入详细的说明。本书共分8章,第l章介绍了多线程编程的基础知识;第2~5章通过实例阐明Win32下多线程的几种不同实现形式及多进程的实现机制,这是本书介绍的重点内容,也是读者学习后面几章内容所必须掌握的基础知识;第6~8章介绍了多线程技术在网络、图形处理和数据库中的应用。

2016-07-18

网络调试助手CM精装版

网络调试助手CM精装版3.3

2016-07-05

PythonAndWindebug文档

PythonAndWindebug文档

2016-05-25

C++调用MATLAB[vs2010]

C++调用Matlab的VS2010 code。 提前书案MATLAB并进行了mbuild -setup的环境设置,在VS项目里设置自己的MATLAB的库目录和包含路径。 里面包含三个项目:二个基于C++调用MATLAB的DLL动态链接库,一个基于C++调用MATLAB的引擎。

2016-05-18

PVS-Studio 6.00官方版(注册版)

已经使用过:vs2010 PVS-Studio 6.官方版 附带注册码: Name:pvs SerialNumber:B1TG-6CYJ-0A07-YX01 LicenseType:Site License LicenseValidThru:2099/12/31

2016-05-05

openCL编程指导源代码

OpenCL领域公认的权威著作,由OpenCL核心设计人员亲自执笔,不仅全面而深刻地解读了OpenCL规范和编程模型,而且通过大量案例和代码演示了基于OpenCL编写并行程序和实现各种并行算法的原理、方法、流程和最佳实践,以及如何对OpenCL进行性能优化,如何对硬件进行探测和调整。

2016-04-18

学习 FPGA 书籍分享

废话不说了,下面进入正题,学习FPGA经历了这么几个阶段: ①、Verilog语言的学习,熟悉Verilog语言的各种语法。 ②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA板子。 ③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosII IDE),了解NiosII的基本结构,设计NiosII开发板,编写NiosII C语言程序,调试板子各模块功能。 先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog两种,在本科时老师一般教VHDL,不过现在 Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。像 systemC,systemVerilog之类的应该还在萌芽阶段,以后可能会有较大发展。鉴于以上原因我选择了Verilog作为我学习的硬件描述语 言。 其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。这里推荐几本评价比较好的学习Verilog的书籍: ①、《verilog 数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。但本书对于资源优化方面的编程没有多少涉及到。 ②、《设计与验证Verilog HDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。 学习Verilog其实不用看很多书,基本的语法部分大家都一样,关键是要自己会灵活应用,多做练习。 Verilog语言学了一段时间,感觉自己可以编点东西,希望自己编的程序在板子上运行看看结果,下面就介绍我学习的第二个阶段。 刚开始我拿了实验室一块CPLD的开发板做练习,熟悉QuartusII的各种功能,比如IP的调用,各种约束设置,时序分析,Logiclock设计方 法等,不过做到后面发现CPLD的资源不太够(没有内嵌的RAM、不能用SignalTapII,LE太少等),而实验室没有FPGA开发板,所以就萌生 了自己做FPGA开发板的意图,刚好Cadence我也学的差不多了,就花了几天时间主要研究了FPGA配置电路的设计,在板子上做了Jtag和AS下载 口,在做了几个用户按键和LED,其他的口全部引出作为IO口,电路比较简单,板子焊好后一调就通了(心里那个爽啊...)。我选的FPGA是 cycloneII系列的EP2C5,资源比以前的FPGA多了好几倍,还有PLL,内嵌的RAM,可以试试SignalTapII,用内嵌的逻辑分析仪 测试引脚波形,对于FPGA的调试,逻辑分析仪是至关重要的。利用这块板子我完成了项目中的几个主要功能:RS232通信,指令译码,配置DDS,AD数 据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。这个时候我主要看的数据有这几本感觉比较好: ①、《Altera FPGA/CPLD 设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法 (IP,RTL,SignalProbe,SignalTapII,Timing Closure Floorplan,chip Editor等),对于入门非常好。 ②、《Altera FPGA/CPLD 设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。 ③、《FPGA设计指南--器件,工具和流程》:这本书看了他的目录忍不住就买了,这本书讲述了FPGA设计的各个方面,虽然每个方面都是点到为止,但能让你有个整体的概念,了解FPGA的所有设计功能,了解FPGA开发的整个流程。

2016-04-12

Cocos2dx 源码与实例

Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容易在桌面操作系统中编辑和调试。

2016-03-17

zlib 封装简单接口使用

实际应用中有时候会遇到需要处理 ZIP 压缩解压的情况,这时候我们有大概三种选择: 调用 rar.exe, unzip.exe 等 使用某现成库 完全手写 第一种虽然能完成任务,但是没法知晓结果。曾经有人对说,可以抓命令行输出结果来判断……这种依靠界面文字来进行精确判断的行为个人认为相当不靠谱。第三种,既然我是个“造轮主义”者,当然说好,但是现在我不了解 ZIP 格式,也不了解 ZIP 算法,所以这个日后再说。今天我们就来切切实实地用一次轮子。 ZIP 相关的库中比较有名的可能就是 ZLib 和 InfoZip(unzip60)了。InfoZip 我了解的不多,其外层接口似乎也不大好,一堆回调——回调是个很烦人的东西,专门用来打乱代码结构。另外,这个库也已经有好多年没更新了吧,太久的东西给人的感觉总是不太舒服。ZLib 最新版本是 1.2.5,今年 4 月 19 日出的。确切的说,ZLib 可能并不是一个针对 ZIP 文件的库,它只是一个针对 gzip 以及 deflate 算法的库。它提供了一个叫做 minizip (contrib\minizip) 例子来给出操作 ZIP 文件的方法。下文将从 ZLib 出发,归结出两个傻瓜接口: BOOL ZipCompress(LPCTSTR lpszSourceFiles, LPCTSTR lpszDestFile); BOOL ZipExtract(LPCTSTR lpszSourceFile, LPCTSTR lpszDestFolder);

2015-12-23

CrashRpt 源码

CrashRpt 是一个开源的查找C++程序崩溃的程序,形如的时候,调用了CrashRpt的钩子函数就可以生成崩溃的dmp文件,然后在开发的机子上(有pdb文件的)运行,就可以定位代码崩溃到哪一行。

2015-10-12

大规模c++程序设计【完成版】

大规模c++程序设计【完成版】

2015-05-07

DOOM3 源码

DOOM3的游戏完整源代码,经过编译完全可以执行。 ID TECH 4引擎 卡马克所著

2015-05-05

获取调用栈和MemoryLeak

获取调用栈和MemoryLeak调查

2015-04-21

基于FFmpeg的AVFilter例子

FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。因此特地制作了一个基于FFmpeg中的AVFilter的简单的水印叠加器。 本程序使用FFmpeg的AVfilter实现了视频的水印叠加功能。 可以将一张PNG图片作为水印叠加到视频上。 是最简单的FFmpeg的AVFilter方面的教程。 适合FFmpeg的初学者。 工程基于VC2010。 使用了2014.5.6版本的FFmpeg类库。

2014-06-09

libevent源码和一个小例子

http://blog.csdn.net/flyingleo1981/article/details/28400859 这个是文章,可以参考,有图有真相

2014-06-04

graph-viz 源码

graph-viz 源码

2014-04-21

OpenCL CUDA 例子

有限差分方法求解Poisson方程代码。包括四个主要函数:5、测试平台下的所有OpenCL设备,现实主要性能和参数;2、测试CPU计算效率;3、测试OpenCL C 在GPU上的运行效率;4、测试OpenCL C++在GPU上的运行效率;5、测试CUDA在GPU上的运行效率。 代码相当简单,可以用来简单测试计算平台的性能,也可作为CUDA和OpenCL的入门参考程序。

2014-04-18

OGRE教程 OGRE 入门教程

OGRE教程 OGRE 入门教程

2014-03-27

Google_Android开发入门与实践

基础知识: Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从上层到低层分别是应用程序层、应用程序框架层、Android运行时和库、linux内核……本文档带你很好的学习android基础知识,配合文档中给出的视频学习会有更好的效果! 开发入门实践书全文。

2014-02-26

深入浅出Google_Android

google android 开发 深入浅出Google_Android

2014-02-25

Android移动开发

完整版的android移动开发一本就够 完整版的android移动开发一本就够

2014-02-25

Android平台下通过JNI快速实现音视频通信

想要在Android平台下实现音视频通信,最快捷的方法是寻找开源项目或调用其他公司封装好的API

2014-02-25

pstools远程控制工具

sexec是一个远程执行工具,你可以像使用telnet一样使用它。 它的使用格式为: psexec //远程机器ip [-u username [-p password]] [-c [-f]] [-i][-d] program [argum ents] 它的参数有: -c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除) -d 不等待程序执行完就返回,(比如要让远程机器运行tftp服务端的时候使用,不然psexec 命令会一直等待tftp程序结束才会返回) -i 在远程机器上运行一个名为psexesvc进程,(到底什么用弄不明白) 假设我在远程机器ip有一个账号,账号名是:abc 密码是:123 比如想要用telnet一样在远程系统上执行命令可以打: psexec //远程机器ip -u abc -p 123 cmd 如果想要远程机器执行本地c:/srm.exe文件可以打: psexec //远程机器ip -u abc -p 123 -c c:/srm.exe 如果想要让远程机器执行本地上tftp服务端,(假设tftp服务端在本地c:/tftp32.exe),可以 打: psexec //远程机器ip -u abc -p 123 -c c:/tftp32.exe -d

2014-01-24

windows远程控制基本命令

windows远程控制基本命令。远程控制必须熟练的常用命令。

2014-01-21

depends 64位

depends 64位

2014-01-16

thrift源码

thrift源码

2014-01-03

Tcp-Ip详解(一、二、三)

Tcp-Ip详解(一、二、三)

2014-01-02

一个c++buffer的设计和实现

基本想法: 方法1: 1、使用默认缓存5M 2、默认线程使用的内存为128K,即最多默认支持40个线程 3、初始化申请一块5M内存,然后进行分割,线程使用的定义为GROUP,没一条日志使用的为ITEM 4、运行过程中进行动态管理,内存用完后申请新的空间,一次为5M 5、线程使用完一个group后可以在使用其他的group,且不限在相同的原子buffer。 可能的问题在于,多次申请的问题,经过测试基本可以用。 方法2: 1、使用默认缓存5M 2、默认线程使用的内存为128K,即最多默认支持40个线程 3、初始化申请一块5M内存,然后进行分割,线程使用的定义为GROUP,没一条日志使用的为ITEM 4、运行过程中进行动态管理,内存用完后丢失 5、线程使用完一个group后可以在使用其他的group,且不限在相同的原子buffer。 可能的问题在于支持的线程是有上线的。 欢迎你的建议。

2013-12-25

火车票猎豹浏览器

火车票猎豹浏览器

2013-12-25

空空如也

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

TA关注的人

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