有没有一个windows工具可以打开一个.so文件,看看里面有哪些函数?对于linux,这里有binutils和objdump以及这里列出的其他方式HowdoIlistthesymbolsina.sofile有比得上窗户的吗?谢谢! 最佳答案 只需在google上搜索Binutilsforwindows或objdumpforwidnows,你真的应该试试google:)我还发现这个RelatedQuestion希望有帮助 关于windows-Windows工具,用于查看.so文件中的符号
我正在尝试在Windows10PC上从msys2环境中构建binutils-gdb。git://sourceware.org/git/binutils-gdb.git大部分代码编译正常,但libiberty构建失败,pex-win32.c中出现错误:./pex-win32.c:121:10:warning:implicitdeclarationoffunction‘_open’;didyoumean‘open’?[-Wimplicit-function-declaration]./pex-win32.c:121:23:error:‘_O_RDONLY’undeclared(firstu
我正在尝试使用mingw构建包含在GNUbinutils中的gold链接器。我采取的步骤-使用安装程序安装mingw和所有包。使用Windows安装程序将Windows版本的FLEX安装到默认位置。在mingwshell的gold链接器目录中运行./configure,这似乎工作正常运行make,这是我遇到一些错误的地方。我已经将./configure和make的完整输出包含在此处的pastebin中:http://pastebin.com/1XLkZVVm但重要的是:make[2]:Enteringdirectory`c:/binutils-2.23.1/binutils-2.23.
我只需要使用iequals来自BOOST库的不区分大小写的字符串比较函数。我正在使用#include导入它。有什么方法可以让我只导入iequals自己发挥作用?我什至关心的原因(我真的只是好奇。)是因为如果我不这样做,编译的DLL大约是230kB#include它和大约1.1MB,如果我这样做的话。在这种特殊情况下,文件有多大并没有太大区别,但似乎有很多东西被导入但从未使用过。如果库只有几GB而我只需要其中一个函数怎么办?我想这会成为一个问题。当谈到几乎所有与cpp相关的事情时,我承认我很天真,但我觉得包含大约750kB的代码并不是很有效,因为其中可能有90%的代码都没有被使用。可能是
我每次编译程序、配置和安装时都会遇到这个错误一些东西,比如binutils、textinfo等。/usr/local/bin/ld:thislinkerwasnotconfiguredtousesysrootscollect2:error:ldreturned1exitstatus我想清楚地知道这一点。什么时候会到来,实际问题是什么,如何解决? 最佳答案 如果您尝试安装一个与/usr/bin中的binutils类似的版本,您应该知道gcc使用--sysroot=/选项调用ld。ld使用默认选项从源代码构建的binutils拒绝--s
我需要在Windows上运行的应用程序中使用objdump和readelf命令。我知道我可以安装cygwin以使用它们。我不想使用cygwin的原因是因为我想让它易于部署。另外我不知道如何静默安装cygwin。结果我相信我需要的是GNUUtilitiesForWin32如链接所述,这些库是无服务器的。“可执行文件只依赖于MicrosoftC运行时(msvcrt.dll)而不是像Cygwin工具提供的仿真层”无论如何,一旦我转到该链接,我就不知道如何安装它了。具体来说,我想使用>thistool如果有人能指出我如何在我的应用程序中使用objdump和readelf(cygwin中的bin
Binutils是GNU(https://www.gnu.org/)提供的一组二进制工具的集合。通常,在已经安装了Linux操作系统的个人电脑上,系统就已经自带了这个工具集。但在进行嵌入式开发的时候,可能会用到支持ARM64平台的Binutils,这时就需要用到交叉编译。此前,在【1】我们已经介绍过Ubuntu中交叉编译的方法。对于一些规模不是很大的软件(例如gzip和findutils),此前的方法是可行的。但对于Binutils,安装过程中常常会遇到各种各样的问题。本文演示在Ubuntu22.04(系统是X86-64环境)上编译用于支持ARM64平台的Binutils的方法。假设你已经从G
我正在使用linuxelf文件。我想检测给定的elf程序是静态链接的(完全静态链接,ldd表示“不是动态可执行文件”)还是动态链接的。ELF适用于嵌入式Linux,所以我不能直接运行它或使用ldd实用程序。我想通过读取和检查一些字节完全在我的程序中完成此操作。我不想依赖file实用程序或libelf、binutils等。哪些字节会不同? 最佳答案 如何使用ldd.c来自μClibc?如果你愿意,应该很容易去掉任何不需要的依赖项/检查。我认为这是一种比试图通过阅读man5elf找出所有极端情况更聪明的方法,尽管FWIW它看起来只是检查
我正在使用linuxelf文件。我想检测给定的elf程序是静态链接的(完全静态链接,ldd表示“不是动态可执行文件”)还是动态链接的。ELF适用于嵌入式Linux,所以我不能直接运行它或使用ldd实用程序。我想通过读取和检查一些字节完全在我的程序中完成此操作。我不想依赖file实用程序或libelf、binutils等。哪些字节会不同? 最佳答案 如何使用ldd.c来自μClibc?如果你愿意,应该很容易去掉任何不需要的依赖项/检查。我认为这是一种比试图通过阅读man5elf找出所有极端情况更聪明的方法,尽管FWIW它看起来只是检查
我刚刚读了这篇优秀的文章:http://neugierig.org/software/chromium/notes/2011/08/static-initializers.html然后我尝试了:https://gcc.gnu.org/onlinedocs/gccint/Initialization.html虽然它所说的关于查找初始化器的内容对我不起作用。.ctors部分不可用,但我可以找到.init_array(另请参见Can'tfind.dtorsand.ctorsinbinary)。但是我该如何解释输出呢?我的意思是,页面大小的总和也可以通过size命令及其.bss列来处理-还是我