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