visualc&x2B+;GC接口如何启用它以及包含哪个库 我开始学习C++中的GC接口,并在Visual C++ 2019中运行了几个Web实例,用于以下函数:

visualc&x2B+;GC接口如何启用它以及包含哪个库 我开始学习C++中的GC接口,并在Visual C++ 2019中运行了几个Web实例,用于以下函数:,c++,c++11,visual-c++,garbage-collection,C++,C++11,Visual C++,Garbage Collection,上面的每个参考都有一个示例代码,该代码在我的VC++2019中编译并成功执行 我不明白的是VS2019默认启用了GC——我的意思是我们不需要启用一些编译器开关或库来添加链接 另外,如果GC是默认启用的,那么为什么我们没有“设置指针安全性”,而只有“设置指针安全性” 那么,在VC++中,如何使用GC特性,例如GC(?< P/> > P > > Visual C++不释放内存的例子,不知道如何实现垃圾收集,所以是否启用/启用它的库或它所需要的库的问题是不成立的。< /P> 列出的函数的存在并不意味着

上面的每个参考都有一个示例代码,该代码在我的VC++2019中编译并成功执行

我不明白的是VS2019默认启用了GC——我的意思是我们不需要启用一些编译器开关或库来添加链接

另外,如果GC是默认启用的,那么为什么我们没有“设置指针安全性”,而只有“设置指针安全性”


那么,在VC++中,如何使用GC特性,例如GC(?< P/> > P > > Visual C++不释放内存的例子,不知道如何实现垃圾收集,所以是否启用/启用它的库或它所需要的库的问题是不成立的。< /P> 列出的函数的存在并不意味着GC存在。这只意味着VC++实现了C++11强制要求的接口,允许GC工作。但到2019年的最新版本为止,还没有提供这样的功能,这些功能的VC++实现只是没有ops,“指针安全模型”返回为

pointer\u safety::released
,即根本没有。从VC++
内存中引用
标题:

// GARBAGE COLLECTION
enum class pointer_safety { relaxed, preferred, strict };

inline void declare_reachable(void*) {}

template <class _Ty>
_Ty* undeclare_reachable(_Ty* _Ptr) {
    return _Ptr;
}

inline void declare_no_pointers(char*, size_t) {}

inline void undeclare_no_pointers(char*, size_t) {}

inline pointer_safety get_pointer_safety() noexcept {
    return pointer_safety::relaxed;
}
//垃圾收集
枚举类指针_安全{宽松、首选、严格};
内联void declare_reachable(void*){}
模板
_Ty*未声明\u可到达(\u Ty*\u Ptr){
返回Ptr;
}
内联void声明\u no\u指针(char*,size\u t){}
内联void未声明的指针(char*,size\u t){}
内联指针\u安全获取\u指针\u安全()无异常{
返回指针_安全::放松;
}
来自Stroustrup的常见问题:

放松:安全派生和非安全派生的指针被同等对待;像C和C++98[…]

关于C++11 GC的更多信息:

我开始学习C语言中的GC接口++

你读过C++11标准吗

Visual C++ GGC界面如何启用它,哪个库包含

正如其他人所解释的,在visualc中没有真正的GC++

写一篇简单的文章相当容易。 只需阅读指导,和/或,和/或本文

<注意,GC的C++垃圾回收标记或复制例程可以由类似于库精神的工具生成。

如果你的代码基础很小(几十个C++行,还有几十个C++ <代码>类< /CODE> -ES),你甚至可以用自己的元程序生成GC支持例程(或者使用预处理器或一个或)。如果你可以并且允许用最近的(例如2020年7月)编译你的C++代码,考虑编写你来生成垃圾收集支持C++代码。另见[本草案][9]报告及其参考资料。注意里面

你可能对图书馆感兴趣,也可能对图书馆感兴趣

但是编写一个最先进的和高性能的GC需要付出很多努力,特别是当C++程序是多线程的时候。
在两个或其他地方,您会发现C或C++中的垃圾收集语言,例如(或或或)垃圾回收的几种开源实现。我建议学习-灵感-他们的C++或C源代码。并且内部有它(也请参阅我以前未维护的项目和我写的几张关于它的幻灯片)。

是否允许使用其他工具,如或其他静态源程序分析器?智能指针的目的是,除其他外,完全避免gc。您不应该以Java为例。