问题标签 [libgc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
221 浏览

garbage-collection - 将 libgc 与 GNAT 一起使用?

我听说过几次提到 Ada 支持垃圾收集 --- 并且看看语言设计,显然它是在设计时考虑到这一点的。

我有一个非实时应用程序,垃圾收集对它非常非常有用。但是,我还没有看到任何关于我的编译器 GNAT 可以使用垃圾收集器的消息。这让我很吃惊;甚至 C 也支持垃圾收集,只需链接到 libgc。

如果我只是将 libgc 添加到我的链接器行,它会起作用还是会发生可怕的事情?

0 投票
1 回答
158 浏览

python - 可以在 Cygwin 上使用脱落的皮肤(安装 libgc 时缺少 execinfo.h)吗?

我想尝试在cygwin脱皮

shed skinlibgc的安装似乎没问题,但是当我尝试make使用 shed-skinned Python 脚本时,它会抱怨:

(下面的完整列表)

在 Cygwin 上检查了 libgc 的已安装文件列表,它不包括execinfo.h

这是否意味着脱落的皮肤不能在Cygwin上使用?


编辑1:

将缺少的execinfo.h(从 Internet下载)添加到 make 的 lib 路径没有帮助。

0 投票
0 回答
187 浏览

javascript - 使用 emscripten 编译 libgc

我有一个名为的文件foo.c,其中包含行#include <gc.h>,引用 Boehm 垃圾收集器库。

emscripten 文档说必须先将外部库编译为位码。所以我使用并运行了这个命令来编译12.c和编译比特码:gc.cclang

编译时带有警告:

跑步a.out.js给了我missing function: llvm_objectsize_i64_p0i8

我假设这与不直接使用 clang 的警告有关。

但是,当我尝试通过它编译为位码时,emcc它给了我一个变通方案并说

我究竟做错了什么?Emscripten 似乎告诉我必须使用emcc来编译libgc,但文档说我必须先编译为位码。

0 投票
2 回答
1920 浏览

c++ - ''中的突然错误:free():无效指针

在我的一位同事在我们的项目中提交了一些新功能后,我遇到了这种分段错误。新特性对后面的函数没有影响,只是增加了 QString 参数的大小。经过一些调试,我发现在以下函数返回后发生了分段错误。

我需要知道为什么会发生这种情况以及为什么我的解决方法有效,以及解决方法是否安全?

我必须说以下代码片段适用于我现在安装的旧版 Qt(5.3.1 和 gcc 4.8)(Qt 5.9 和 gcc 7.0)。它也适用于 Debug 而不是 Qt 上的 Release 编译模式。

最后,我不想讨论这种加密方法的有效性,而是标题问题。

函数返回后立即发生崩溃,我不知道为什么。

分段错误的输出是:

我想出的解决方法如下:

但是,我承认我不知道它为什么起作用。有人可以解释一下吗?

有没有更好的解决方案?

0 投票
0 回答
33 浏览

c - 将系统分配的内存指定为不可回收

我希望将通过分配的指针放在GC_MALLOC使用标准分配的内存中malloc()。手册说不要这样做,但是这个内存是在我无法控制的库中分配的。是否可以像分配的内存一样将分配的内存指定malloc()为不可回收GC_MALLOC_UNCOLLECTABLE()?也就是说,它会知道扫描该内存以查找指针,但不会尝试释放它。

我能想到的唯一选择是通过GC_MALLOC_UNCOLLECTABLE()除了分配的内存之外分配一些内存malloc,只是将指针放在两个地方,但我希望有一个不那么尴尬的解决方案。

0 投票
0 回答
785 浏览

c - 错误:编译 stdlib.h 时的未知类型名称“__float128”

尝试使用 uClibc 编译 tcpdump 包 编译 stdlib.h 时出现错误 错误:编译 stdlib.h 时出现未知类型名称 '__float128' 无法确定错误原因。我不知道我是否缺少任何依赖项。