[問題] Linux程式開發疑慮

作者: Bode123 (中肯寶寶)   2015-01-17 12:30:00
想問幾個特別的小問題 看有沒有解答
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);
作者: final01 (牛頓運動定律)   2015-01-17 14:52:00
直接用fclose才是正確,這是對應的!記憶體有問題有很多種情況吧...可以再描述清楚一點
作者: readonly (唯讀)   2015-01-17 22:23:00
請讀 man 3 system 的 note

Links booklink

Contact Us: admin [ a t ] ucptt.com