[問題] 請問Call Linux API的簡單問題

看板LinuxDev作者 (箱民)時間7年前 (2017/01/17 16:15), 編輯推噓2(207)
留言9則, 4人參與, 最新討論串1/1
請問一下Call一個系統API, 比如說getpwuid() 它回傳的是passwd的pointer 那我使用的時候怎麼知道它的空間被free了? 還是linux系統自己會找時間free? 意思是說call 完馬上用的話的是安全的 請問上面的解釋對嗎,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.196.98.32 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1484640902.A.C60.html

01/17 18:06, , 1F
http://imgur.com/a/F5cKX 其實 manpage 有寫?
01/17 18:06, 1F

01/17 19:23, , 2F
謝一樓,可是它還是沒寫何時值會不見?系統會自行回收是嗎?
01/17 19:23, 2F

01/17 21:18, , 3F
應該是 function 內部的 static 變數, 把這個變數以
01/17 21:18, 3F

01/17 21:18, , 4F
pointer 的方式回傳。
01/17 21:18, 4F

01/17 21:18, , 5F
The return value may point to a static area
01/17 21:18, 5F

01/17 22:21, , 6F
return一個static變數是很常見的方法 但是記得還要call
01/17 22:21, 6F

01/17 22:21, , 7F
一次函數的話要先複製下來 因為return的都是同一塊記憶
01/17 22:21, 7F

01/17 22:21, , 8F
01/17 22:21, 8F

01/18 10:38, , 9F
原來是內部static變數,瞭解了謝謝
01/18 10:38, 9F
文章代碼(AID): #1OVTA6nW (LinuxDev)