object-files相关内容

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

我们的教授提供了我无法完成的先前作业的目标文件.完成/测试当前作业需要此先前的作业.我可能会以某种方式将它们导入eclipse或以某种方式使我的项目与那些目标文件一起工作吗? 解决方案 假设您有目标文件print_hello.a和标头print_hello.h.更准确地说,让我们创建print_hello.a: print_hello.h #ifndef __PRINT_HEL ..
发布时间:2020-07-02 00:02:28 Java开发

每个.h文件都有对应的目标文件吗?

我正在尝试编写一个makefile,但我不太了解目标文件的工作方式.我的文件夹中没有.o文件,那么如何编译它们?每个.h文件都有对应的.o吗?如果不是,那么我们如何知道是否必须编译目标文件?抱歉,如果这些是愚蠢的问题,我是编程新手. 谢谢. 解决方案 基本上,头文件(.h)告诉编译器在生成目标文件(.o)时存在某些内容.编译器从源(.c/.cpp/etc.)文件生成目标文件.如果编译 ..
发布时间:2020-05-05 12:20:08 其他开发

在测试中无法从项目中链接目标文件

我试图链接一些目标文件,以便可以在Codelite IDE中使用UnitTest ++编写测试.神秘地,教程没有说明如何使用(不同)项目中的.o文件. /p> 如果我使用的是命令行,则该线程向我展示了如何执行此操作.但是,我在Codelite编辑器中遇到了更多困难.在其他线程中接受的答案说"[在codelite的IDE中,这已添加到链接器的选项文本框中,",但是,我发现情况并非如此. 我将 ..
发布时间:2020-05-01 03:48:48 C/C++开发

什么是“对象"?在“目标文件"中为什么这样称呼它?

有人问我一个问题:“什么是'目标文件'?" 查看 Wiki 后,我只知道它包含对象. 但是那些对象是什么,为什么有人这样称呼它们? 解决方案 目标文件(或目标代码)是由编译器从源代码生成的机器代码文件. 与可执行文件的区别在于,目标文件未链接,因此尚未定义对函数,符号等的引用(它们的内存地址基本上留为空白). 使用GCC编译C文件时: gcc -Wall -o ..
发布时间:2020-05-01 03:32:35 C/C++开发

期望字符串常量之前的非限定id

我目前正在编写一个C ++应用程序,它实现了一个与math.h结合的振荡器。我的代码应该可以正常工作(尝试编译一个目标文件),但是我得到的编译器错误很可能与语法/ etc有关;我认为这与名称空间有关。错误: 终端输出: 用户名 - Macbook -Pro:合成器部件用户名$ make g ++ -o Oscillators.o -c -I。 Oscillators.cpp -c ..
发布时间:2018-04-18 20:36:03 C/C++开发

如何查看对象文件中的符号?

如何查看.o文件中的符号? nm对我不起作用。我使用g ++ / linux。 解决方案 代替 nm ,您可以使用强大的 objdump 。详情请参阅手册页。试试 objdump -t myfile 或 objdump -T myfile 。使用 -C 标志,您还可以对C ++名称进行反转处理,如 nm does。 ..
发布时间:2018-04-18 20:34:39 服务器开发

C中的目标文件是什么?

我正在阅读C中的库,但我还没有找到一个解释对象文件是什么。任何其他编译文件和目标文件之间的真正区别是什么? 如果有人可以用人类语言解释,我会很高兴。 解决方案 目标文件是编译阶段的真正输出。它主要是机器码,但有一个信息,允许链接器看到它里面的符号,以及为了工作需要的符号。 (参考,“符号”基本上是全局对象,函数等的名称) 链接器获取所有这些对象文件并将它们组合成一个可执行文件它 ..
发布时间:2016-12-22 11:25:20 其他开发

段太多,汇编器错误,使用boost :: spirit

我正在为Java的一个子集编写一个编译器,使用 boost :: spirit ,用于lexing和解析。在编译lexer / parser阶段期间,编译器使用 1.6GB 的RAM( g ++(GCC)4.8.1 ),但这不是一个问题,因为这台机器上有大量的内存。 什么是一个问题,是,当编译器完成,开始运行( GNU assembler(GNU Binutils)2.23.52.20130 ..
发布时间:2016-10-23 11:40:41 C/C++开发

我可以将由一个编译产生的对象文件链接到另一个编译的对象文件吗?

更具体地说,假设两个编译器都在同一平台(OS +指令集)上。但是,其中一个目标文件是由编译器依赖的代码。另一方面 - 代码是面向对象的,并且尊重封装。 我需要这种框架。目标平台是任何系统,其中是GCC和Java虚拟机。实际上,框架将在每个平台上编译。 解决方案 你应该能够链接他们,只要他们使用相同的目标文件格式和目标相同的机器指令集。例如,假设您有两个C编译器,每个编译器都有自己的专 ..
发布时间:2016-10-17 10:17:31 C/C++开发

.LIB和.OBJ文件有什么区别? (Visual Studio C ++)

我知道.OBJ是编译一个编译单元的结果,而.LIB是一个可以从几个.OBJ创建的静态库,但是这种差异似乎只在于编译单元的数量。还有什么其他区别吗?是相同还是不同的文件格式? 我想到这个问题是否在两个(或更多).LIB中定义的静态变量是否合并在链接到最终的可执行文件。对于.OBJ,变量被合并。但是在.LIB中是一样的吗? 解决方案 .LIB文件是一个.OBJ文件的集合, 。链接器处理方 ..

拆开微软Visual Studio 2003中的编译器输出

我看到什么,我认为是由微软的Visual Studio 2003工具从目标文件输出奇怪的行为。在文件工具告诉我: asmfile.obj:80386 COFF可执行不可剥离 - 30821版本 有关由汇编器创建的对象,但对物体C文件来了,我得到的只是: cfile.obj:数据 使用微软的 DUMPBIN 实用程序和 objdump的我从Cygwin的话,我可以拆卸组装建造的文件,但 ..
发布时间:2016-08-21 21:34:50 C/C++

为什么编译成目标文件第一?

在过去的一年我在Fortran语言开始编程在研究型大学工作。我的大部分以前的经验是网络语言如PHP或ASP老,所以我是一个新手汇编语句 我有两个不同的code我修改。 一有一个明确的语句从模块创建.o文件(例如gfortran -c filea.f90)创建可执行文件之前。 另一个的创建可执行文件直接(有时创建.mod文件,但没有.o文件,如:gfortran -o可执行filea.f90 ..
发布时间:2016-08-21 20:49:39 C/C++开发

什么是C中的目标文件?

我阅读有关C库,但我还没有发现什么目标文件尚未作出解释​​。什么是其他任何编译的文件和目标文件的真正区别?会很高兴,如果有人能在人类语言解释。 :) 解决方案 这是目标文件是由编译阶段的实际输出。这主要是机器code,但有信息,允许连接器,看看是什么符号,它还有象征它需要为了工作。 (仅供参考,“符号”基本上都是全局对象,函数等的名称)。 一个链接器将所有这些目标文件,并结合他们形成一个 ..
发布时间:2016-08-17 21:35:03 C/C++

如何阅读C ++ CLI .OBJ文件(单个文件的汇编结果)

我有一个小(小于300线)在C ++ CLI项目在Visual Studio 2010中的C ++文件。 我已经制作了一些宏里面做取决于调试/发布配置不同的东西。 我希望能够看到所产生的.obj文件(当我在调试和发布编译),并能够比较两个。困难的部分是,文件是二进制的,我不理解他们的格式。 我肯定还有其他的方法,以确保宏是不是破坏性的 - 例如,尝试一下在这两种模式下运行,但这是很多更费时。 ..

在目标文件符号表和重定位表

据我了解,指令和数据在目标文件中都有地址。第一个数据项的起始地址是0和第一条指令开始也会在地址0 重定位表包含有关需要更新,如果在该文件改变的地址,例如,如果文件与另一个连接在一起的指令的信息。 A线,在下面的例子中,将在重定位表。我不认为B.将在重定位表,因为标记的“平等”的地址是相对于B.这些是正确的假设? 我认识的符号表显示文件有标签,标签也还没有得到解决。但符号表包含其他什么信息? ..
发布时间:2016-07-18 20:49:44 .NET Framework