window系统下C语言找不到fork()函数
生活随笔
收集整理的這篇文章主要介紹了
window系统下C语言找不到fork()函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
window系統下C語言找不到fork()函數
有次模擬進程時,想在window系統下調用fork()函數,但是就是引入相關頭文件都無法找到函數,一開始是懷疑是否引入的頭文件有誤或者缺失,發現并沒有缺失或者錯誤,然后就懷疑上了是操作系統不同引起的。后來查找博文,才發現window下沒有fork函數。
window下沒有一個函數可以實現UNIX下的fork()函數,其原因是歷史造成的.對于UNIX來說它一出生就是多用戶的系統,所以它的所有進程都共有一個最原始的父進程init.而windows生下來時是個單用戶系統(DOS),不存在這樣的概念.所以fork這個函數是UNIX下特有的.
如果硬要模似,CreateProcess()不如用CreateThread()更接近實際情況,把主thread中的所有公共變量都塞入一個結構/類的,帶入新的thread中,這樣可以大致完成"復制自身"的要求.
但由于是thread,所以主thread死后,子thread不能獨立存在,而fork()出來的子進程可以脫離主進程獨立存在,這一點在window下只有CreateProcess()才略有相似之處.
總之,實現類似fork()的功能在window下是復雜,必須個案處理,無法"一言以蔽之曰".
原文鏈接:https://blog.csdn.net/hfuuhgcc/article/details/84086205
總結
以上是生活随笔為你收集整理的window系统下C语言找不到fork()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洛图科技:今年 10 月中国电视市场出货
- 下一篇: 天猫健康发布《健康消费趋势洞察》:医疗器