【发布时间】:2016-02-17 06:05:50
【问题描述】:
我可以使用 Rust dylib crate 类型创建共享对象,但不知道如何指定 ELF .init 部分。我有一个 C 程序,它使用dlopen() 加载共享对象,并且共享对象将在.init 注册类似于回调函数的东西。如果我写,编译会失败:
#[no_mangle]
pub extern fn _init() {
...
那么,
test.0.rs:(.text._init+0x0): multiple definition of `_init'
如何指定 ELF 部分(如 GCC 的 constructor 属性)或者是否有另一种方法来指定将在 .so 加载后立即调用的函数?
【问题讨论】: