推 dendrobium:child肯定會執行3 03/05 00:47
推 lightergogo:不管是全域還是區域都會共享 除非程式特別註明 03/05 00:51
→ lightergogo:好像說反了QQ 03/05 00:52
→ polomoss:我寫程式測試,值都不會變~~不知道為什麼?? 03/05 00:54
→ dendrobium:因為是fork出新的process , 不是 thread 03/05 00:55
→ polomoss:印出來是 //3 10 10 //3 03/05 00:55
推 strangehead:樓上,因為實際程式還是沒有共享...要用open file等 03/05 00:55
→ dendrobium:所以除了code section 其他都是獨立的 03/05 00:55
→ lightergogo:data是各自獨立 所以local=global=10 03/05 00:55
→ polomoss:所以只要看到fork跟變數有關,都不會變嗎?? 03/05 00:56
→ polomoss:那有無執行exec()有什麼差別? 03/05 00:56
→ strangehead:寫考卷要把global當global...(因為老師說的算) 03/05 00:57
→ lightergogo:話說18300沒人會嗎 幫我解答一下= = 03/05 00:58
→ polomoss:看到差別了執行完exec(),子P直接跳出,不會執行//2跟3 03/05 00:59
→ polomoss:global當global什麼意思?? 03/05 01:00
→ strangehead:恩...因為實際上真的要共享有點麻煩,所以通常題目會 03/05 01:01
→ strangehead:在宣告的時候直接說它是共享的 大概是這樣的意思 03/05 01:01
→ polomoss:所以只要宣告成global,在考試時都要共享?? 03/05 01:03
→ strangehead:我認為是這樣,有誤請糾正。這題...倒底是這個變數是 03/05 01:04
推 dendrobium:如果是共享的...應該會出用pthread之類的吧? 03/05 01:04
→ strangehead:global,還是這個變數名稱叫global,只是一般變數 03/05 01:05
→ dendrobium:都是 03/05 01:05
→ polomoss:都是阿~我宣告在外面~~為了方便辨認~宣告成global 03/05 01:08
→ polomoss:還有我發現子Process加完值,如果再//3作變數輸出~值會變 03/05 01:08
→ polomoss:完全懂了~~寫程式還是最好了解~~ 03/05 01:11
→ polomoss:不過太久沒用linux都忘了怎麼編譯 03/05 01:11