c++中存根函数的使用方式被共享库函数所取代
How stub functions in C++ are used are replaced by shared library functions
我对c++存根函数的使用很陌生。
我浏览了如何在Linux上创建存根共享库的链接,但是
1)我无法在c++中获得准确完整的示例代码,其中存根是用c++代码编写的。谁能给我指个确切的例子?
2)我也在寻找如何准确地用Linux上完全相同的名称共享库函数替换存根?
如果有人能帮助我解决我的两个问题,那将会很有帮助。你的问题的答案来自于对动态链接的黑色艺术的理解。请阅读Ulrich Drepper的《如何编写共享库》,详细了解该主题。
直接回答您的问题:
1)存根不是用c++编写的。每当您将程序链接到共享库时,链接器都会自动创建存根。它们与任何特定的语言都没有关联;链接器仅根据符号名直接从每个符号创建它们作为二进制/asm存根。
2)动态链接器替换/重写存根以调用在运行时找到的实际动态库代码。
相关文章:
- 从python调用openMP共享库时,未定义opnMP函数
- Linux c++.在预加载的共享库中定义的基类的崩溃调用函数
- 使用 Flutter 从 Android 上的原生编译共享库中调用函数
- 函数范围的静态变量如何导致与共享库中函数代码的未来使用不兼容
- 将C++中的多个参数传递给MatLab共享库函数
- 如何在共享库中保留静态库中的自由函数
- 共享库中 __attribute__((构造函数)) 的全局/静态变量初始化问题
- MSVC 2017 在共享库中创建模板函数的副本
- 将函数从控制台应用程序移动到共享库项目似乎会带来不相关的编译错误
- 共享库 C++ Linux 加载非虚拟函数
- G++ 链接器仅对共享库中的某些函数(不是全部)未定义引用
- 无法与GDB一起进入共享库中的函数
- 共享库 SIGSEGV 在 dlopen 上 / 静态初始化时调用@plt函数
- 您如何在2个不同的共享库中调用具有相同符号的函数
- STD ::线程访问从共享库加载的函数
- 使用DllMain函数(MinGW+CMake)创建一个Windows共享库
- C++对共享库中类的构造函数和析构函数的未定义引用错误
- 共享库中的成员函数指针地址
- c++中存根函数的使用方式被共享库函数所取代
- 如何查找谁在调用共享库函数