[問題] Linux程式開發疑慮

看板LinuxDev作者 (我不G8,只是中肯了點)時間10年前 (2015/01/17 12:30), 10年前編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
想問幾個特別的小問題 看有沒有解答 1. system()的使用:有人在多執行緒的程式上會使用這函式嗎? 以目前經驗,似乎執行太多次程式記憶體會出問題,有人有類似情況嗎?? 目前是有避掉的方式 只是很好奇為何會這樣?? 2. fp = fopen("/home/text", "r"); fd = fileno(fp); 結束後究竟要怎麼關閉才是最正確的? 1.close(fd); 2 fclose(fp); fclose(fp); 同理 在socket程式上很常出現的 fdopen() FILE * fp = fdopen(socketfd, "w+"); // 結束時 只要fclose(fp)就好 還是也要close(socketfd); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.158.136.54 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1421469003.A.637.html ※ 編輯: Bode123 (49.158.136.54), 01/17/2015 12:31:18

01/17 14:52, , 1F
直接用fclose才是正確,這是對應的!
01/17 14:52, 1F

01/17 14:52, , 2F
記憶體有問題有很多種情況吧...可以再描述清楚一點
01/17 14:52, 2F

01/17 22:23, , 3F
請讀 man 3 system 的 note
01/17 22:23, 3F
文章代碼(AID): #1KkULBOt (LinuxDev)
文章代碼(AID): #1KkULBOt (LinuxDev)