nm

    11热度

    1回答

    我正在寻找的tool/command上Unix平台检测.so和.o文件的library依赖性。 我已经使用了ldd/nm/truss,但我不知道检测库依赖关系的正确方法。

    7热度

    2回答

    我正在学习ELF格式。我必须编写一个简单的nm函数(没有选项)。 我已经在输出上打印了符号的值和符号的名称。 这里的纳米输出: value type name 0000000000600e30 D __DTOR_END__ 我有同样的一个,但没有“型”。我现在用的是ELF64_Sym结构,如下: typedef struct { Elf64_Word st_name;

    6热度

    1回答

    我正在构建一个使用另一个库(我们称之为“bar”)的共享库(我们称之为“foo”)。 “bar”利用了OpenSSL的一些功能。 这里是问题出现的地方。 “bar”被编译为静态库,看起来OpenSSL也是如此。所以,当我链接库( “富”),我包括: 目标文件 “foo” 的 静态库libbar.a OpenSSL的静态库libcrypto.a和libssl.a 的建立命令看起来像这样: g++ -

    2热度

    1回答

    我有一些sparc库,我想要列出具有真实名称的导出函数。使用objdump或nm我得到像__1cEnameIcopyType6MpnIASN1CTXT_rnLAsn1TObject_4_v_或__1cHsurname2t5B6M_v_这样的名称,这样C++ filt就不能将它们去掉。我已经尝试了我的nm的每种风格 - gnu,lucid,arm,hp,edg,gnu-v3,java,gnat -

    2热度

    1回答

    所以,我在这里真的很奇怪。 例如,我有2个cpp文件,含有 const std::string DICTIONARY_DEFAULT = "blah"; const std::string ADDTODICTIONARY_DEFAULT = "blah"; const std::string BUTTONS = "blah"; 它们中的一个和所述第二个与 static int x1; s

    1热度

    1回答

    我正在编译我的库(C编程),使用Suse gcc编译器,然后我生成该库的报告nm。我必须将nm报告与以前的版本库进行比较,以检查当前版本库中是否存在这些符号。 nm libxxx0.1.a > nm_0.1.txt nm libxxx0.2.a > nm_0.2.txt 现在我只是比较nm_0.1.txt和nm_0.2.txt文件与一些文本比较工具。除了那些符号差异之外,我也得到了抵消差异。

    0热度

    1回答

    有没有办法确定共享库的导出符号的函数参数?我正在调查一个私人OSX框架的好奇心(我知道苹果商店的政策等)。我可以执行nm -g/path/to/library并确定所有导出的符号,但是,我很好奇确定必须传递给这些调用的参数。

    3热度

    1回答

    我做了使用GCC $ gcc Q1.c -save-temps -std=c89 -o Q1 $ size Q1 text data bss dec hex filename 1509 264 8 1781 6f5 Q1 的可执行文件,然后我做到这一点 $ gcc Q1.c -save-temps -std=c99 -o Q1 $ size Q1 text data

    6热度

    1回答

    我连接外部库(通过wierd进程,mpicc + Cython +等), 但我有一个奇怪的行为的链接过程。 有两个.o文件,libpetsc4py.o和PETSc.o 它们连接成一个.so文件PETSc.so 一个包含未定义的符号__pyx_tp_new_8petsc4py_5PETSc_Object [[email protected] src]$ nm libpetsc4py.o | grep

    0热度

    1回答

    我已经有了一个在嵌入式系统中使用过的二进制文件。现在我想为它写一些补丁。该补丁将被加载到主程序的RAM中,然后从主程序中调用。问题是如何告诉gcc使用手动设置的某些函数的地址,这些函数将从补丁中使用。换句话说: 旧代码具有功能sin(),我可以使用nm找出旧代码中sin()的地址。我的补丁代码将使用sin()(或主PROGRAMM别的东西),我想告诉GCC(或者LD或也许别的东西),为它而它连接修