整个库不可用时的解决方法
Workaround for when -whole-library is not available
我正试图在不支持-Wl,-whole-library
标志(emscripten)的环境中进行编译。如何使用技巧强制编译器包含导出的符号?解决方案应满足尽可能多的这些特性:
- 可以应用于单个库(我不想包含其他库中未使用的符号)
- 可以自动生成(例如,通过提取带有nm的导出符号表?)
- 将与函数&成员函数
我想用之类的东西来计算一个文件
int x = (int)(&func_a)+(int)(&func_b)+...;
但它不适用于成员函数,这些函数不能强制转换为int(也可以是私有的)。
你知道吗?
想法:
- 在链接所需的库之前使用--wholelibrary标志在添加之后-在列出其他库之前没有整个库,因此要完全链接,您需要尝试使用支持它的链接器添加-导出动态标志
- 然后挖掘nm/obdump/exportmap道路http://accu.org/index.php/journals/1372导出/构建链接信息和使用链接信息http://runtimecompiledcplusplus.blogspot.fr/用于使用导出的映射和代码,以便您可以在代码中模拟-Wl
相关文章:
- 有没有办法在 c++ 中同时生成随机数?如果没有,是否有解决方法?
- 从 int 中剥离位时,编译器会警告一个转换,但不警告其他转换.有解决方法吗?
- 是否有解决方法可以在 c++ 中为 short 定义用户定义的文字?
- 不为 emplace() 定义构造函数的解决方法
- 删除复制构造函数的 Intel 13.1.2 中不良C++行为的解决方法
- 函数模板部分专业化-有什么解决方法吗
- 带boost的过载模糊性:可选,解决方法
- 继承构造函数和其他变量的解决方法
- C++ 解决方法:"从类型"B*"的表达式初始化类型"C*&"的引用无效"
- 对前向声明类型进行unique_ptr的解决方法
- 解决方法:'can not be used when making a shared object; recompile with -fPIC'使用Cmake。使用普通的 g++ 工作
- 解决方法:QPixmap:在GUI线程之外使用pixmap是不安全的
- CreateProcessWithTokenW 的 cmdline 参数的最大长度是否有解决方法?
- C++双精度作为模板参数的解决方法
- 在参数相关查找之前进行模板替换的任何方法(或解决方法?
- CUDA 内核"Only a single pack parameter is allowed"解决方法?
- dlsym() 解决方法返回类型
- VS2017是否有VLA(可变长度阵列)支持解决方法
- 解决方法:未定义对"class::function"的引用
- 来自 Boost 的 JSON 解析器的警告 C4512 的解决方法