Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C语言中管理系统范围的参数_C_Parameters - Fatal编程技术网

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

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

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

我的问题是:


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

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

无论何时,将参数保存在RAM或DB中最有意义,这实际上取决于您需要可用数据的速度。听起来这不是您的选择,因为DB访问速度自然会较慢。如果您有多个客户端需要访问数据,那么实现一个数据库就更有意义了,但这里的情况似乎不是这样