- 博客(9)
- 资源 (3)
- 收藏
- 关注
原创 CRITICAL_SECTION 理解的总结 EnterCriticalSection LeaveCriticalSection
CRITICAL_SECTION 理解的总结很多人对CRITICAL_SECTION的理解是错误的,认为CRITICAL_SECTION是锁定了资源,其实,CRITICAL_SECTION 是不能够“锁定”资源的,它能够完成的功能,是同步不同线程的代码段。简单说,当一个线程执行了EnterCritialSection之后,cs里面的 信息便被修改了,以指明哪一个线程占用了它。而此时,并没有任何资源
2010-02-25 14:48:00 881
原创 VC 创建和结束进程
进程是当前操作系统下一个被加载到内存的、正在运行的应用程序的实例。每一个进程都是由内核对象和地址空间所组成的,内核对象可以让系统在其内存放有关进程的统计信息并使系统能够以此来管理进程,而地址空间则包括了所有程序模块的代码和数据以及线程堆栈、堆分配空间等动态分配的空间。进程仅仅是一个存在,是不能独自完成任何操作的,必须拥有至少一个在其环境下运行的线程,并由其负责执行在进程地址空间内的代码。在进程
2010-02-25 13:37:00 571
原创 释放对象数组:delete与delete[]
<>练习 14.11 中提到: Account *parray=new Account[100]; delete parray; delete [] parray; 方括号的存在会使编译器获取数组大小(size)然后析构函数再被依次应用在每个元素上,一共size次。否则,只有一个元素被析构。 无论哪种情况,分配的全部空间被返还给自由存储区。 我的
2010-02-22 15:29:00 1033
转载 VC下线程同步的三种方法(互斥、事件、临界区)/(转)
首选使用临界区对象,主要原因是使用简单。 EnterCriticalSection()函数等候指定的危险区段对象的所有权。当调用的线程被允许所有权时,函数返回。 EnterCriticalSection (),一个单独进程的线程可以使用一个危险区段对象作为相互-排除同步。 进程负责分配被一个危险区段对象使用的内存, 它藉由声明一个CRITICAL_SEC
2010-02-22 08:50:00 549
原创 error LNK2001: unresolved external symbol _main解决办法
解决外部符号错误:_main,_WinMain@16,__beginthreadexVC程序编译时经常产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _mainLIBCD.lib(wincrt0.obj) : error LNK2001:
2010-02-20 16:37:00 1706
原创 2010收集
vc编程实例网页:http://blog.chinaunix.net/u2/67530/article_84358_3.html 数据库操作网页:http://www.builder.com.cn/database1.shtml
2010-02-20 10:33:00 358
转载 MFC程序的构造过程和运行机理
文件出处:http://tangfeng.javaeye.com/blog/93399 一个完整的窗口需要经过下面四个操作步骤:1.设计一个窗口类我们知道全局对象的构造函数会在main 函数之前执行,那么这个全局类对象:theApp在main函数执行前就已经分配好了内存空间,由其定义class CTestApp : public CWinApp{ ....}可知,该全局类继承自C
2010-02-03 17:22:00 475
原创 用非静态类成员函数作为线程函数
非静态的类成员函数是不能直接作为线程函数的,如果把成员函数声明为静态,可以解决问题,但是静态函数只能访问类的静态成员,这又带来很多麻烦。不过可以通过包装解决此问题,如下:class test{ private: void func();//实际需要作为线程函数的函数 public: static unsinged
2010-02-02 09:28:00 660
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人