- 博客(78)
- 资源 (9)
- 收藏
- 关注

原创 资料工具
库BoostBoost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。CURLcurl is a command line tool for transfe
2012-12-03 18:34:48
1024

原创 Linux随笔
Linux命令1.重启网络适配器:service network restart怎么putty远程连接到linux虚拟机(VMare) 首先,要给虚拟机分配独立的ip地址,在虚拟机setting中,选择NetworkAdaptert——》Custom:Specifc virtual network。当分配玩独立ip,可以ping通后,就可以putty了。--------------
2012-12-02 09:11:10
980

原创 摘抄
1. 读的书多了,杂了,文化背景深厚了,同时在实践中又时常面对和处理各种复杂情形,一般来说,一个人的思维方式就会变得系统而多元,而不是简单和机械,不是形而上的黑白分明。 2.
2012-11-29 20:06:30
760

原创 C/C++随笔
C语言sizeofsizeof是C/C++中的一个操作符,简单的说其作用就是返回一个对象或者类型所占的内存字节数。 int i = 0; int isize = 0; isize = sizeof(i); printf("%d\n", isize); isize = sizeof i; printf("%d\n", isize); isize = size
2012-11-29 08:12:50
801

原创 VC常见问题集锦
error LNK2019: 无法解析的外部符号 1.是否引入Lib和Dll文件,如检查工程——》右键属性——》配置属性——》链接器——》输入中“附加依赖项”是否缺少Lib文件等等如:error LNK2019: 无法解析的外部符号 _GetFileVersionInfoA@16,该符号在函数 __catch$?GetOCXInfo@CAgentRestOCX@@AAEXAAV?$CS
2012-11-20 15:01:07
1337

原创 VC功能实现
如何移动窗体 在鼠标左击事件中添加代码:void CDialogin::OnLButtonDown(UINT nFlags, CPoint point) { //该函数实现在客户区能够拖动窗体 // TODO: Add your message handler code here and/or call default CDialog::OnLButtonDown(nFl
2012-10-22 16:46:18
779

原创 VC控件使用记录
Button控件: Bitmap:可以使用位图自定义button外观,需要将此属性设置为true 代码class CDialogin : public CDialog{ ......private: HBITMAP m_BitmapCancel; HBITMAP m_BitmapOK; HBITMAP m_BitmapClose;public: CBu
2012-10-22 14:41:59
703
原创 STL--模板和容器
函数模板#include //int max(int a,int b)//{// return a > b ? a : b;//}////char max(char a,char b)//{// return a > b ? a : b;//}////float max(float a,float b)//{// return a >
2013-07-31 14:56:36
1071
原创 非阻塞Socket
工程-》属性》链接器》输入》附加依赖项》ws2_32.libHTTPSocket.h#pragma once#include using std::string;typedef unsigned short USHORT;const USHORT HTTP_TIMEOUT = 5000;const USHORT MAX_EXTERN_LEN = 200;
2013-07-23 15:37:31
1081
原创 VC多线程
线程的创建CreateThread HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize,LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter,DWORD dwCreationFlags,LPDWOR
2013-07-21 11:55:58
1442
原创 链表
#include typedef int ElemType;typedef struct LNODE { ElemType data; struct LNODE *next;}LNODE, *LinkList;//寻找单链表的中间结点: 慢指针走一步,快指针走两步LNODE *middle(LNODE *head){ if(NULL == he
2013-07-17 14:38:29
854
原创 链表
寻找单链表的中间结点#include typedef int ElemType;typedef struct LNODE { ElemType data; struct LNODE *next;}LNODE, *LinkList;//寻找单链表的中间结点: 慢指针走一步,快指针走两步LNODE *middle(LNODE *head){ i
2013-07-17 14:14:54
800
原创 旋转矩阵
顺时针N(n#include#define N 10void main(){ int a[N][N]; //left, up, right, down为矩阵限制行和列 int left, up, right, down, n, t; puts("input n:\n"); scanf("%d", &n); if (n > 10) { p
2013-07-12 15:08:48
929
原创 带窗体的OCX控件
1.创建“MFC Activex 控件”类型的项目,项目名称AgentSDKEx;在控件设置中,创建的控件基于STATIC,勾选“无闪烁激活”,去掉勾选“有关于对话框”,点击“完成”2.资源视图中,插入对话框资源IDD_DIALOG_MAIN,属性中设置style:child visible:true。另外可选属性toolbar,control等等,可根据需要选择3.类向导中创建IDD_D
2013-05-23 23:47:28
2909
1
原创 守护进程(学习笔记六)
写三个程序,分别执行如下功能:程序一:打印“I am process 1”,然后睡眠3秒,退出程序二:打印“I am process 2”,然后睡眠3秒,退出程序三:程序执行起来后创建两个子进程,此两个子进程分别使用exec运行程序一和程序二,当主进程检测到任何一个子进程退出时,打印出退出的子进程,并重新启动相应的子进程。daemon.c#include #includ
2013-04-21 15:57:10
989
转载 MD5加密
MD5Crypt.h#if !defined(AFX_MD5CRYPT_H__8D1E322D_1EF6_4954_A9CF_BAD85BDD1E90__INCLUDED_)#define AFX_MD5CRYPT_H__8D1E322D_1EF6_4954_A9CF_BAD85BDD1E90__INCLUDED_#if _MSC_VER > 1000#pragma once
2013-04-11 15:56:22
855
原创 程序打包
1. 新建安装部署项目打开Visual Studio2005,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定。2. 配置安装系统文件 1).鼠标左键点击“应用程序文件夹”,在打开的右侧界面中单击鼠标右键,在弹出的快捷菜单中选择“添加”->“文件”。 2)在打开的文件选择界面中,添加某文件夹中具体的文件,
2013-03-27 16:20:48
900
转载 零值比较--BOOL,int,float,指针变量与零值比较的if语句
零值比较--BOOL,int,float,指针变量与零值比较的if语句这是程序员面试的一道常见题,也是个C++基础问题。若只在大学里看过几本基础的编程入门书,看见这道题可能会觉得奇怪,不就是和0比较吗,直接拿出来比就是了,其实非也。下文引自google搜索结果,出处不详,高手可以无视,菜菜留下,记得做好笔记。首先给个提示:题目中要求的是零值比较,而非与0进行比较,在C++里“零值”的范围可
2013-03-21 14:31:54
950
原创 Linux Glibc(学习笔记五)待续。。。。
内存及字符串1. calloc(配置内存空间) 相关函数 malloc,free,realloc,brk表头文件 #include 定义函数 void *calloc(size_t nmemb,size_tsize);函数说明 calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素的指针。这和使用下列的方式效果相同: mall
2013-03-06 22:33:57
973
原创 Linux Glibc(学习笔记四)
字符串转换1相关函数 atoi,atol,strtod,strtol,strtoul表头文件 #include stdlib.h>定义函数 doubleatof(const char *nptr);函数说明 atof()会扫描参数nptr字符串,跳过前面的空格,遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0’)才结束转换,并将结果返回。参数nptr字符
2013-03-05 22:48:20
1206
原创 《C++编程思想》读书笔记一 设计模式(待续。。。)
单件 #include using namespace std;class Singleton{ static Singleton s; static int b; int i; Singleton(int x): i(x){}; Singleton& operator=(Singleton&); Singleton(const Singleton&);public
2013-03-05 09:45:19
848
转载 用GDB调试程序(一)
用GDB调试程序http://blog.youkuaiyun.com/haoel/article/details/2879GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有
2013-03-04 22:46:33
617
原创 Linux Glibc(学习笔记三)
简介glibc是gnu发布的libc库,也即c运行库。glibc是linux系统中最底层的api(应用程序开发接口Application Programming Interface ),几乎其它任何的运行 库都会倚赖于glibc。glibc除了封装linux操作系统所提供的库函数外,它本身也提供了许多其它功能的库函数,主要的如下:(1)string库,字符串处理库函数(2)sign
2013-02-26 22:18:00
1490
原创 递归(学习笔记2)
名词解释:(1)什么是递归程序? (2)递归程序的优、缺点是什么? (3)递归程序在执行时,应借助于什么来完成? (4)递归程序的入口语句、出口语句一般用什么语句实现?(1)一个函数在结束本函数之前,直接或间接调用函数自身,称为递归。例如,函数f在执行中,又调用函数f自身,这称为直接递归;若函数f在执行中,调用函数g,而g在执行中,又调用函数f,这称为间接递归。在实际应用中,多
2013-02-26 07:24:37
2793
原创 四种变量(学习笔记1)
#include int main(){ int a[4]={1,2,3,4}; int *p[4],i; for(i=0; i<4; i++) { p[i] = &a[i]; printf("%d\t",*p[i]); } printf("\n")
2013-02-25 22:39:09
861
原创 ocx手动添加事件
假设创建的ocx工程名称为AgentRest,要添加的事件为OnPreviewCallRequest。1.AgentRest.idl文件中添加 [id(1)] OnPreviewCallRequest(long lCtrlID, BSTR lpCalls); [ uuid(7BC09251-081A-4AAE-A757-18D603CE4800), helpstring("Even
2013-02-17 16:22:25
2107
原创 LibCurl库使用
这篇文章以实例讲解如何使用HTTP常用的四种协议 put、post、get、delete,只要掌握一种,其他的在使用上都是大同小异。在实际项目开发过程中,这些工具会有帮助,HttpWatch或者Wireshark。最新的libcurl可以到http://curl.haxx.se/下载。关于资料可以参考官方文档。库使用前准备工作:引用lib库,并把文件夹curl复制到到工程项目目录中。代码部
2013-02-02 13:11:53
2387
原创 发送消息到自定义窗体类
在控件项目中经常要发送一些信息给某个对象,这时就想到了使用窗体消息来传递。虽然有时候传递对象的指针也是可行的,但他往往没有传递句柄来的更方便,因为传递指针需要引入头文件,头文件相互引入比较多时,管理上会比较混乱。1.创建一个对话框工程,工程名称“发送消息”2.添加一个“MFC类”,类名称为CRevMessage,基类选择CWnd3.在RevMessage.h中添加自定义消息#def
2013-02-01 15:10:49
875
原创 error C2504: 未定义基类
此错误是编译错误,和“inclued头文件“有关问题描述有三个头文件AgentSDK.h、AA.h、BB.h,其中CBB类继承自CAA。头文件包含顺序如下,1.AA.h包含AgentSDK.h2.AgentSDK.h包含BB.h3.BB.h包含AA.h原因分析:编译器首先编译AA.h,因其包含AgentSDK.h,引入AgentSDK.h继续编译。因为AgentSDK.
2013-02-01 11:23:10
28383
2
原创 多线程信号量
用SetEvent()或PulseEvent()来设置它使其有信号,用ResetEvent() 来使其无信号,用WaitForSingleObject()或WaitForMultipleObjects()来等待 其变为有信号.相关函数WaitForSingleObjectDWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMil
2013-01-25 10:12:21
862
原创 可变函数(结)
1.建一个对话框工程,写一个Log函数,且看实例void C可变函数Dlg::Log(LPCTSTR FormatString, ...){ CString str(_T("")); va_list args; //初始化参数,FormatString为参数的前一个参数 va_start(args, FormatString); /*然后应该对ap 进行初始
2013-01-23 09:01:28
534
转载 Linux C静态库和动态库的制作
回顾一下我们之前用数学函数是如何用的:①在用到数学函数的源代码文件里,#include,把数学函数的声明加进来,方便编译器进行类型检查。②在编译上面的源代码文件时,gcc 结尾添加选项 –lm 把数学函数的库文件,和我们的源代码链接在一起。③将来就能顺利地执行程序了。 这是使用库函数的典型流程。接下来我们自己创建库文件。并期望像系统的库文件一样使用它。 当人们学习编程
2013-01-21 23:31:57
651
原创 C题库3
函数1.下面程序期望输出str = hello world,请指出其中的错误:char* GetStr(char *p){ p = "hello world"; return p;}void main(void){ char *str = NULL; if (NULL != GetStr(str)) { printf("\r\n str =
2013-01-15 20:11:19
1815
原创 vim的使用
三种模式:1.编辑模式1)进入编辑模式:命令模式按a A I i O o中任意键;a (append) 由光标之后加入资料。A 由该行之末加入资料。i (insert) 由光标之前加入资料。I 由该行之首加入资料。o (open) 新增一行于该行之下供输入资料之用。O 新增一行于该行之上供输入资料之用2)退出编辑模式:按esc,结束插入模式;输入冒号进入底行模式
2013-01-14 07:24:18
559
原创 Vmtools的安装(结)
1.在Vmware菜单中右键点击自己安装的虚拟机名字,在弹出菜单上单机 settings(设置)2.点击cd/dvd这个选项,Use Iso image file: 处点击Browse3.浏览到vmware这个软件的安装位置,在VMware/VMware Workstation文件夹下选择linux.iso,点击打开4.去掉Device status项下Conected勾选,点击OK;
2013-01-12 20:54:54
765
原创 C题库2
输入输出、格式化1.如下程序用于把“blue”字符串打印出来,请指出其中的错误:#include void main(){ char pcBlue[] = {'b', 'l', 'u', 'e'/*, '\0'*/}; printf("%s", pcBlue); return;}答案:缺少结束符2.指出代码错误:#include #defin
2013-01-07 10:17:55
2270
原创 Json库
选择第三方库JsonCpp来解析json,JsonCpp是比较出名的c++解析库,在json官网也是首推的。下载地址是:http://sourceforge.net/projects/jsoncpp/。或者到http://download.youkuaiyun.com/detail/wklnewlife/4008660注意: Json::Value只能处理ANSI类型的字符串,如果C++程序使用Unico
2013-01-05 17:01:11
1146
原创 C题库1
数据类型、字节对齐1.在VC6,32位X86系统下,有下列程序:#include void main(){ union { int k; char i[2]; }*s, a; s = &a; s->i[0] = 0x39; s->i[1] = 0x38; printf("%x\n", a.k);}输出结果是()a.3839 b.393
2013-01-05 11:34:12
3234
原创 消息队列
头文件://////////////////////////////////////////////////////////// 文件名: MessageQueue.h// 版本: 1.0 // 目的及主要功功能: 消息队列CMessageQueue// 创建日期: 2009.05.
2012-12-18 18:23:22
807
原创 高级调试技术
TRACE宏和printf函数一样,输出调试信息,信息输出在DEBUG输出栏中,DEBUG有效,RELEASE下无效。 TRACE("TRACE:this is trace %s", "test");ASSERT宏assert宏的原型定义在,宏的参数为逻辑表达式,表达式为真则不会发生任何动作,表达式为假,系统弹出警告框,并停止程序运行,同时要求做出选择Abort、Ignor
2012-12-17 14:42:08
662
C#天气预报WebService
2011-03-17
QQ源码学习,模拟QQ源码学习,模拟QQ源码学习,模拟
2011-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人