This question說來存儲Linux設置的最佳位置是在〜/的.config /應用程序的名字在哪裏存儲資源C++程序在Linux上
我正在寫需要使用99MB .dat文件識別程序面部標誌,將其嵌入到二進制文件中似乎不是一個好主意。
有沒有一些默認的地方可以在linux上存儲資源?目前它只是在可執行文件旁邊的目錄中,但這需要程序在當前目錄下運行,而目錄是它所在的目錄。
在linux上處理資源的最佳方式是什麼? (這可能會與至少OSX跨平臺)
This question說來存儲Linux設置的最佳位置是在〜/的.config /應用程序的名字在哪裏存儲資源C++程序在Linux上
我正在寫需要使用99MB .dat文件識別程序面部標誌,將其嵌入到二進制文件中似乎不是一個好主意。
有沒有一些默認的地方可以在linux上存儲資源?目前它只是在可執行文件旁邊的目錄中,但這需要程序在當前目錄下運行,而目錄是它所在的目錄。
在linux上處理資源的最佳方式是什麼? (這可能會與至少OSX跨平臺)
你應該看看Filesystem Hierarchy Standards。根據數據(它是否會改變,是否在所有安裝中保持不變等),放置的路徑將根據標準而改變。
一般來說:
那些看起來不錯的地方開始的狀態信息,並可以查看文檔送如果你的應用屬於這些類別之一。
如果文件是特定於運行應用程序的用戶,它應該在〜/的子目錄中,但AFAIK沒有標準,最好的選擇很大程度上取決於文件類型/用法。如果用戶通過GUI可以看到它,可以使用〜/ Desktop或〜/ Downloads。如果是暫時的,你可以使用〜/ tmp或〜/ var/tmp。
如果不是特定的,你應該把它放在/ var的子目錄中。同樣,確切的子目錄可能取決於其種類和其他因素。
不是'argv [0]'告訴你程序從哪裏加載? –
@MarkRansom - 並非普遍。如果你碰巧通過'execl'(或朋友)運行它,那麼你可以傳入任何你喜歡的'argv [0]''。也會被符號鏈接和東西弄糊塗。 –
它是隻讀資源還是用戶數據得到更新? – Galik