gpt4 book ai didi

dll - 如何为 Windows 32 位构建 hsdis.dll?

转载 作者:行者123 更新时间:2023-12-01 13:27:52 25 4
gpt4 key购买 nike

我正在尝试在我的笔记本电脑 32 位 Windows 中构建 hsdis.dll。我读了http://dropzone.nfshost.com/hsdis.htm说明并知道我必须遵循这些步骤。我看到我必须使用 mingw64-i686-gcc-core。我按照这些步骤操作,但总是发现此错误。

make[2]: i686-w64-mingw32: Command not found
Makefile:246: recipe for target 'libiberty.a' failed
make[2]: *** [libiberty.a] Error 127
make[2]: Leaving directory '/home/User/hsdis/build/Linux-i586/libiberty'
Makefile:8045: recipe for target 'all-libiberty' failed
make[1]: *** [all-libiberty] Error 2
make[1]: Leaving directory '/home/User/hsdis/build/Linux-i586'
Makefile:192: recipe for target 'build/Linux-i586/bfd/libbfd.a' failed
make: *** [build/Linux-i586/bfd/libbfd.a] Error 2

我还想知道如何使用指令 PrintAssembly,因为我想查看 Java 类的汇编代码。

我已经在这里看到了其他帖子,但都没有帮助。

提前致谢

最佳答案

以下是帮助我构建它的步骤(x64 版本,x86 应该几乎相同):

  • 按照http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/tags 的构建手册中的描述下载并解压最新的hsdis 源代码;
  • http://mirror.tochlab.net/pub/gnu/binutils/ 下载最新的 bintuils-2.26.tar.gz 包;
  • 将其复制到您的 Cygwin 主目录并从 Cygwin 终端解压(这很重要,否则您可能会遇到权限问题):tar -xzvf ./binutils-2.26.tar.gz
  • 安装以下 Cygwin 包:mingw64-x86_64-gcc-core 适用于 x64 或 mingw64-i686-gcc-core 适用于 x86,diffutils制作;
  • 进入hsdis目录;
  • 使用以下命令构建 x64 库:make OS=Linux MINGW=x86_64-w64-mingw32 'AR=x86_64-w64-mingw32-ar' BINUTILS=~/binutils-2.26 CONFIGURE_ARGS="--host= x86_64-w64-mingw32",对于 x86 库构建,使用命令:make OS=Linux MINGW=i686-w64-mingw32 'AR=i686-w64-mingw32-ar' BINUTILS=~/binutils- 2.26 CONFIGURE_ARGS="--host=i686-w64-mingw32"
  • 如果您对 zlib 的 undefined reference 有错误(即 build/Linux-amd64/bfd/libbfd.a(compress.o):compress.c:(.text+0x7e ): undefined reference to inflate), 修改 hsdis 中的 Makefile: 找到行 $(CC) $(OUTFLAGS) $(CPPFLAGS) $ (CFLAGS) $(SOURCE) $(DLDFLAGS) $(LIBRARIES) 用于 $(TARGET) 目标并附加到末尾 -lz -L$(TARGET_DIR)/zlib,然后再次运行构建命令;
  • 之后,您应该在 hsdis\build\Linux-amd64\ 中找到用于 x64 的库 hsdis-amd64.dll,或 hsdis-i386.dll hsdis\build\Linux-i586\ 中用于 x86。

关于dll - 如何为 Windows 32 位构建 hsdis.dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com