博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2010年10月28日

摘要: 修改mysql的默认字符集是通过修改它的配置文件来实现的。一般分两种情况: [编辑] Windows平台 windows下的mysql配置文件是my.ini,一般在C:\Program Files\MySQL\MySQL Server 5.0default-character-set=gbk #或gb2312,big5,utf8 然后重新启动mysql 运行-services.msc-停止MySql-启动 OK或 /etc/init.d/mysql restart 或用其他方法重新启动,就生效了。 [编辑] Unix平台 linux下的mysql配置文件是my.cnf,一般是/etc/m 阅读全文

posted @ 2010-10-28 12:05 ccmfc 阅读(10232) 评论(0) 推荐(0)

2010年10月26日

摘要: 用MFC做GDI开发的朋友肯定熟悉CBitmap类,该类封装了HBITMAP对象,简化了关于HBITMAP的API操作,如LoadBitmap方法可直接加载资源中指定ID的图片,但是很多情况下我们需要从文件中加载图片,CBitmap类就没有提供这样的方法了。下面我总结几种我知道的从文件加载图片的方法:1、使用API函数LoadImage,指定LR_LOADFROMFILE标志。如:HBITMAP hBitmap = (HBITMAP) ::LoadImage(NULL, strPath, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSEC 阅读全文

posted @ 2010-10-26 16:21 ccmfc 阅读(2218) 评论(0) 推荐(0)

2010年10月14日

摘要: 先用记事本编写如下内容,并保存为 installer.reg 格式文件,双击将文件导入注册表Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]"ImagePath"=-"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,3 阅读全文

posted @ 2010-10-14 09:28 ccmfc 阅读(1353) 评论(0) 推荐(0)

2010年10月10日

摘要: C语言真是太深奥了,越学越觉得很多东西都不会!前段时间面试栽倒的一个问题:C函数入栈顺序下面先摘录一些:================================================C/C++函数调用约定与函数名称修饰规则探讨 使用C/C++语言开发软件的程序员经常碰到这样的问题:有时候是程序编译没有 问题,但是链接的时候总是报告函数不存在(经典的LNK 2001错误),有时候是程序编译和链接都没有错误,但是只要调用库中的函数就会出现堆栈异常。这些现象通常是出现在C和C++的代码混合使用的情况下或 在C++程序中使用第三方的库的情况下(不是用C++语言开发的),其实这都是函数 阅读全文

posted @ 2010-10-10 14:37 ccmfc 阅读(741) 评论(0) 推荐(0)

摘要: 内容摘要 C语言编译的整个过程是非常复杂的,里面涉及到的编译器知识、硬件知识、工具链知识都是非常多的,深入了解整个编译过程对工程师理解应用程序的编写是有很大帮助的,希望大家可以多了解一些,在遇到问题时多思考、多实践。 一般情况下,我们只需要知道分成编译和连接两个阶段,编译阶段将源程序(*.c)转换成为目标代码(,一般是obj文件,至于具体过程就是上面说的那些阶段),连接阶段是把源程序转换成的目标代码(obj文件)与你程序里面调用的库函数对应的代码连接起来形成对应的可执行文件(exe文件)就可以了,其他的都需要在实践中多多体会才能有更深的理解。C语言编译全过程 编译的概念:编译程序读取源程序(字 阅读全文

posted @ 2010-10-10 14:23 ccmfc 阅读(227) 评论(0) 推荐(0)

摘要: /*=============================================================================相关知识介绍(所有定义只为帮助读者理解相关概念,并非严格定义):1、稳定排序和非稳定排序简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的。比如:一组数排序前是a1,a2,a3,a4,a5,其中a2=a4,经过某种排序后为a1,a2,a4,a3,a5,则我们说这种排序是稳定的,因为a2排序前在a4的前面,排序后它还是在a4的前面。假如变成a1,a4,a2,a3,a 阅读全文

posted @ 2010-10-10 14:22 ccmfc 阅读(195) 评论(0) 推荐(0)

2010年10月6日

摘要: 回调函数的使用。 如果不想使用窗体的WM_TIMER消息函数处理,可以使用回调函数来取代,增加一个回调函数。 首先,定义一个回调函数,回调函数的定义必须按照如下格式。void CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime );我的实现函数如下:void CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime ){AfxMessageBox("Timer is running!");//定时器时间到,强出一对话框,表明定时器已经运行。}Se 阅读全文

posted @ 2010-10-06 22:08 ccmfc 阅读(2515) 评论(0) 推荐(0)

摘要: 新建一个Win32 Dynamic-Link library工程,取名DLL,选择“An empty DLL project”选项,即创建了一个空的动态链接库工程。为工程添加一个C++源文件:DLL.cpp。举个例子写入两个函数: #define dll _declspec(dllexport) //导出#include "DLL.H"int add(int a,int b){return a+b;}int subtract(int a,int b){return a-b;}为工程添加一个C++头文件:DLL.H:#ifdef dll#else#define dll _declspec(dll 阅读全文

posted @ 2010-10-06 22:02 ccmfc 阅读(255) 评论(0) 推荐(0)

2010年10月5日

摘要: MFC的消息处理函数1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数4.OnWndMsg() 该函数的功能首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand()消息响应函数,对于WM_NOTIFY消息调用OnNotify() 阅读全文

posted @ 2010-10-05 22:52 ccmfc 阅读(2991) 评论(0) 推荐(0)

摘要: 方法1: void CYourDlg::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default SendMessage(WM_NCLBUTTONDOWN,HTCAPTION); CDialog::OnLButtonDown(nFlags, point); }方法2: UINT CYourDlg::OnNcHitTest(CPoint point) { // TODO: Add your 阅读全文

posted @ 2010-10-05 22:51 ccmfc 阅读(230) 评论(0) 推荐(0)