`
huangjun_mail
  • 浏览: 115616 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Windows学习旅程-进程(四)

阅读更多

    进程是一个正在运行程序的实例,主要包括两部分: 进程内核对象(一个小的数据结构),地址空间(代码,数据)。进程是不活泼的,线程是活泼的,每个进程必须包括一个线程,当创建一个线程的时候进程必须给线程分配一个虚拟的地址空间(堆栈,堆),还要给线程分配CPU时间片(量程)。
    进程运行流程:首先创建一个进程内核对象,线程内核对象;然后初始化两个内核对象;加载命令行;环境变量;初始化C/C++运行期的全局变量,对C运行期内存单元分配函数(malloc和calloc)和其他低层输入/输出例程使用的内存栈进行初始化,C++类的全局变量;运行主线程(等线程);撤销进程(强烈建议重主线程中退出结束,不要用ExitProces(),TerminateProcess()).
   
   Main函数
  
  BOOL CreateProcess(
  LPCTSTR
lpApplicationName, // pointer to name of executable module
  LPTSTR lpCommandLine// pointer to command line string
  LPSECURITY_ATTRIBUTES lpProcessAttributes// process security attributes
  LPSECURITY_ATTRIBUTES lpThreadAttributes,   // thread security attributes
  BOOL bInheritHandles// handle inheritance flag
  DWORD dwCreationFlags, // creation flags
  LPVOID lpEnvironment// pointer to new environment block
  LPCTSTR lpCurrentDirectory,   // pointer to current directory name
  LPSTARTUPINFO lpStartupInfo// pointer to STARTUPINFO
  LPPROCESS_INFORMATION lpProcessInformation  // pointer to PROCESS_INFORMATION
);
  子进程
  枚举进程

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics