当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行、子进程的创建与结束等作了较详细的阐述。
 

 

    摘要:指针函数和函数指针有什么区别 1,这两个概念都是简称,指针函数是指带指针的函数,即本质是一个函数。我们知道函数都又返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针。其定义格式如下所示: 返回类型标识符 *返回名称(形式参数表) { 函数体 } 返回类型可以是任何基本类型和复合类型。返回指针的函数的用途十分广泛。事实上,每一个函数,即使它不带有返回某种类型的指针,它本身都......
    摘要:为初学者服务。这是我的帖子的宗旨。我也是个初学者(强调了无数遍了) ,我以我的理解把初学者觉得难懂的东西用浅显的语言写出来。由于小学时语文 没学好,所以竭尽全力也未必能达到这个目的。尽力而为吧。 指针是c和c++中的难点和重点。我只精通dos下的basic。c语言的其它各种特 性,在basic中都有类似的东西。只有指针,是baisc所不具备的。指针是c的灵魂 。 我不想重复大多数书上说得很清楚的东......


VC++中进程与多进程管理的实现方法
摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行.子进程的创建与结束等作了较详细的阐述.

【程序编程相关:Additional SOAP Name

【推荐阅读:Web Services Address

  关键词: vc++6.0;进程;环境变量;子进程 【扩展信息:Tapestry入门

  进程

  进程是当前操作系统下一个被加载到内存的.正在运行的应用程序的实例.每一个进程都是由内核对象与地址空间所组成的,内核对象可以让系统在其内存放有关进程的统计信息并使系统能够以此来管理进程,而地址空间则包括了所有程序模块的代码与数据以及线程堆栈.堆分配空间等动态分配的空间.进程仅仅是一个存在,是不能独自完成任何操作的,必须拥有至少一个在其环境下运行的线程,并由其负责执行在进程地址空间内的代码.在进程启动的同时即同时启动了一个线程,该线程被称作主线程或是执行线程,由此线程可以继续创建子线程.如果主线程退出,那么进程也就没有存在的可能了,系统将自动撤消该进程并完成对其地址空间的释放.

  加载到进程地址空间的每一个可执行文件或动态链接库文件的映象都会被分配一个与之相关联的全局唯一的实例句柄(hinstance).该实例句柄实际是一个记录有进程加载位置的基本内存地址.进程的实例句柄在程序入口函数winmain()中通过第一个参数hinstance hinstexe传递,其实际值即为进程所使用的基本地址空间的地址.对于vc++链接程序所链接产生的程序,其默认的基本地址空间地址为0x00400000,如没有必要一般不要修改该值.在程序中,可以通过getmodulehandle()函数得到指定模块所使用的基本地址空间.

子进程的创建

  进程的创建通过createprocess()函数来实现,createprocess()通过创建一个新的进程及在其地址空间内运行的主线程来启动并运行一个新的程序.具体的,在执行createprocess()函数时,首先由操作系统负责创建一个进程内核对象,初始化计数为1,并立即为新进程创建一块虚拟地址空间.随后将可执行文件或其他任何必要的动态链接库文件的代码与数据装载到该地址空间中.在创建主线程时,也是首先由系统负责创建一个线程内核对象,并初始化为1.最后启动主线程并执行进程的入口函数winmain(),完成对进程与执行线程的创建.

  createprocess()函数的原型声明如下:

bool createprocess(

 lpctstr lpapplicationname, // 可执行模块名

 lptstr lpcommandline, // 命令行字符串

 lpsecurity_attributes lpprocessattributes, // 进程的安全属性

 lpsecurity_attributes lpthreadattributes, // 线程的安全属性

 bool binherithandles, // 句柄继承标志

 dword dwcreationflags, // 创建标志

 lpvoid lpenvironment, // 指向新的环境块的指针

 lpctstr lpcurrentdirectory, // 指向当前目录名的指针


...   下一页
 ·protel dxp快捷键    »显示摘要«
    摘要:ctrl+del——删除选取的元件(2个或2个以上)x——将浮动图件左右翻转y——将浮动图件上下翻转alt+backspace——恢复前一次的操作ctrl+backspace——取消前一次的恢复crtl+g——跳转到指定的位置crtl+f—&#......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE