windows编程中_spawnl和Createprocess(...)API有什么区别?

shi*_*mar 2 windows winapi

windows编程中_spawnl(...)Createprocess(...) API有什么区别?

这些API在创建流程行为方面有何不同.

Dam*_*mon 6

CreateProcess 是用于创建进程的本机API.

spawnl是C运行时的一部分,具有类似POSIX的语义.它仅支持一小部分功能(提供命令行参数),并作为包装器实现CreateProcess.同时,spawnl已被弃用赞成_spawnl.

自然操作模式CreateProcess可与P_NOWAIT模式相媲美spawnl,但具有附加功能(环境,标准处理安全信息,......).

需要注意的是,P_OVERLAY在模式spawnl是不是该直接在Windows下,在所有支持的(不存在的类Unix fork+ execve成语,进程重新创建,不分叉).因此,通过生成新进程并终止原始进程而不是通过替换进程来实现此功能.