gpt4 book ai didi

c - osx 和/或 linux 上进程范围的命名属性

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:41 27 4
gpt4 key购买 nike

我有一个包含很多 dll 的复杂项目(其中一些是插件,即它们不能自由共享链接器符号名称),我希望能够放置一些其他 dll 可以安全获取的信息。如果假设 setenv 函数是线程安全的,我会非常高兴。

所以我要找的是类似

int val = get_or_create_process_wide_property("my_prop", 10);
if (val == 10) { //property just was created
}
else { //property was set by somebody else and we can use it
}

shm_open 除了有点开销之外需要 shm_unlink,我永远无法确定是否调用了它,因为进程可能会崩溃。

最佳答案

您的问题有点令人困惑/模糊。首先,DLL 是 Windows 术语。由于您列出的操作系统是基于 UNIX 的,因此您需要的术语可能是“库”。

接下来,您有一堆库。当您实现自定义设置属性的方式时,我假设您可以控制内置于这些不同库中的代码如何获取它们的数据。

您说过这些值需要在单个进程中可用。为什么不创建一个类来管理所有这些,某种设置注册表?我不确定为什么这很难。

关于c - osx 和/或 linux 上进程范围的命名属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54674212/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com