问题标签 [object-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
366 浏览

c - 从目标文件中提取单个过程?

我有一个 64 位 COFF 目标文件(没有源代码或调试信息),我需要从中提取单个过程。

该过程相对较短,其唯一依赖项是:

  1. 一个全局变量。
  2. 几个导入的程序。

我已经尝试过拆卸和重新组装代码;然而,出于某种奇怪的原因,即使代码在调试器和反汇编器中看起来相同,但它的行为方式并不相同。(我已经尝试确保可执行部分具有正确的标志等,但据我所知,所有这些都是正确的,并且这些值也与它们在运行时“应该”的值相匹配。)

那么有没有办法直接将函数复制到新的目标文件(或删除该函数之外的所有内容),而无需在此过程中反汇编和重新组装代码?

0 投票
1 回答
232 浏览

c++ - 目标文件和可执行文件之间各个字段的大小差异

对于示例 c++ 程序,我在 linux 中使用 size 命令获得了以下信息。

我读过输出是尺寸;text 是实际代码, bss 包含未初始化的全局变量,而 data 作为已初始化和未初始化段的添加。我的问题是为什么目标文件和可执行文件的大小不同,特别是在文本中,因为源代码在内存中很常见?如果没有全局变量,为什么会显示 bss 的大小?

示例代码文件包含如下:

谢谢你!

0 投票
2 回答
163 浏览

linux - 在共享对象中包含静态库?

我想将一堆静态库编译成一个共享对象。到目前为止我有

上面的 objs/*.o 包含使用 ar 从各种静态库中提取的所有目标文件。

更新:基本上,我想知道我是否可以直接在命令行上使用 .a 文件而无需提取它们。

0 投票
2 回答
354 浏览

eclipse - 使用 Eclipse 和 GCC 在调试/发布输出中复制或保留 .o 文件

我有一个包含对象 (.o) 文件的库项目。我有以下构建后命令来确保文件包含在构建中:

但是,这意味着我必须在 Debug and Release 中手动复制 AdHocObject.o 文件,而且我永远无法清理项目,或者我需要重新开始并在 Debug and Release 中复制 AdHocObject.o。

当我有第二个项目使用库(作为包含)并重建它时,这变得更加麻烦,确保首先删除 AdHocObject.o。

我在这里有点迷路了。我想可能有多种方法,但我找不到它们。我可以:

  • 使第二个项目不重建库,但我不知道如何;
  • 使库在调试和发布中保留 AdHocObject.o,但我不知道如何;
  • 添加预构建命令以将 AdHocObject.o 复制到输出文件夹(调试或发布),但是……您猜对了。

这些行动中的任何一种都可能吗?如果不止一种,推荐的方法是什么?

0 投票
2 回答
3067 浏览

c - 如何检查C中的目标文件中是否存在宏?

例如,我定义了一个宏:

如何检查VERSION我的目标文件中是否存在?我试图用 反汇编它objdump,但没有发现我的宏的实际值VERSIONVERSION在 Makefile 中定义。

0 投票
2 回答
170 浏览

c - 是目标文件 (.o) 中包含的 .c 文件中的头文件路径引用

我编译了一个包含以下行的 example.c 文件:

编译器创建一个 example.o 文件。头文件的路径是否包含在 example.o 文件中?还是该信息是外部的?

0 投票
1 回答
481 浏览

visual-c++ - 16 位 obj 文件 VC++

如何将我的 VC++ 项目编译为 16 位平面目标文件,以便在我正在处理的引导加载程序中使用?

据我了解,目标文件在技术上已经是“平面”的,链接器将其转换为目标可执行格式。我希望它能够获取该目标文件并通过链接器传递该目标文件和我的汇编代码(以 obj 格式)以创建平面引导加载程序。

[指南][1] 对文件的位置不是很具体,只是说您使用cl.exelink.exeml.exe(MASM)。

该指南使用 MASM,但我知道如何使用 NASM 输出目标文件。我的主要问题是 VC++ 的事情。

0 投票
2 回答
1922 浏览

compiler-errors - NASM 'org' 指令与'-fobj'

为什么 NASM 不使用 org 指令编译成目标文件?

如果我编译这个:

无论出于何种原因,NASM 都会给我一个错误:

0 投票
1 回答
725 浏览

c - 无法链接到共享对象中的 ncurses

出于某种原因,我在编译使用 ncurses 的共享对象时遇到问题。即使我包含和链接 -lncurses,编译 .so 文件也会失败。请指教。

这是生成文件:

以下是错误:

0 投票
1 回答
161 浏览

java - 如何专门实现这个子类来绕过附加目标文件?

我在我的程序中附加目标文件时遇到了问题。我找到了这个答案。

但是,我不知道如何继承一个AppendableObjectOutputStream. 谁能更详细地教我怎么做?