Tag: 对象文件

反汇编Microsoft Visual Studio 2003编译器输出

我看到我认为Microsoft Visual Studio 2003工具输出的目标文件的奇怪行为。 file实用程序告诉我: asmfile.obj: 80386 COFF executable not stripped – version 30821 对于汇编程序创建的对象,但对于来自C文件的对象,我得到: cfile.obj: data 使用Microsoft的dumpbin实用程序和我从cygwin获得的objdump ,我可以反汇编程序集生成的文件,但是我从C-built文件的任一实用程序中都得不到有用的结果。 我有几个与这种差异有关的问题: MSVC2003编译器生成的目标文件格式是什么? 我该如何反汇编该目标文件? 我对使用AT&T语法进行反汇编特别感兴趣 – 我正在使用一个大型源代码库的端口来使其与GCC一起工作,我想使用此方法作为一些内联汇编例程的快捷方式。项目。 编辑:添加更多信息。 当我在其中一个文件上运行dumpbin时没有给出任何结果: C:\> dumpbin /disasm Func.obj Microsoft (R) COFF/PE Dumper Version 7.10.6030 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file Func.obj FileType: ANONYMOUS OBJECT 使用objdump ,它给出: $ objdump […]

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

例如,我定义了一个宏: #ifdef VERSION //…. do something #endif 如何检查目标文件中是否存在VERSION ? 我试图用objdump反汇编它,但没有找到我的宏VERSION实际值。 VERSION在Makefile中定义。

C程序中.bss段的模糊行为

我在下面编写了简单的C程序(test.c): – #include int main() { return 0; } 并执行以下内容以了解.bss段中的大小更改。 gcc test.c -o test size test 输出结果如下: – text data bss dec hex filename 1115 552 8 1675 68b test 我没有声明全局或静态范围。 所以请解释为什么bss段大小为8个字节。 我做了以下改变: – #include int x; //declared global variable int main() { return 0; } 但令我惊讶的是,输出与以前相同: – text data bss dec hex filename 1115 […]

在Delphi 2007中链接多个C对象文件时出错

我是delphi的新手。 我试图在我的Delphi项目中添加C Object文件并直接链接它们,因为Delphi支持C Object Linking。 当我链接单个Object文件时,我得到了它。 但是当我尝试链接多个目标文件时,我收到错误“不满意的前向或外部声明”。 我在Delphi 2007以及XE中试过这个。所以我在这里做错了什么? 工作守则: function a_function():Integer;cdecl; implementation {$Link ‘a.obj’} function a_function():Integer;cdecl;external; end. 错误代码: function a_function():Integer;cdecl; function b_function();Integer;cdecl; function c_function();Integer;cdecl; implementation {$LINK ‘a.obj’} {$LINK ‘b.obj’} {$LINK ‘c.obj’} function a_function():Integer;cdecl;external; function b_function();Integer;cdecl;external; function c_function();Integer;cdecl;external; end.

在eclipse中将目标文件添加到cpp代码中

我按照Link对象文件中提到的方式跟随我的项目Eclipse CDR 我的主要function是cpp代码,我想调用一个c函数。 因此,我使用c代码创建了目标文件(.o) gcc -c -fpic mycode.c 这给了我一个“.o”文件,我想链接到cpp代码。 我创建了一个头文件,参考http://www.parashift.com/c++-faq/include-c-hdrs-nonsystem.html 头文件在我的cpp代码中被声明为extern。 头文件包含从c代码起作用,该函数在头文件中被声明为extern。 执行此操作后,当我为整个项目制作时,我收到错误作为该c函数名称的“未定义引用”

是否可以在eclipse中导入/运行目标文件?

我们的教授提供了我无法完成的先前作业的目标文件。 完成/测试当前分配需要先前的分配。 以某种方式我可以将它们导入到eclipse中或以某种方式使我的项目与这些目标文件一起工作吗?

将对象文件链接到我的项目Eclipse CDR

我正在从学校开展一个项目,我们得到了一个.o和一个相应的.h文件。 我们需要在.c程序中使用.o文件中的几个函数。 只是将它放在同一目录中是行不通的。 我试图在项目属性中寻找类似的东西,但没有好处。 我一直得到../code_files/Search.c:116: undefined reference to ‘reportError’ 我在Windows 7下使用Eclipse(Juno)CDT,gcc MinGW 我知道可以包含.a文件,但我找不到任何关于如何包含.o文件的说明#include “ErrorHandle.h”包含在主c文件中。 任何人都知道如何将.o文件包含到项目中? 谢谢!