【问题标题】:Link object files to binary file将目标文件链接到二进制文件
【发布时间】:2014-08-13 21:45:41
【问题描述】:

我想将两个目标文件链接到一个二进制文件。我希望这个二进制文件只包含我写的内容。当我使用 gcc 时,它会创建一个 4kb 的文件,里面有很多我不想要的东西。如何创建仅包含我的代码的二进制文件?我的第二个问题是,什么 gcc 链接到我的文件?

【问题讨论】:

  • 它创造了哪些你不想要的东西?
  • 你是说你想让你的二进制文件更小吗?
  • @sharth 我现在用十六进制编辑器检查了文件。该文件是零填充的。我的第一个文件位于 0x0000,第二个位于 0x1000。是否可以在第一个文件之后立即插入我的第二个文件,而不是填充到 8kb?
  • @Jim 我希望它只包含必要的东西(我的代码)。
  • 也许使用动态链接库?然后二进制文件不包含库的东西。

标签: c assembly linker


【解决方案1】:

不要使用“gcc”链接目标文件,而是考虑使用“ar”命令。例如,您可以使用以下内容使用 'ar' 创建静态链接库:

$ ar cru libhello.a hello.o foo.o

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 2012-10-15
    • 2012-08-21
    相关资源
    最近更新 更多