dynamic-linking

    1热度

    1回答

    仅使用其内存映像可以提取已加载共享库的导出符号? 我在说的是.dynsym部分列出的符号。据我所知,我们可以这样: 找到库的基地址。 例如,通过读取/proc/<pid>/maps,可以找到从磁盘库中映射的内存区域,然后我们可以查找ELF魔术字节以找到ELF标头,从而为我们提供基地址。 从程序头中找到PT_DYNAMIC段。 解析ELF标题,然后遍历程序标题以找到包含.dynamic部分的段。 提

    0热度

    1回答

    我需要为Windows和Linux平台上的C++代码库动态创建和链接库。 我知道DLL格式是windows和.so是linux平台的。 但我读.so也可以链接到Windows平台上。 我的问题是,我可以创建一个通用的动态库(.so)在Windows和Linux上运行我的应用程序吗?如果是,如何?

    6热度

    3回答

    有一个DLL,由主(桌面)应用程序通过Windows.LoadLibrary动态加载。这是因为有很多类似的DLL,只有少数几个需要在运行时加载。所以静态链接不是一种选择。 问题是,加载其中一个DLL时,每隔一段时间主应用程序就会挂起。请注意,这个问题很可能会发生在每一个人身上。可能是因为他们有很多共同的代码库。 问题似乎是一个装载机锁(see this SO answer on what it i

    2热度

    1回答

    我正在Rust中构建二进制可执行文件,它需要链接到本机库,如foo.a。 foo.a包含一个符号void bar(void),我想将它作为一个回调函数公开给动态链接器,该函数可以在dlopen风格的动态加载库中被函数调用。 如果我们使用C来源,可以通过提供-rdynamic来完成ld。 gcc -rdynamic -o a_dynamic main.c foo.c 在Rust中这样做的正确方法

    1热度

    2回答

    我有一个由CMake自动生成的vcxproj文件构建的64位本机库。部分CMake构建脚本自动生成csharp中的Swig文件。我使用下面标记为.csproj的.csproj生成.cs文件,该文件标记为Articaft 1。然后,我有一个C#单元测试项目神器2低于它引用从Articaft 1产生的.dll文件。 Articafct 2也复制由64位原生库生成的dll。 如果我编译为32位库一切工作

    1热度

    1回答

    试图构建UltraDefrag。 听起来相当简单,但只要将rc.o添加到二进制文件的链接对象中,就会使用32位版本的comctl32.dll在程序启动时触发0xc0000007错误。 这是一个已知的bug mingw64,但错误没有答复自2011年以来,我需要为这个一种解决方法(该程序需要不使用cygwin.dll,所以我不能用cygwin)。 任何想法?

    4热度

    1回答

    可能最短的工作的例子,我能想到的: 的CMakeLists.txt: project(myprogs) cmake_minimum_required(VERSION 2.8) add_executable(myprog2 main.c) add_executable(myprog main.cpp) add_library(mylib SHARED mylib.c) target_l

    0热度

    2回答

    我有一些提升相关的代码我想要编译为一个动态库: g++ -Wall -fPIC -o myclass.o -c myclass.cpp g++ -shared -Wl,-soname,myclass.so.1 -o lib/myclass.so.1 myclass.o -lc 但是编译我发现还是有提升的依赖(我与ldd检查)后 ldd lib/myclass.so.1 linux-vdso

    0热度

    2回答

    问题: 当我尝试打开一些应用程序我从链接错误是这样的: /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1: undefined symbol: _ZN6QDebugD1Ev 影响某些应用程序 texstudio显示 /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1: undefined symbol: _ZN6

    1热度

    1回答

    试图动态链接库时,我得到了一些麻烦。 我的其他专题,并搜查了维基,发现两个有趣的链接: Dynamically load a function from a DLL Tutorial: Using Dynamic Linked Libraries in C++Builder Applications 然而,当我尝试我的图书馆动态我得到悬而未决链接在我applicationk外,这里的文件: Cri