Results 6 comments of Raven

> Hi, thanks for opening this. > > This plugin's main goal is to provide an interface to CMake commands, as opposed to a generic interface to Vim/Neovim terminals. Running...

这不是bug,是因为谷歌翻译已经失效。 ---原始邮件--- 发件人: ***@***.***> 发送时间: 2022年11月3日(周四) 上午10:19 收件人: ***@***.***>; 抄送: ***@***.******@***.***>; 主题: [RubberTranslator/RubberTranslator] 翻译失效【Bug 反馈】 (Issue #7) bug描述 目标语言不管选什么,翻译出来都是和原文语言相同,如:英语到中文的翻译,结果还是英语 bug复现 暂不清楚缘由,某次在专注模式下随便点击,有以下两种可能: 1.选一次None,再选其他翻译引擎后失效 2.重复点击显示原文和显示译文使得翻译引擎失效 截图 平台与版本 OS: Windows/Linux/Mac Version:10 其他信息 其他...

以前能用么,现在的rt版本是多少? ---原始邮件--- 发件人: ***@***.***> 发送时间: 2022年11月3日(周四) 下午5:20 收件人: ***@***.***>; 抄送: ***@***.******@***.***>; 主题: Re: [RubberTranslator/RubberTranslator] 翻译失效【Bug 反馈】 (Issue #7) 可是百度翻译和有道翻译也失效了。 ***@***.*** 发件人: Raven 发送时间: 2022-11-03 17:10 收件人: RubberTranslator/RubberTranslator 抄送: z-kai-xin; Author...

> 我理解这应该并不会造成问题 > > ``` > if (ptr.counter.fetch_sub(1, relaxed) == 1) // Will be true > ``` > > 这里fetch_sub实际上返回的是减1之前count的值,但是比较时count已经等于0了,如果thread2仍然持有智能指针那么这里就不会判断为true 原子变量的sub和delete对象这两个操作不是原子的。thread 2减到cnt到2时,should_delete=false, 但是thread 2后续仍可能访问对象内存,此时thread 1再去减原子变量然后释放对象内存。thread 2再访问时就会有问题。 之所以会有这种时序,就是relaxed order导致的。 另外抛去我这个例子不谈,stl库里面这个memory barrier注释是为什么?...

关于这部分的理解: ``` 我去看了官方对于shared_ptr的文档,其中对于线程安全的部分有以下解释: shared_ptr a(new A); shared_ptr b(a); // Thread 1 // Thread 2 a.reset(); b.reset(); Note The dynamically-allocated object must be destroyed by exactly one of the threads ......