真的有两个问题:
(1)是否有关于配置文件放置的标准/约定?对于系统或准系统程序,它们似乎通常位于/ etc中.对于没有足够的/ etc权限的普通应用程序或pgms,似乎不太清楚.
(2)有多种方法可以为程序提供信息,例如环境变量,命令行选项,ini文件等.在处理程序选项中,是否存在优先级的标准层次结构?例如命令行选项是否覆盖初始化文件?反之亦然?或者这完全取决于开发人员?
我是一名新的Windows程序员,我不确定应该在哪里存储用户可配置的应用程序设置.我理解需要为用户提供用户友好的方式来更改应用程序设置,例如编辑| 设置表单或类似.但是,在用户点击该表单上的"应用"按钮后,我应该在哪里存储值?
在Windows注册表中存储设置与将其存储在本地INI文件或配置文件或类似文件中的优缺点是什么?
什么时候应该将Windows注册表用于每用户状态,何时应该使用文件系统,特别是用户的AppData文件夹?(例如,C:\ Users\USERNAME\AppData).隔离存储在哪里?
是否有一个相当坚定的规则,或者它只是一个模糊的事情,如"使用注册表,直到它成为太多的数据存储在注册表中".或者"使用你想要的任何东西."
是否存在影响决策的Windows徽标要求?
如果我使用AppData目录,如何在Local,Roaming和LocalLow之间进行选择?
编辑:我刚刚注意到这些类似的问题:
我将总结回复.
我正在编写一个python库,它有一个每用户配置文件,可以由库用户编辑.该库还生成日志文件.在*nix上,标准似乎是将它们转储到$ HOME/.library_name中.
但是,我不确定如何处理Windows用户.在切换到Linux之前,我已经使用了多年的Windows,似乎应用程序倾向于A)依赖于GUI配置(我宁愿不开发)或者B)在注册表中转储配置数据(这对于开发和使用*nix配置文件无法移植)
我目前正在将文件转储到Windows上的$ HOME/.library_name中,但这在Windows上感觉非常不自然.
我已经考虑将它放入%APPDATA%,其中应用程序数据往往存在,但这有其自身的问题.我最担心的是,非专业用户可能甚至不知道该目录的位置(与%HOME /〜不同),并且用户可编辑的配置文件似乎不会正常进入此处.
Windows上每用户可编辑配置文件的标准位置是什么?
在Unix/Linux中保留用户配置数据的推荐方法是什么?我的编程语言是C++.配置数据将以XML /文本/二进制格式保存,我对处理此类文件没有任何问题.我想知道我在哪里可以保留它们.例如,在Windows OS配置中,数据可以保存在Registry(旧方式)或用户应用程序数据目录中.Linux怎么样?我需要对配置文件的读/写访问权限.