c++
文章平均质量分 55
guoquan2003
这个作者很懒,什么都没留下…
展开
-
多线程设计基本概念
进程(Processes)进程内还有内存和资源(核心对象、user资源、GDI资源),它本身不能执行,只是一个提供安置内存和线程的地方。是一大堆对象的拥有权的集合。 内存:CODE、Data、StackCode是程序的可执行部分,只读的,这是CUP唯一允许执行的内存Data是程序中的所有变量(不包括函数中的局部变量),可以分为全局变量和静态变量两种。Stack是调用函数时用转载 2009-07-30 10:38:00 · 1021 阅读 · 0 评论 -
socket函数基本使用介绍
一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明转载 2009-12-29 16:42:00 · 770 阅读 · 0 评论 -
linux c mkdir创建递归目录
#include #include #include #include #define err(msg) perror(msg)static void mkdirs(const char *dir){ char tmp[1024]; char *p; if (strlen(dir) == 0 || dir == NULL) {原创 2009-12-31 12:29:00 · 11201 阅读 · 0 评论 -
LINUX后台运行程序命令
LINUX后台运行程序命令,在退出终端连接时,仍能运行 nohup ./youprogress &原创 2010-01-07 09:06:00 · 809 阅读 · 0 评论 -
AFX_MANAGE_STATE (AfxGetStaticModuleState())解决dll 、多线程访问资源问题
AFX_MANAGE_STATE (AfxGetStaticModuleState())解决dll 、多线程访问资源问题原创 2010-01-15 18:55:00 · 1120 阅读 · 0 评论 -
Bmp位图图片颜色替换
替换前:void CPicColorDlg::OnButton2() { // TODO: Add your control notification handler code here // TODO: Add your control notification handler code here CDC* pDC = AfxGetApp()->m_pMainWnd->GetDC()原创 2010-04-28 11:38:00 · 2289 阅读 · 0 评论 -
为CListCtrl添加item编辑功能
<br />1、在dlg窗体添加一个CListCtrl 和一个CEdit<br />2、为此两控件对应绑定两成员变量,如下<br />CListCtrl m_List;<br />CEdit m_cTextEdit;<br />3、在dlg.h头文件添加两似有成员变量<br />private:<br /> int m_nRow;<br /> int m_nCol;<br />4、在oninitdialog初始化化listctrl 和edit<br /> // 设置接收文件列表风格<br /> LONG l原创 2010-06-19 14:47:00 · 4922 阅读 · 0 评论 -
常用系统API
<br />一 键盘<br />1.1 Disabling Low-level Keys<br />#define _WIN32_WINNT 0x0400<br />#include <br />LRESULT CALLBACK LowLevelKeyboardProc(int nCode, <br /> WPARAM wParam, LPARAM lParam) <br />{<br /> BOOL fEatKeystroke = FALSE;<br /> <br /> if (nCo原创 2010-08-17 14:45:00 · 597 阅读 · 0 评论 -
利用GetIfTable ,GetIfEntry 实时判断网线插拔状态
<br />// testlinkDlg.h : header file<br />//<br />#if !defined(AFX_TESTLINKDLG_H__C0EDCF96_BB21_4A9D_B508_23DD96954F30__INCLUDED_)<br />#define AFX_TESTLINKDLG_H__C0EDCF96_BB21_4A9D_B508_23DD96954F30__INCLUDED_<br />#if _MSC_VER > 1000<br />#pragma once<br原创 2010-08-17 14:53:00 · 1683 阅读 · 0 评论 -
利用GetIfTable ,GetIfEntry 实时判断网线插拔状态
// testlinkDlg.h : header file//#if !defined(AFX_TESTLINKDLG_H__C0EDCF96_BB21_4A9D_B508_23DD96954F30__INCLUDED_)#define AFX_TESTLINKDLG_H__C0EDCF96_BB21_4A9D_B508_23DD96954F30__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000//////////////原创 2010-08-17 14:54:00 · 6604 阅读 · 1 评论 -
常用系统API
<br />一 键盘<br />1.1 Disabling Low-level Keys<br />#define _WIN32_WINNT 0x0400<br />#include <br />LRESULT CALLBACK LowLevelKeyboardProc(int nCode, <br /> WPARAM wParam, LPARAM lParam) <br />{<br /> BOOL fEatKeystroke = FALSE;<br /> <br /> if (nCo原创 2010-08-17 14:47:00 · 702 阅读 · 0 评论 -
计字符串中含有的汉字与非汉字个数
<br />//----------------------------------------------------------<br />//函 数 名: GetChsAndEngCnt()<br />//功 能: 统计字符串中含有的汉字与非汉字个数<br />//参数说明: [in] cstrText:要统计的字符串<br />// [OUT] wChsCnt:汉字个数<br />// [OUT] wEngCnt:非汉字个数<br /><br />void CUtili原创 2010-08-17 15:45:00 · 976 阅读 · 0 评论 -
【转】在Visual C++中检测和隔离内存泄漏
<br />具有动态的分配和释放内存的能力是C/C++程序语言的重要特色之一。VisualC++ debugger和CRT库提供了一系列有效的检测和鉴定内存泄漏的工具。<br /><br />设置内存泄漏检测<br /><br /> 检测内存泄漏的基本工具是调试器和CRT调试堆函数。为了使用调试堆函数,在你的程序中你必须含有下面的说明:<br /><br />#define _CRTDBG_MAP_ALLOC<br />#include<stdlib.h><br />#include<crtdbg.h><原创 2010-08-22 18:52:00 · 730 阅读 · 0 评论 -
使用GDI+ MeasureString方法计算显示 输入文本的长度
<br />// stdafx.h : include file for standard system include files,<br />// or project specific include files that are used frequently, but<br />// are changed infrequently<br />//<br />#if !defined(AFX_STDAFX_H__660C12D0_6133_459C_B633_7A2DFC9FFD72_原创 2010-08-20 13:36:00 · 7504 阅读 · 0 评论 -
[转发]Invalid allocation size 异常问题点捕获 exceeded 7ffdefff
<br />HEAP[IEXPLORE.EXE]: Invalid allocation size - 89FF7630 (exceeded 7ffdefff)<br />First-chance exception in IEXPLORE.EXE (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.<br />Warning: Uncaught exception in WindowProc (returning 0).<br /><br /><br /原创 2010-09-12 16:32:00 · 5145 阅读 · 1 评论 -
查找字符串最后一个相匹配的串,不存在返回NULL, 存在返回出现的位置指针
<br />//查找字符串最后一个相匹配的串,不存在返回NULL, 存在返回出现的位置<br />//s1 目标串 s2 子串<br />char *strRstr( const char *s1, const char *s2 )<br />{<br /> int len2 = 0;<br /> if ( !(len2 = strlen(s2)) )<br /> {<br /> return (char*)s1;<br /> }<br /> char* pcRet = NULL;<br /> size原创 2010-12-16 15:12:00 · 2010 阅读 · 0 评论 -
字符串类型ip同数值类型ip转换
<br /><br />字符串类型ip同数值类型ip转换<br /><br />====char*-->int===<br />char chIP[50] = _T("172.0.0.1");<br />DWORD dwIpAddr = inet_addr( chIP );<br />====int-->char*===<br />CString strIp = "";<br />DWORD dwIp = 0;<br />in_addr addr;<br />addr.S_un.S_addr = dwIp原创 2010-12-16 15:23:00 · 747 阅读 · 0 评论 -
Socket API,CAsyncSocket,CSocket内幕及其用法
Socket有同步阻塞方式和异步非阻塞方式两种使用,事实上同步和异步在我们编程的生涯中可能遇到了很多,而Socket也没什么特别。虽然同步好用,不费劲,但不能满足一些应用场合,其效率也很低。 也许初涉编程的人不能理解“同步(或阻塞)”和“异步(或非阻塞)”,其实简单两句话就能讲清楚,同步和异步往往都是针对一个函数来说的,“同步”就是函数直到其要执行的功能全部完成时才返回,而“异步”则是,函转载 2010-03-11 17:47:00 · 637 阅读 · 0 评论 -
LPTSTR、LPCSTR、LPCTSTR、LPSTR区别
UNICODE:它是用两个字节表示一个字符的方法。比如字符A在ASCII下面是一个字符,可A在UNICODE 下面是两个字符,高字符用0填充,而且汉字程在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编 现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长表示世界文字的编 。MBCS表示英转载 2009-12-23 15:31:00 · 481 阅读 · 0 评论 -
【转】STL里的multimap使用简介
在“使用 库创建关联容器” 一文中,我们讨论了标准库中的 map 关联容器。但那只是 map 容器的一部分。标准库还定义了一个 multimap 容器,它与 map 类似,所不同的是它允许重复键。这个属性使得 multimap 比预想的要更有用:比如在电话簿中相同的人可以有两个以上电话号码,文件系统中可以将多个符号链接映射到相同的物理文件,或DNS服务器可以将几个URLs映射到相同的IP地址。在转载 2009-12-18 11:44:00 · 477 阅读 · 0 评论 -
MTVERIFY.h
#include "stdafx.h"#include #pragma comment( lib, "USER32" )#ifdef DEBUG #define MTASSERT(a) _ASSERTE(a) #define MTVERIFY(a) if (!(a)) PrintError(#a,__FILE__,__LINE__,GetLastError())#else #define原创 2009-07-29 16:50:00 · 2143 阅读 · 0 评论 -
VC++中的Dll调用及Dll的调试
1、 创建Win32 Dynamic-Link Library工程,命名为MyDll。2、 在MyDll.h文件如下。#ifdef MYDLL_EXPORTS#define MYDLL_API __declspec(dllexport)#else#define MYDLL_API __declspec(dllimport)#endifclass MYDLL_转载 2009-07-30 12:27:00 · 729 阅读 · 0 评论 -
MFC中的CDC,CClientDC,CPaintDC,CWindowDC的区别
转载自 http://hi.baidu.com/baiyw920/blog/item/c9437ad9365f303233fa1cd7.html CDC是Windows绘图设备的基类。CClientDC:(1)(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC。CPaintDC:(转载 2009-09-09 11:15:00 · 1472 阅读 · 0 评论 -
ON_COMMAND_RANGE()使用注意事项
ON_COMMAND_RANGEON_COMMAND_RANGE( id1, id2, memberFxn )参数: id1 一个连续范围的命令ID的起始值。 id2 一个连续范围的命令ID的结束值。 memberFxn 该命令被映射到的消息处理函数的名字。 说明:使用这个宏把一个连续范围的命令ID映射到单个命令处理函数。ID的范原创 2009-09-08 15:21:00 · 7707 阅读 · 0 评论 -
如何使EnableMenuItem函数的调用有效
转自:http://blog.csdn.net/luckysolar/archive/2007/01/02/1472401.aspx在MFC环境下Menu的修改在默认的情况下是通过CCmdUI来改变的, 调用EnableMenuItem函数无效(不管是全局API还是 CMenu类的成员函数).但是只要修改CFrameWnd类的一个成员变量m_bAutoMenuEnable就可以使调用的函数有效转载 2009-09-08 15:20:00 · 3742 阅读 · 1 评论 -
当使用BCMenu 时,发现菜单不显示不一致时的处理
当使用网络上的BCMenu 时,发现菜单不显示不一致时的处理,如右键菜单的 大小不一样,需要重载下面这函数。 void CMymenuView::OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct) { BOOL setflag=FALSE; if(lpMeasureItemStruct->CtlType原创 2009-09-08 15:31:00 · 753 阅读 · 0 评论 -
VC/MFC之ListCtrl控件使用经验总结(一)(
VC/MFC之ListCtrl控件使用经验总结(一)(2009-04-16 15:40:44)标签:vc/mfc listctrl clistctrl 控件 使用 经验 总结 it 分类:软件开发VC/MFC之ListCtrl控件使用经验总结作者:lixiaosan时间:04/06/2006以下未经说明,listctrl默认转载 2009-09-16 14:32:00 · 883 阅读 · 0 评论 -
BitBlt()双缓冲解决图象闪烁
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁? 我们的绘图过程大多放在OnDraw转载 2009-09-17 22:09:00 · 766 阅读 · 0 评论 -
CStrring splite分割
bool _splite(CString strSrc, CString strSplite,CStringArray& arDes){ arDes.RemoveAll();//初始化 while(strSrc.GetLength()>0){ int pos = strSrc.Find(strSplite,0);//定位分割符 CString strLeft; if(pos!转载 2009-09-24 11:58:00 · 663 阅读 · 0 评论 -
让组合框自动匹配用户的输入
...............CComboBox m_kz;CString m_zhi;......................... BOOL CZhkDlg::PreTranslateMessage(MSG* pMsg) {if(pMsg->message==WM_KEYUP)//键盘释放按键{ UpdateData(TRUE); int length=m转载 2009-10-15 05:38:00 · 811 阅读 · 0 评论 -
CListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
单元格长度256限制问题 ....替换重载DrawItem时记得OwnerDrawFixed 勾选上,才能生效 MyListCtrl.h class CMyListCtrl : public CListCtrl {public: CMyListCtrl(); void CMyListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemSt原创 2009-10-28 13:49:00 · 4337 阅读 · 0 评论 -
用strstr()写的一Split分割函数(解决strtok分割问题)
用strstr()写的一Split分割函数(解决strtok分割问题)strtok 会将 "a,b,,c,,,,d,e" 中的",,"做一个","给处理 /*功能:返回第nPos个 (从0开始) needle分割串 参数说明:haystack :待处理的串needle :分割串nPos:返回第几个处理结果szParResult:接收结果的Buff*/原创 2010-01-14 13:45:00 · 1029 阅读 · 0 评论 -
WinAPI: WinExec - 运行外部程序
WinAPI: WinExec - 运行外部程序//声明WinExec( lpCmdLine: LPCSTR; {文件名和参数; 如没指定路径会按以下顺序查找: 程序目录/当前目录/System32/Windows/PATH环境变量} uCmdShow: UINT {启动选项}): UINT;//返回值:大于 31原创 2010-01-15 18:48:00 · 606 阅读 · 0 评论 -
Winsock程序设计入门
一、简单的TCP服务器介绍WinSock API是一套供Microsoft Windows操作系统使用的套接字程序库,它最初基于Berkeley套接字,但是其中加入了一些Microsoft的特殊改动。在这篇文章中,我要试着给你介绍如何使用WinSock来进行套接字程序设转载 2010-01-19 11:46:00 · 721 阅读 · 0 评论 -
linux so动态库调用例子
#include #include using namespace std;int main(int argc, char* argv[]){ char *p; void *lib; lib = dlopen("./libCC.so", RTLD_LAZY); if (lib == NULL) { cout p = dle原创 2009-12-17 17:57:00 · 937 阅读 · 0 评论 -
Java调用 xx.so库
package com.xxx.yyy; public class kkkEncode{ public native static boolean encode(double loIn, double laIn, double[] point); //声明一个同库一样的方法 public native static boolean decode(double loI原创 2009-12-18 18:18:00 · 604 阅读 · 0 评论 -
list滚动条Scroll 偏移和长度计算公式总结
<br />list滚动条Scroll 偏移和长度计算公式总结<br />A.计算偏移:<br />偏移/list窗口高度 = 目前总偏移/所有listitem高度总和<br />即:<br />偏移 = (目前总偏移 * list窗口高度 ) / 所有listitem高度总和<br />B.计算Scroll拇指高度<br />所有listitem高度总和 / list窗口高度 = pageCnt<br />Scroll拇指高度 = list窗口高度 / pageCnt<br />即:<br />Scr原创 2011-01-25 16:01:00 · 3445 阅读 · 0 评论