object-files

    0热度

    1回答

    我希望能够在不使用makefile的情况下编译C++源文件。这里是我的问题的原型......我有以下.cpp文件 // special libraries to include #include "acado.h" #include "auxiliary_functions.c" /* -------------------------- */ // Create objects for

    1热度

    2回答

    我有两个类实现(.cpp files) 他们都需要将其在header(.h)文件中实现的功能。这两个.cpp文件都包含.h文件。编译后,两个.cpp文件成为两个.o文件。 连接两个目标文件时,该功能是否定义了两次? 可以#ifndef防止这种情况吗? 我用#ifndef,但我得到了以下信息, ld: 1 duplicate symbol for architecture x86_64

    0热度

    1回答

    public void save() throws IOException { File f = new File(path); if (!f.getParentFile().exists()) { f.getParentFile().mkdirs(); } FileOutputStream fout = new FileOu

    7热度

    2回答

    我知道编译时包含在可执行文件中的代码可以来自对象文件(.o文件)和静态链接库(.lib/.a文件)。这两者之间的区别在根本上和概念上是什么?为什么“目标代码”和“静态链接库”有不同的概念?每个人有什么优点和缺点,为什么使用一个而不是另一个?静态链接库可以由目标文件创建,反之亦然,可以使用静态链接库创建目标文件?

    0热度

    1回答

    在C++中,当将对象文件存档到.a文件中时,它与平台有关吗? 例如我在x64平台上用x64编译器编译,我将一堆CPP文件编译成.o文件。使用AR.exe,我将它们归档到.a文件并分发。 .a文件是x32,x64还是可以互换的?或者是否依赖于使用.a文件的程序?

    1热度

    1回答

    我有一个预编译的目标文件,比如myObjectFile.o。在我的.pro文件我有这样的代码块: mac { ... OBJECTS += myObjectFile.o } 这个伟大的工程与项目的其余部分在目标文件中链接,但有一个致命的问题。如果我做一个干净的对象文件被删除。而且由于它是预编译的,所以当我尝试重新构建时,我得到一个链接错误,直到我将该文件复制回我的项目目录

    3热度

    1回答

    我有一个应用程序本身和测试两个单独的项目的游戏。我正在构建所有项目。这里是我的项目结构的简化版本: game game.pro app app.pro Entity.h Entity.cpp Entity.o moc_Entity.cpp moc_Entity.o tests laye

    3热度

    1回答

    我目前正在从一些C源文件(我没有,只有对象文件可用)生成ELF格式的对象文件。 详细: 每symbol条目在Symbol Table在ELF文件中有正如我写了一个小工具,它提取所有未定义的符号,我碰到这有指向保留的部分章节索引一些符号来了一个整数指向符号所属的section header entry index的字段,迄今为止这么好... ELF规范定义了一堆保留节标题索引,值为0(对于undef

    0热度

    1回答

    基本上,我用objdump -D来卸载目标文件和ELF文件。我认为两者之间的主要区别在于。 我看到目标文件(单个段)中的指令的地址以开头。因此,连续地址是,将偏移一定的值,可能取决于对应于该特定指令的操作码的长度。 Disassembly of section .text: 00000000 <main>: 0: 8d 4c 24 04 lea 0x4(%esp),%ecx 4: 83

    7热度

    1回答

    当我们编译代码时,会生成一个目标文件。从该目标文件中,在链接过程中生成可执行文件。 为什么我们需要一个目标文件?对象文件有什么用途?难道不可能直接生成可执行文件吗?毕竟,我们正在使用可执行文件来运行程序。