XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


[原创心得] 分享心得

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: [原创心得] 分享心得  
 
gwq85387566
版主
Rank: 7Rank: 7Rank: 7



UID 2605
精华 0
积分 151
帖子 151
阅读权限 100
注册 2006-4-1
来自 岳阳
状态 离线
分享心得

在开发的过程中的问题记录(会不断的增加,把我犯的一些错误,和一些心得与大家分享)
1. 在编译程序中老出现“fatal error C1010: unexpected end of file while looking for precompiled header directive”
   原因是:添加了一个新的.cpp文件,却没再最顶端包含#include<stdafx>,加上,便可解决这个问题,如果是在不想加这东西,可以在project->setting->c++ 的categray =precomplied Header 选择Not using……

2.线程函数作为类成员函数时: 编译提示error     C2664:     '_beginthreadex'     :     cannot     convert     parameter     3     from     'unsigned     long     (void     *)'     to     'unsigned     int     (__stdcall     *)(void     *)'  
解决方法:该线程函数作为类成员函数时一般加上static   修饰符。

3.某个应用程序只允许执行1次,即只产生一个窗口(这里以MFC程序为例)
// 创建互斥量
HANDLE m_hMutex = CreateMutex(NULL, FALSE, "Sample07");
// 检查错误代码
if (GetLastError() == ERROR_ALREADY_EXISTS) {
 // 如果已有互斥量存在则释放句柄并复位互斥量
 CloseHandle(m_hMutex);
 m_hMutex = NULL;
 // 程序退出
 return FALSE;
}
*将这段代码放进对应app类的InitInstance()成员函数定义中

4 不要用函数的指针参数来开辟动态内存,如果一定要用,请用2重指针,因为函数中参数传递的过程设计到一个副本的建立,在函数结束后,该副本资源会被释放。导致指针并不能如我们所愿的指向包含我们需要数据的地址

5 非法指针的问题:delete仅仅是将指针指向的内存释放掉,但是指针并不为NULL,所以要释放内存后最后将指针赋值为NULL,这是个比较好的习惯。

6 工程中连接.lib文件的语句
#program comment(lib,"名字");

7在工程中指定头文件等目录的方法:Project->setting   
  选择C/C++选项->Category:下选择Preprocessor   
  然后在下面的Additional   include   directories:下加上你的目录就行了

未完待续…………

[ 本帖最后由 gwq85387566 于 2007-10-12 14:06 编辑 ]
2007-10-12 14:04#1
查看资料  Blog  发短消息  ICQ 状态  顶部
 
TangoStudio
小水手
Rank: 1



UID 57
精华 0
积分 9
帖子 9
阅读权限 10
注册 2005-7-4
来自 深圳
状态 离线
学习 楼主的善于总结。


//------------------------------------
我们有套类似于qq游戏,联众游戏的棋牌游戏平台,寻找合作。
拥有自主产权。定制或合作运营都可以。
我们的网站www.game.ulovesoft.com
2007-10-23 22:22#2
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-2 12:56 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver