在C中管理系统范围的参数

时间:2014-12-02 07:29:33

标签: c parameters

我正在开发一个包含许多过程的系统,这些过程必须了解系统的许多配置,选项和数据。为此,我实现了一个共享对象,该对象使用指向参数及其数据的共享内存块的指针。参数的数据是类型,值,默认值,get / set等函数。基本上,数据在一种查找表中。 此共享对象具有一些用于获取/设置这些参数的函数,因此系统中的所有进程都可以获取/设置这些参数。我有很多参数代码的定义和每个参数的许多可能性,例如,一个代码可以是一个浮点值,另一个是一个整数数组。您只能想象所有开关和案例的代码的复杂性。

我的问题是:

这种做法对于处理系统范围的参数和配置是否正确?为了速度和效率,我不想使用DB文件,我必须将数据保持在RAM中。我考虑过在内存数据库中移动查找表,但处理时间很关键,我不想浪费时间构建SQL语句并编译它们。什么是最好的方法呢?

1 个答案:

答案 0 :(得分:1)

您的程序设计听起来不错,因为他的参数被正确封装在一个单独的文件中,声明为静态且只能通过set / get函数访问。然后,访问数据的代码以及任何可能的线程安全代码可以放在同一个文件中,并且不会给调用者隐藏。

每当最有意义的是将参数保存在RAM或DB中时,实际上只取决于您需要多快的数据。听起来这对你来说不是一个选择,因为DB自然会更慢。如果您有多个需要访问数据的客户端,那么实现数据库会更有意义,但这似乎并非如此。