自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

转载 站在巨人的肩膀上,C++开源库大全

[-]标准库框架人工智能异步事件循环音频生态学压缩并发性容器密码学数据库调试游戏引擎图形用户界面图形图像处理国际化Jason日志机器学习数学多媒体网络物理学机器人学科学计算脚本序列化视频虚拟机Web应用框架XML多项混杂软件编译器在线编译器调试器集成开发环境IDE构建系统静态代码分析程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库、Web应用框

2015-01-08 14:54:23 828

转载 关于I2C和SPI总线协议

IICvs SPI         现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议。   

2013-10-14 11:34:45 746

转载 WinCE应用程序开机自动运行

一、开机自运行常规方法近日在开发过程中遇到WinCE应用程序开机自动运行的问题,在网上找了找,发现大概有以下三种方法:1、 将应用程序和应用程序快捷方式添加到映像里,再将快捷方式添加到StartUp目录下,这样当系统运行后应用程序就能自动运行;2、 直接替换Wince的SHELL,即修改注册表:view plaincopy to clipboardprint?

2013-09-24 11:29:55 757

转载 程序员技术练级攻略

导读:本文是由陈皓和他的一位朋友Mailper合作完成,原名叫《Build Your Programming Technical Skills》,本文分享了Mailper和作者个人的学习经历。每个程序员都希望自己能顺利的升级到高的层次,您不妨按照下面的方法去做。前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学

2013-04-15 13:14:57 638

转载 谈在Debug和Release模式下输出调试信息

在调试程序时,有时候设置断点单步运行并不能查出问题的所在,比如程序可能在运行一段时间后死掉了,或者对于Release版本运行不正常等等原因吧,这时需要通过设置一些输出信息,来帮助定位错误发生的位置,这点非常有用。根据个人编程习惯,我通常都会在程序编写过程中适当地加入一些输出信息。       1、输出宏和函数       ①使用TRACE,其语法类似printf,用于向Output窗口输出

2013-03-19 15:55:34 7311

转载 数据在计算机中的存储形式和运算

一、数据概述以C语言为例,里面所有的基本数据类型,都是以符合人类世界和自然世界的逻辑而出现的。比如说int,bool,float等等。这些数据类型出现的目的,是更于让人容易理解,可以说,这些数据类型是架通人类思维 与 计算机的桥梁。我们知道。依照冯诺依曼体系,计算机中并没有这些int  float等等,而全部都是0和1表示的二进制数据,并且计算器只能理解这些0和1的数据。所以说,所有的

2013-03-18 11:01:56 7471

转载 Windows Socket五种I/O模型——代码全攻略

如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的。Windows操作系统提供了选择(Select)、异步选择(WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I/O(Overlapped I/O)和完成端口(Completion Port)共五种I/O模型。每一种模型均适用于一种特定的应用场景。程序员应该对自己的应用需求非常明确,而且综合

2013-01-25 11:38:33 674

转载 Winsock五种IO模型的性能分析

Winsock五种I/O模型的性能分析五种I/O模型的性能分析重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时

2013-01-25 11:23:09 775

转载 VC++如何派生控件并实现自绘

1.首先从一个现成的控件类(比如CButton)设计派生出自己的控件类,比如CButtonExte,2.实现虚函数virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct):LPDRAWITEMSTRUCT 定义如下typedef struct tagDRAWITEMSTRUCT {    UINT        C

2013-01-07 09:06:09 1668

转载 VC++串口通信

Win 32系统把文件的概念进行了扩展。无论是文件、通信设备、命名管道、邮件槽、磁盘、还是控制台,都是用API函数CreateFile来打开或创建的。该函数的声明为:HANDLE CreateFile( LPCTSTR lpFileName, // 文件名  DWORD dwDesiredAccess, // 访问模式  DWORD dwShareMode, // 共享模式

2013-01-05 10:50:08 7512 3

转载 冯.诺伊曼结构VS哈佛结构

冯.诺伊曼结构    1945年,冯.诺伊曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯.诺伊曼型结构”计算机。冯.诺伊曼结构的处理器使用同一个存储器,经由同一个总线传输,如下图所示:图 冯.诺伊曼结构    冯.诺伊曼结构处理器具有以下几个特点:必须有一个存储器;必须有一个控制器;必须有一个运算器,用于

2013-01-04 10:33:39 543

转载 C/C++ union用法

在C/C++程序的编写中,当多个基本数据类型或复合数据结构要占用同一片内存时,我们要使用联合体;当多种类型,多个对象,多个事物只取其一时(我们姑且通俗地称其为“n 选1”),我们也可以使用联合体来发挥其长处。首先看一段代码:union myun {struct { int x; int y; int z; }u; int k; }a; int main() {

2012-11-29 09:48:13 1502

转载 VC++模态对话框和非模态对话框

MFC中有两种类型的对话框:模态对话框和非模态对话框。模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务。非模态对话框是指当其显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。模态对话框的创建:创建模态对话框需要调用CDialog类的成员函数:DoModal,该函数的功能是创建并显示一个模态对话框,其返回值将作为CDial

2012-11-02 16:42:29 673

转载 WINDOWS 逻辑坐标 设备坐标 屏幕坐标 客户区坐标

(1)Windows坐标系统Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系。一般而言,GDI的文本和图形输出函数使用逻辑坐标,而在客户区移动或按下鼠标的鼠标位置是采用设备坐标。 逻辑坐标系是面向DC的坐标系,这种坐标不考虑具体的设备类型,在绘图时,Windows会根据当前设置的映射模式将逻辑坐标转换为设备坐标。设备坐标系是面向物理设备的坐标系,这种坐标以

2012-10-29 15:15:28 749

转载 C#与C++的混合编程

C#写界面比较方便,而C++则擅长写算法,所以将两者结合起来将会加快程序的开发速度,并保证程序的质量。但C#与C++的混合编程有很多细节问题需要注意,下面简要列举一些并指出相应的解决办法。       1. 将本机C++代码(指非托管C++)编译成一个dll,供C#调用,调用方法为 [DllImport(×××.dll)] 。但是这里只能从 DLL 导出函数,不能导出类(还没有测试能否导出变量

2012-10-29 09:12:22 8551

转载 OnEraseBkgnd、OnPaint与画面重绘

问题背景:窗体在重绘时,由于过频的刷新会引起闪烁现象——窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。绘制过程:当窗口整体需要重绘时,系统依次发送WM_NCPAINT、WM_ERASEBKGND、WM_PAINT

2012-10-26 09:37:07 854

转载 MFC 框架各类指针的获取

MFC指针的获取 1、获取应用程序指针CMyApp* pApp=(CMyApp*)AfxGetApp();2、获取主框架指针CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()-m_pMainWnd);或者CMainFrame* pMainFram

2012-10-17 09:51:11 604

转载 软件人员推荐书目 ( 大师篇 )

一、 科学哲学和管理哲学【1】 "程序开发心理学"(The Psychology of Computer Programming : Silver Anniversary Edition) 【2】 "系统化思维导论"(An Introduction to Systems Thinking, Silver Anniversary Edition)【3】 "系统设计的一般原理"

2012-07-11 21:56:01 1684

转载 DataSet、DataTable、DataRow、DataColumn区别及使用实例

DataSet就像一整个SQL数据库.DataTable对应数据库中的一个表DataRow对应数据库中的一行..他们是包含关系DataSet包含N多DataTable,DataTable又包含了N多DataRow比如访问数据库中的某一行某一个建的值写类似这样的代码DataSet.DataTable[0].Row[0]["ID"] DataSet 表示数据在内存中

2012-05-29 17:51:27 626

转载 学习软件开发应该看的书

1、 C语言提升《c和指针》《c缺陷和陷阱》《c专家编程》这三本书是一个初级C程序员必看的三本书,同时也是应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习2、  C++语言提升《Effective C++:改善程序与设计的55个具体做法》《More Effective C++:35个改善编程与设计的有效方法(中文版)》《C++沉思录》《C++Templa

2012-04-20 17:54:11 472

原创 内存泄露检查

1.检查内存分配与释放是否有一一对应:      new   -> delete;     Malloc -> free;     GlobalAlloc  -> GlobalFree等2.句柄泄露,如文件句柄,窗口句柄等。   HANDLE hFile = CreateFile();  -> CloseHandle(hFile);   HWND hwnd = ::Crea

2012-04-20 17:49:33 566

转载 GDI泄露检测

方法一:1、打开电脑的“任务管理器”;2、选择“进程”页;3、点击菜单项的“查看”项,选择“选择列”;4、对“GDI对象(J)”打上对号,即可。此时,用户就可以在进程中看到每个进程对应的GDI对象,每个进程的GDI对象(网页浏览器除外,每打开一个网页GDI对象都会增加)基本上是一定的,如果不断上涨,则说明程序存在GDI泄露问题。 方法二:使用检测工具GDIndicato

2012-04-20 17:22:50 6122

转载 Spy++使用(VC小工具)

Windows程序都是基于消息机制的,每个程序中都会有各种各样的消息,如果想通过消息来控制程序的运行,我们只用关心程序中的命令消息(WM_COMMAND)就行了,其他关于程序界面等等的消息,可以不管。要查看程序运行的消息,使用Visual Studio中自带的工具spy++。打开spy++,选择 spy|Windows,然后就会显示出当前的所有窗口,一些主窗口中的字窗口也会显示

2012-04-16 16:59:09 4012

转载 C#中窗体之间的数据传递

对于窗体间的数据传递,是刚开始从事.Net窗体应用程序开发人员碰到的一个常见问题,在此讲几个常见的实现方式。此节内容适用于模式窗体或非模式窗体,部分方式延伸到一般类的操作。(1)构造函数参数传递通过构造函数传递参数应该是比较基本的参数传递方式,重载构造函数,通过带参数的构造函数来实例化窗体。在窗体类内部定义参数变量,private object myParams;实现构

2012-04-13 15:25:36 674

转载 “池化技术”漫谈 - 线程池,内存池,连接池……

池化技术 - 简单点来说,就是提前保存大量的资源,以备不时之需,O(∩_∩)O,对于线程,内存,oracle的连接对象等等,这些都是资源,程序中当你创建一个线程或者在堆上申请一块内存时,都涉及到很多系统调用,也是非常消耗CPU的,如果你的程序需要很多类似的工作线程或者需要频繁的申请释放小块内存,如果没有在这方面进行优化,那很有可能这部分代码将会成为影响你整个程序性能的瓶颈。池化技术主要有线程池,内

2012-04-06 11:06:48 361

转载 一些软件设计的原则

本文为大家介绍软件设计中的一些原则,都是经过长期经验总结出来的知识,每一个程序员都应该了解,相信对大家在进行软件设计的过程中会有很大帮助。Don’t Repeat Yourself (DRY) DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现

2012-04-01 09:37:15 227

转载 写好代码的十个要诀 -----林锐博士

软件的质量属性鲁棒 - Solid and Robust Code简洁 - Maintainable and Simple Code高效 - Fast Code简短 - Small Code共享 - Re-usable Code可测试 - Testable Code可移植 - Portable Code 集百家之长, 归我所用 - Follow Basic Co

2012-03-30 11:06:50 1014

面向对象分析与设计(第3版)

《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,作为一个软件工程师,如果只允许我读两本书,那么我会选择《设计模式》和这一本书;如果只允许读一本书,那么我会选择这本《面向对象分析与设计》。

2013-08-07

空空如也

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

TA关注的人

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