
C语言
文章平均质量分 70
viyon_blog
这个作者很懒,什么都没留下…
展开
-
记录使用dlclose后so无法卸载问题
dlclose后无法真正卸载原创 2022-10-24 16:11:34 · 1004 阅读 · 0 评论 -
记录一次C语言调用go生成的动态库的踩坑过程
按照中的总结。原因是在程序启动的时候,如果调用了go生成的so,那么go会调用一些函数建立go运行时环境,会创建一些线程。而我的新程序中,具体调用go函数的地方,是在子进程中调用的,而父进程fork子进程的时候,不会把go建立的那几个运行时线程复制到子进程中,即便在子进程中重新dlopen go生成的so也不会重新创建那几个运行时线程,所以导致go中那些涉及到一些需要运行时程序干预的代码(如gc等)无法正常运行。而我的go代码中刚好触发了GC,导致go无法运行,一直处在死循环之中。...原创 2022-08-24 12:47:01 · 922 阅读 · 0 评论