c++ - Linux 的注册表等效项是什么?

标签 c++ linux file registry ini

<分区>

最近我参与了从 Windows 到 Linux 的代码移植。我遇到了很多检索注册表项并对其进行编辑的 Windows 函数。我不确定 Linux 的等效方法是什么。我知道注册表只是一个 Windows 数据库,它以 "Key=value" 格式存储数据。我正在考虑 INI 文件。除了这个还有什么更有效的吗?

不是从存储的角度提问。我的问题与 Linux 中的注册表等效项有关。 我们如何在 Linux 中实现注册表结构?

最佳答案

在 Linux 中为每个用户存储配置的典型方法是将其存储在 /home/username/.someapp 中,其中 someapp 是您的程序的名称。实际上,我喜欢 Linux 中的这一点,因为当我移动到另一台计算机时,我所要做的就是保存/移动我的主目录,这将保存我的所有配置。

在 Windows 上,注册表有一个用户部分 HKEY_CURRENT_USER,其他代表任何用户的部分,例如 HKEY_LOCAL_MACHINE,对整个系统都是全局的。对于用户部分,您应该像我之前解释的那样将配置放在用户目录中,因为它不需要任何 super 用户权限。您可以选择将本地机器部分也放在用户目录中,然后每个用户都将有单独的配置,或者将其放在类似 /var/lib/someapp 的地方,但请记住它将是只读的。

有了这一切,请记住您应该创建自己的配置格式,或使用一些库,例如 libconfig 、XML 或 JSON。

关于c++ - Linux 的注册表等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43580271/

相关文章:

java - 简单的圆圈碰撞 libgdx

c++ - 我可以使用 SSE 指令仅存储 128 位中的 96 位吗?

c - 从 txt 文件中保存、查找和删除结构

c++ - visual studio 看不到我的包含文件

java - Install4J linux 安装程序失败并出现 "no server JVM at"错误,除非您使用 -J-client

linux - 使用 go 在 fstab 中挂载条目

linux - 将 ext4 文件系统的文件名大小限制扩展到 1012 个字符

c - 为什么 fputc() 会跳过所有其他字符

javascript - 我想将 javascript 中的数据和文件发送到 Controller (但如何)(Mvc asp.net)

c++ - 如何让tolua++在collect函数中调用自定义代码