【问题标题】:Creating ELF image创建 ELF 映像
【发布时间】:2011-10-11 13:24:29
【问题描述】:

我需要从共享对象(.so 文件)创建一个 ELF 映像文件并将其写入 Windows 中的另一个分区。然后在 Linux 中打开这个分区并加载共享对象。

有人知道如何在 Windows 中创建 ELF 映像(许多共享对象的捆绑)吗?

【问题讨论】:

  • 为什么?与仅在 Linux 上进行工作相比,这会带来很多麻烦和痛苦。
  • @bmargulies:你是对的,但这是我的经理想要的:(
  • 我应该为提出错误的问题而道歉。我需要的是使用gcc 工具链创建精灵共享对象,创建分区映像并使用Windows 7 的VDK 挂载它,然后将共享对象复制到挂载的文件夹中。稍后,我可以卸载并将分区映像复制到Linux;将其安装在那里并获取所需的文件。

标签: windows linux shared-libraries elf


【解决方案1】:

您可以使用 Cygwin 并尝试合适的 GCC 跨工具链。也许你必须先自己构建它(这很麻烦),但它就这样......

编辑: 好的,你来了:

一个简化的:
Building GCC cross compiler (from "Linux" to "Windows") -- 基本步骤与那里描述的相同。您只需要将./configure 与相关的--host=...--target=... 联系起来。哦!不要忘记设置构建根目录,因为不支持“在源代码树中”构建——如果你尝试,你只会陷入错误(我做过......)

杀手锏: http://cygwin.wikia.com/wiki/How_to_install_a_newer_version_of_GCC#Build_and_Install_GCC -- 完整指南。

【讨论】:

  • 你能指导我尝试一个“合适的 GCC 跨工具链”吗?而且,为什么我需要 Cygwin?它不能在 Windows 上与 GCC 一起使用吗?
  • GCC 和 BinUtils 的所有辅助应用程序都是 UNIX 应用程序。据我所知,除了 MinGW 之外,没有它的本地 Windows 端口,但我能找到的关于 MinGW 交叉编译的所有内容都是“*nix-hosted to Windows”,而不是其他方式。我现在将使用我在进行类似研究时发现的一些(希望是)有用的链接来更新帖子。
【解决方案2】:

如今的 Linux 理解 NTFS。至少,它应该能够读取它。
您还可以使用格式化为 FAT32 或 NTFS 的闪存棒作为共享存储。
您还可以在虚拟机中运行 Linux,并在其上设置 FTP 服务器并通过它交换文件。
在不同操作系统之间共享数据的方式有很多种。

【讨论】:

  • 我无法使用 NTFS。我应该使用类似于 FAT32 的专有文件系统。你知道如何在 Windows 中创建由几个文件组成的图像吗?然后我将图像写入这个分区。
  • @mustafa: 嗯...mkisofs 工具可以创建 CD/DVD ISO 映像。如果您可以将它们写入共享存储(硬盘分区?),然后使用mount 将它们挂载到 Linux 中,这是一种方法......可能还有其他工具,但我不知道它们。
  • 感谢您的评论。 mkisofs 似乎是一个未继续的项目“注意:我不再维护 mkisofs。此页面上的信息是 1999 年 3 月的最新信息,此后一直没有更新。”
猜你喜欢
  • 2018-11-13
  • 2011-09-02
  • 2010-10-17
  • 2011-07-30
  • 2010-09-11
  • 2020-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多