簡體   English   中英

在Linux上的C ++程序的資源存儲位置

[英]Where to store resources for C++ program on linux

這個問題說在Linux中存儲設置的最佳位置是〜/ .config / appname

我正在編寫的程序需要使用99MB .dat文件來識別面部標志,將其嵌入二進制文件似乎不是一個好主意。

在Linux上是否有一些默認的位置來存儲資源? 當前它僅位於可執行文件旁邊的目錄中,但這要求程序以當前目錄作為其所在的目錄運行。

在Linux上處理此類資源的最佳方法是什么? (這可能是具有至少OSX的跨平台)

您應該看一下文件系統層次結構標准 根據數據(數據是否會更改,在所有安裝中是否保持不變等),取決於數據,放置路徑會根據標准而變化。

一般來說:

  • / usr / lib / program:包括應用程序的目標文件,庫和內部二進制文件
  • / usr / share / program:用於所有只讀體系結構獨立的數據文件
  • / var / lib / program:保存與應用程序或系統有關的狀態信息

這些似乎是不錯的起點,您可以查看文檔以查看您的應用是否屬於這些類別之一。

如果該文件是特定於運行該應用程序的用戶的,則該文件應位於〜/的子目錄中,但AFAIK沒有標准,最好的選擇很大程度上取決於文件的類型/用途。 如果它應該通過GUI對用戶可見,則可以使用〜/ Desktop或〜/ Downloads。 如果是臨時的,則可以使用〜/ tmp或〜/ var / tmp。

如果不是特定的,則應將其放在/ var的子目錄中。 同樣,確切的子目錄可能取決於其種類和其他因素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM