技术文章

了解最新技术文章

当前位置:首页>技术文章>技术文章
全部 146 常见问题 7 技术文章 139

think cell中默认情况下不同

时间:2023-11-07   访问量:1072  标签: think-cell,think cell

有时,您需要向环境注册一个名称,例如跨进程共享的命名互斥体、Win32 用户定义的消息或用于共享内存支持的文件名。实际上,今天我们艰难地发现 Objective C 类名也属于这一类,因为它们通过名称向进程范围的共享运行时注册自己。

很容易想出一个好听的名字,比如tc_shared_mem.bin文件支持的共享内存。它使调试变得容易,因为当看到名称时您就明白它是什么。尽管这个名字是全球性的,但如果有人使用相同的名字,这似乎是一个可怕的巧合,对吧?直到它发生。

谁最有可能重复使用这个名字?你!您的程序可能会偶尔更新一次,并且新代码可能包含一些相同的名称。如果你幸运的话,那也没关系。如果你不走运(我们的例子就是 Objective-C 类),就会发生严重破坏。

当然,您可以开始将版本号混合到名称中以防止此类问题。然后希望没有人会忘记在重新编译时增加版本 - 即使在开发过程中也是如此。

但也许冲突甚至不需要不同的版本。如果同时运行的程序的两个实例已经导致名称冲突怎么办?或者当程序重新启动时重新使用剩余的临时文件?或者temp目录被错误配置为在用户之间共享?

think-cell,我们默认使用不同的理念名称必须不同,除非它们必须相同:

无论如何,默认情况下使名称不同将迫使您考虑真正想要的共享级别,并防止名称在同一命名空间中意外相遇时出现意外情况。


上一篇:think cell中范围适配器的编译时大小

下一篇:think cell中新的 static constexpr std::integral_constant 习惯用法

发表评论:

评论记录:

未查询到任何数据!

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部