自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

System Architect

Struggling

  • 博客(315)
  • 资源 (3)
  • 收藏
  • 关注

转载 union用法解析及数据类型在不同平台上的字节数

联合提供了一种方式,能够规避C的类型系统,允许以多种类型来引用一个对象。联合声明的语法和结构体的语法一样,只不过语义相差很大。它们不是用不同的域来引用不同的存储器块,而是引用同一块存储块。下面我们来举几个例子:struct STest{       char   c;       int    i[ 2 ];       double var;}; union

2014-05-21 15:51:24 2970

转载 预处理预编译(C++)

# 预处理预编译(C++)一、预处理的由来:    在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个。C++从C语言那里把C语言预处理器(被Bjarne博士简称为Cpp,不知道是不是C Program Preprocessor的简称)继承过来。二、常见的预处理功能:    预处理器的主要作用就是把通过预处理的内建功能对一个

2014-05-21 14:41:13 1033

转载 如何绘制动态曲线

引子      项目终于快完成了,现在开始整理下代码,总结下,今天先分享下关于使用如何用QWT绘制波形,先把图给贴出来。关于QWT     以下源于百度百科“QWT全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,

2014-05-16 16:06:28 9085

转载 vc中debug版程序正常但release版崩溃的解决方法

I. 内存分配问题1. 变量未初始化。为debug中会自动给变量初始化found=FALSE,而在release版中则不会。所以尽可能的给变量、类或结构初始化。2. 数据溢出的问题如:char buffer[10];int counter;lstrcpy(buffer, "abcdefghik");在debug版中buffer的NULL覆盖了counter的高位,但

2014-05-10 10:05:48 3035

原创 AfxWinMain中pThread->InitInstance()出错的解决方法

最近在写程序时,在Debug下能正常运行,但是换到Release下就报一个中断错误:“0x71ea1cbc(mfc100.dll) 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突”,并且,错误箭头指到了winmain.cpp文件中AfxWinMain函数内的if (!pThread->InitInstance())语句,经过分析是pThread为NULL,

2014-05-10 10:00:26 6415 2

转载 XP/WIN7系统中删除已结束进程托盘图标的方法

对于使用托盘图标的程序,当我们通过强制结束进程,或者程序异常退出时,托盘图标区域总会有托盘图标的残留,需要我们用鼠标移到残留区域时,托盘图标才会自动消失。有时我们需要去做相关的处理,比如在软件升级时,会强制结束进程,这时需要自动的去清除残留的托盘图标。通过研究和查阅网络,整理如下的方法。        1、通过向托盘区域发送WM_MOUSEMOVE消息,模拟鼠标移动到图潘区域的效果,使图标自动

2014-05-07 18:30:20 3092 1

转载 拦截QT关闭窗口的CloseEvent()解析

QDialog类下有一个虚函数void QDialog::closeEvent (  QCloseEvent   *  e   )  [virtual protected]通过实现closeEvent函数,就可以以对关闭窗口消息进行拦截,比如程序还没有完成工作时,可以弹出警告窗口,即使用户确认退出操作.在头文件中,需要加入#include :#ifndef TEST_H

2014-05-05 15:48:24 3718

转载 Qt中如何使窗口隐藏/最小化到托盘

托盘是什么?这个就不用在多说了!而Qt中如何实现自己的托盘功能,Qt自带的demo也很明了,这里我们就来实现自己的一个托盘。。。  void TrayMenu::createActions()  {     //创建托盘项     action_show = new QAction(this);     action_quit = new QAction(this); 

2014-04-30 14:05:19 15996 3

转载 C/C++格式化字符串说明

C/C++格式化字符串说明1. 格式化规定符━━━━━━━━━━━━━━━━━━━━━━━━━━   符号                  作用──────────────────────────    %d              十进制有符号整数    %u              十进制无符号整数    %f               浮点数 

2014-04-29 22:44:16 8795

转载 Qt打包发布方法

1、发布方式       Qt发布的时候,通常使用两种方式:   (1)静态编译   (2)动态编译    静态编译:把相关联的库一并引入可执行程序,虽然发布简单,但可执行程序较大。。。    动态编译:相关联的库,以dll的形式引用,不被包含进可执行程序,发布不方便,但可执行程序较小。。。    静态发布虽然不需要较多的dll,发布简单、方便,但是往往会牵扯到授权

2014-04-29 20:49:56 2308

原创 openProcess时拒绝访问(GetlastError为5),返回的HANDLE为NULL的解决方法

遇到的问题:在winXP的VS2010里调试好的程序,直接双击exe文件能运行,但是什么都没执行,就是没有按我程序中写的去执行。找出问题的方法:由于是执行exe文件出的错误,因此用普通的打印语句(printf,cout等)是没用的,我在程序 中每个几行加一个messageBox或者向一个文件写内容来判断程序执行到哪儿出现了问题。具体介绍:最近在写一个进程监控管理的程序,都已经写好了,并且在

2014-04-29 20:37:52 14692

转载 获取当前时间的方法

摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在 C

2014-04-28 23:24:13 1065

转载 守护进程和后台进程

后台进程默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作。对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的。    tianfang > run &    [1] 11319    tianfang >进程切换到后台的时候,我们把它称为job。切换到后台时会输出相关job信息,以前面的输出为[

2014-04-28 18:06:49 2927

转载 C++中 stringstream详解及实例

C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。  istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strstream类同时可以支持C风格的串流的输入输出操作。   istringstre

2014-04-23 13:48:47 5055

转载 Apache与Nginx的 比较

Apache与Nginx的优缺点比较 1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优

2014-04-23 12:36:17 1167

转载 C++中vector和map使用详解

标准库Vector类型使用需要的头文件:#include Vector:Vector 是一个类模板。不是一种数据类型。 Vector是一种数据类型。一、 定义和初始化Vector v1; //默认构造函数v1为空Vector v2(v1);//v2是v1的一个副本Vector v3(n,i);//v3包含n个值为i的元素Vector v4(n); //v4含有n

2014-04-20 14:31:41 19669

转载 windows下创建进程,CreateProcess()详解及用法

CreateProcess() 函数原型如下:[C++] 纯文本查看 复制代码?010203040506070809101112BOOLWINAPI CreateProcess(  __in_opt    LPCTSTR

2014-04-17 18:04:46 100685 6

原创 windows下 程序里和cmd中获取/查看进程的参数的方法,打开进程

最近在写一个进程管理的程序,

2014-04-17 16:37:10 16837

原创 使用TerminateProcess结束进程时,错误码为5的解决方法

最近写一个守护进程的程序,发现目标进程挂起后,j

2014-04-16 15:39:39 8479 2

转载 eixt(0),ExitProcess和TerminateProcess的区别和联系

首先来谈谈一个进程的执行流程。每个应用程序都有个主函数,在WINDOWS下,只支持两种类型的应用程序——CUI(控制台应用程序)和GUI(图形界面应用程序),相应的,其主函数类型不同。来看下这几个入口函数int WINAPI WinMain(HINSTANCE hinstExe, HINSTANCE,PSTR pszCmdLine, int nCmdShow);    int WINAPT w

2014-04-14 17:01:07 5007

转载 GetLastError 返回值代表含义大全

GetLastError 返回值大全 〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格

2014-04-14 15:30:17 1494

转载 枚举进程的方法

在Windows 2000以上的MS操作系统,通过Windows的任务管理器可以列出当前系统的所有活动进程,在Windows XP中,更是在控制台下增加了一条Tasklist命令,让系统下的所有进程无所遁行。这一切是怎么实现的呢?方法一第一种方法是大家比较熟悉的通过ToolHelp Service提供的API函数来实现。这里用到了3个关键的函数:CreateToolhelp32Sn

2014-04-09 15:25:43 1020

转载 如何获取某个进程的主窗口以及创建进程的程序名(进程映像名)

在编写工具程序以及系统管理程序的时候。常常需要获取某个进程的主窗口以及创建此进程的程序名。获取主窗口的目的是向窗口发送各种消息。获取启动进程的程序名可以控制对进程的操作。但是有些进程往往有多个主窗口。你要的是哪一个主窗口呢?如果你用过Outlook程序,你就会发现它有多个主窗口,一个窗口列出收件箱和其它文件夹。如果你打开e-mail,便会有另外一个窗口显示信息。它们都是没有父窗口(或者说宿主窗口)

2014-04-09 15:03:19 2376

转载 根据PID获取进程名 或者 根据进程名获取PID

根据PID获取进程名&根据进程名获取PIDLiunx中 通过进程名查找进程PID可以通过 pidof [进程名] 来查找。反过来 ,相同通过PID查找进程名则没有相关命令。在linux根目录中,有一个/proc的VFS(虚拟文件系统),系统当前运行的所有进程都对应于该目录下的一个 以进程PID命名的文件夹 ,其中存放进程运行的N多信息。其中有一个status文件,cat显示该文件, 第

2014-04-09 13:49:34 11203

转载 C++输入cin详解

C++输入cin详解输入原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入#1:#include using namespace

2014-03-23 15:59:27 669

转载 学习C++一些必读经典书籍

人们常常问我有什么C++和编程的书籍推荐,也许是因为我在PowerDNS有一个关于“编写可读性良好的C++代码”的演讲。这篇博文可以作为我对上述问题的一个回答,同时也包含了一些更广泛的笔记编程。如果你有任何补充或喜欢的书籍但是我没有提到,请给留言提示,我打算一有新书就更新这个页面。第一个注意项:如果你打算学习C++,请务必学习最新版的C++ 2011。这个版本的C++移除了许多由C++强大

2014-03-17 12:47:43 1470

转载 pragma pack() 详解

首先强调一点:#pragma pack(4)typedef struct{    char buf[3];    word a;}kk;#pragma pack()此段代码中,struct整体对齐的原则是min(sizeof(word ),4)=2,因此是2字节对齐,而不是我们认为的4字节对齐。其中,sizeof(word )的word是struct中字节最长的成员

2014-03-14 14:41:52 1091

转载 类的赋值运算符=的重载,以及深拷贝和浅拷贝 详解

C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝          赋值运算符摘要: 在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。 如果对象在申明的同时马上进行的初始化操作,则称之为拷贝运算。例如: class1 A("af"); class1 B=A; 此时其实际调用的是B(A)这样的浅拷贝操作。 如果对象在申明之后,在进行的赋值运算,我们称之为赋值运算。例如:

2014-03-13 18:02:19 938

转载 time及其相关函数的使用

1.时间表示    在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果。这个时候我们可以使用下面两个函数time_t time(time_t *tloc);                    //时间精度为秒char *ctime(const time_t *clock);            //将秒数转化为字符串time函数返回从1970

2014-03-13 15:26:43 838

转载 VC中项目配置详解

一.IDE基础配置 1. 字体VC6中“Tools→Options→Format→Font”配置字体;VC2005中“工具→选项→环境→字体和颜色”配置字体。编写代码一般采用等宽字体,等宽点阵(位图)字体,相对矢量字体而言具有兼容性好和显示清晰的优点。常用的编程等宽字体包括Fixedsys(VC6和notepad御用字体)、Consolas、YaHei Mono。VC6默认可选

2014-03-11 14:02:26 2261

转载 getchar 和 getch 详解

函数名: getchar  功 能: 从stdin流中读字符  用 法: int getchar(void);  注解:  getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.g

2014-03-11 10:51:58 1304

原创 STL的hash和map本身以及其key、value是存在stack还是heap?

今天在调试代码的时候出现了一个很奇怪的bug:我在类的一个成员函数内的QHash里存了一对key和value,在同一个类里的另一个成员函数内通过key取出value,竟然是空也就是不存在这对,真是太奇怪了,明明存储在里面,刚存放进去,我通过打印语句打印出来时存在的,在另一个成员函数内就没了。具体代码://test.h   QHash *groupHash;//我定义成了指针对象

2014-03-06 15:47:08 1654

原创 详解 “预处理、编译(compile)、 代码优化、 汇编(Assembly)、 链接 (link)”的具体过程

我们在用vc写好代码后,在进行编译和连接的时候,经常会遇到各种问题:如在连接时遇到的问题:(1)error LNK2019: 无法解析的外部符号*** ,该符号在函数***中被引用   (2)error LNK2001: 无法解析的外部符号 ***等等,出现了这种问题,我们就去百度,谷歌,看到解决方法就去试,试好了,就过了,但是,这到底是怎么回事呢,如果我们能对编译和连接的原理理解

2014-03-06 10:11:15 2830

转载 编译(Compile)、连接(Link)都做了什么事情

一个C程序的生成要经历以下步骤: 1.编写文本代码,生成C或Cpp文件,这时候它还是文本的; 2.编译,就是Compile,由C编译程序对你写的代码进行词法和句法分析,发现并报告错误,有错时编译不能通过。如若无错,则生成中间代码,扩展名为obj,此时它便是二进制的了; 3.连接,在汇编里称Link,在C里叫生成,即Build,它的作用是生成可执行的exe文件。由于一个程序的

2014-03-06 09:27:18 6392

转载 htonl() 、htons()及inet_ntoa() 、inet_addr()的用法

htonl() 、htons()及inet_ntoa() 、inet_addr()的用法 现在我们很幸运,因为我们有很多的函数来方便地操作 IP 地址。没有 必要用手工计算它们,也没有必要用"首先,假设你已经有了一个sockaddr_in结构体ina,你有一个IP地址"132.241.5.10" 要储存在其中,你就要用到函数inet_addr(),将IP地址从 点数格式转换成无

2014-03-04 14:36:50 15074

转载 size_t,ssize_t,int和long的区别

size_t是一些C/C++标准在stddef.h中定义的。这个类型足以用来表示对象的大小。size_t的真实类型与操作系统有关,在32位架构中被普遍定义为:1typedefunsigned intsize_t;而在64位架构中被定义为:1ty

2014-02-25 09:56:39 44630 1

转载 回调函数中如何调用类中的非静态成员变量或非静态成员函数

回调函数中调用类中的非静态成员变量或非静态成员函数【问题1】如何在类中封装回调函数?【答】:  a.回调函数只能是全局的或是静态的。  b.全局函数会破坏类的封装性,故不予采用。  c.静态函数只能访问类的静态成员,不能访问类中非静态成员。  【问题2】如何让静态函数访问类的非静态成员?    【解决方案】:    声明一静态函数a(),将类实例对象指针做为

2014-02-24 17:09:41 7337 2

转载 Android开发规范--编码规范/性能优化/UI优化

本文作者从Android编码规范、Android性能优化、Android UI优化这三个方面讲述了Android开发规范,Android开发者应该好好阅读这篇文章。一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母

2014-02-20 16:20:32 872

转载 socket编程之基础知识

我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?

2014-02-20 14:44:59 1028

转载 网络编程中阻塞与非阻塞,同步与异步、I/O模型的理解

1. 概念理解     在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理

2014-02-20 14:10:41 4194

网络安全基础:应用与标准(第4版)

从第一章到第11章,还有附录A,B。非常全,主要介绍了网络安全的应用和标准

2013-08-04

简单的计费管理系统

此系统是用java及相关的技术开发的一个简单的计费管理系统,体现了一个最基本的计费管理系统框架,实现了一个计费管理的流程。

2011-12-29

基于AT89C2051单片机的电风扇

本文介绍一个采用AT89C2051单片机芯片(以下均简称其为“单片机”)制作的“电风扇定时开关电路”,该电路既可按照系统默认的定时时间参数自动运行,也可由使用者随时通过按键输入设置新的定时时间参数;在整个定时时间内,既可选择使用“连续风”状态,也可选择使用“阵风”状态。具有电路简单、制作容易、设置方便、使用灵活等优点。该电路的控制软件及硬件电路均已实际调试运行通过,非常适合在业余条件下制作、安装和使用,也可由电风扇专业生产厂将其作为自动控制电路,在新型电风扇产品中安装。通过该电路,您可以进一步了解到“单片机”电路的应用扩展功能和指令应用技巧

2010-05-04

空空如也

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

TA关注的人

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