crash on a sockfd

本文探讨了使用dlopen从库中加载函数时导致程序崩溃的问题,原因是链接器未导出必要的sockfd符号。文章提供了通过添加-rdynamic和-Wl,--export-dynamic参数来解决此问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

In the program, it will use dlopen to get a function from a library. And the sockfd is defined in the main progrm, so when the function in the library execute, it caused a crash!

That is because the ld doesn't export the sockfd.

The solution is add the following parameters when compiling:

        -rdynamic -Wl,--export-dynamic

-rdynamic
           Pass the flag -export-dynamic to the ELF linker, on targets that support it. This instructs the linker to add all symbols, not only used ones, to the
           dynamic symbol table. This option is needed for some uses of "dlopen" or to allow obtaining backtraces from within a program.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值