2012-07-09 03:26
⁄ 工业·编程
⁄ 共 2697字
一、 堆与栈有什么区别?
一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一...
编程阅读全文
2012-07-09 03:22
⁄ 工业·编程
⁄ 共 4515字
下面的这些要点是对所有的C++程序员都适用的。我之所以说它们是最重要的,是因为这些要点中提到的是你通常在C++书中或网站上无法找到的。如:指向成员的指针,这是许多资料中都不愿提到的地方,也是经常出错的地方,甚至是对一些高级的C++程序员也是如此。 这里的要点不仅仅是解释怎样写出更好的代码,更多的是展现出语言规则里面的东西。很显然,它们对C++程序员来说是永久的好资料。...
c++, 程序员, 问题阅读全文
2012-07-08 23:20
⁄ 工业·编程
⁄ 共 1927字
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。 .BMP:位图资源文件。
.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以...
VC, 扩展名阅读全文
2012-07-08 23:17
⁄ 工业·编程
⁄ 共 1225字
1、OnOK()或OnCancel()//只对窗口程序有用
2、PostQuitMessage(0);//最常用
3、ExitProcess(0);
4、
void CMainFrame::OnClose() { // TODO: Add your message handler code here and/or call default if (MessageBox("确定要退出吗?","提示",MB_YESNO|MB_DEFBUTTON2)==IDYES) { CFrameWnd::OnClose(); } }
如:
void CCsView::OnShutdown() //自定义 { // TODO: Add your c...
VC阅读全文
2012-07-08 23:16
⁄ 工业·编程
⁄ 共 1454字
一、 位域的概念
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二...
c++阅读全文
2012-07-08 23:14
⁄ 工业·编程
⁄ 共 5589字
近来由于需要在自己写的程序中对注册表进行操作。总结些经验,并做个一个DEMO供日后使用,现在把它拿出来和大家分享…
为了使用方便,把一些操作写成了函数,以便方便调用,具体代码如下所示:
一、定义
HKEY hKey;
char content[256]; //所查询注册表键值的内容
DWORD dwType=REG_SZ; //定义读取数据类型
DWORD dwLength=256;
struct HKEY__*RootKey; //注册表主键名称
TCHAR *SubKey; //欲打开注册表...
VC阅读全文
2012-07-08 22:56
⁄ 工业·编程
⁄ 共 2184字
很多程序都可以缩小到电脑的右下角变成一个图标,这个就是在程序中添加托盘消息,添加的步骤如下:
1.在XXXdlg.h中添加托盘函数的void toTray();
2.在XXXdlg.cpp中写函数定义:
void CXXXDlg::toTray() { NOTIFYICONDATA nid; nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); nid.hWnd=this->m_hWnd; nid.uID=IDR_MAINFRAME; nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_T...
VC阅读全文
2012-07-08 22:54
⁄ 工业·编程
⁄ 共 2080字
网络编程中经常需要获得类似于路由信息,ip信息之类的东西。下面的这个函数可以实现读取网卡信息:
void MASKinfo() { PIP_ADAPTER_INFO pAdapterInfo; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; DWORD index=0; CString str; pAdapterInfo = (IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_IN...
VC阅读全文
2012-07-08 22:53
⁄ 工业·编程
⁄ 共 467字
有时候我们需要添加自己的消息函数来完成特定的功能,添加消息函数有3个步骤:
1.在stdafx.h中,添加消息函数的宏定义
#define WM_MY_MESSAGE WM_USER + 102 其中WM_USER是VC提供给我们定义自己的消息函数的。
2.在要使用的类的.h文件里面添加函数声明:
LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
3.在.cpp文件的BEGIN_MESSAGE_MAP(CGFGAME, CDialog)中间添加:
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)...
VC阅读全文
2012-07-08 22:51
⁄ 工业·编程
⁄ 共 908字
在对文件操作的时候,我们很多时候需要知道文件的全路径,写了一个函数来获取当前路径:
////////////////////////////////////////////////////////////////////////////// ////////获得当前路径///////////////////////// ////////////////////////////////////////////////////////////////////////////// static CString GetAppPath(BOOL IsDLL , HINSTANCE instance , BOOL IsFullPathName ) { TCHAR sFile...
VC阅读全文