如何在OS X上将Boehm GC与GCC的__attribute __((section ...))一起使用?

大卫·特纳

我有一些看起来像这样的代码:

__attribute__((section("__DATA,__mysection"))) char *mumble;

...

mumble = GC_MALLOC(100);
...

我正在使用Boehm垃圾收集器。我希望那些含糊不清的数据是安全的,因为它仍然有效。但实际上,它已被收集并重新使用。我检查了GC_print_static_roots():似乎整个__mysection节都不包含在任何根目录中。

(我确实找到了解决方案,但是有人有更简单的想法吗?)

大卫·特纳

您将需要以下全局变量:

extern char __first_mysection __asm("section$start$__DATA$__mysection");
extern char __last_mysection  __asm("section$end$__DATA$__mysection");

在GC_INIT()之后,立即调用以下函数:GC_add_roots(&__ first_mysection,&__ last_mysection_p + 1);

然后一切都会正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SWT:如何在OS X上将Program.launch()与参数一起使用?

如何在Kubernetes上将WebRTC与RTCPeerConnection一起使用?

如何在cyginw上将prezto与zsh一起使用

在Intel Mac OS X上将PATH AMPL求解器与Pyomo一起使用

如何在Mac OS X上安装JRE 1.7并将其与Eclipse一起使用?

如何在OS X Lion上安装JPype以与Neo4j一起使用?

在Mac OS上将OpenMP与C ++ 11一起使用

如何在Win7 x64上将Oracle Client 11.2与php(xampp)一起使用

GC如何与IEnumerator和yield一起使用?

如何在Vagrant(Homestead)上将XDebug与VSCode一起使用?

如何在OSX上将/ etc / fstab和/或automount与sshfs一起使用?

如何在锈迹斑斑的Windows上将DLL与DynamicLibrary一起使用?

如何在macOS 15.15上将Symbol Image与Image一起使用

如何在两个字段上将COUNT与GROUP BY一起使用

如何在HPC群集上将所有分配的节点与python一起使用

如何在Django Rest Framework上将普通Filter和SearchFilter一起使用?

如何在Google Colab TPU上将TorchAudio与Torch Xla一起使用

如何在github https存储库地址上将git与ssh一起使用?

如何在事件上将RxJ与Socket.IO一起使用

如何在Android上将SSL与多实体一起使用

如何在WebSphere Liberty上将H2数据库与JPA一起使用

如何在Android上将Java XPath与KML文件和名称空间一起使用

如何在Snow Leopard上将Homebrew Python版本与Homebrew MacVim一起使用?

如何在服务上将自定义映射器与IObjectMapper一起使用

如何在Google App Engine上将laravel-websockets与nginx反向代理一起使用?

如何在Windows 10上将所有NUMA节点与openMP一起使用

如何在WSL上将Zsh-theme文件与纯Z Shell一起使用

如何在此特定线程上将.join()与线程一起使用

如何在多个内核上将RandomState与Sklearn RandomizedSearchCV一起使用

TOP 榜单

热门标签

归档