
编译libgcc xgcc错误
我正在尝试安装交叉编译器,当我想制作libgcc时,我只是将其放在make all-target-libgcc 终端中。这使抛出错误checking whether ln -s works... yeschecking for i586-elf-gcc... /usr/src/build-gcc/./gcc/xgcc -B/usr/src/build-gcc/./gcc/ -B/usr/local/cross/i586-elf/bin/ -B/usr/local/cross/i586-el...
2024-01-10
如何使用gcc进行汇编
如何编译为汇编而不是gcc可执行文件。我知道有一个 标志,但是我在makefile中的哪里使用它。例如,如果我使用标志 ,则应将-S标志放在哪里?回答:我建议也使用它,-fverbose-asm因为生成的汇编器具有一些生成的注释,可以“解释”代码。例如:gcc -S -fverbose-asm -O2 foo.c将在foo.s(带有一些注释)中...
2024-01-10
强制gcc在64位平台上编译32位程序
我有一个专有程序,试图在64位系统上使用。当我启动安装程序时,它可以正常运行,但是在尝试更新自身并编译一些模块之后,它无法加载它们。我怀疑这是因为它正在使用gcc,而gcc试图将它们编译为64位系统,因此该程序无法使用这些模块。是否有任何方法(一些环境变量或类似的东西)强制gcc为...
2024-01-10
调用由编译器或链接器处理的约定吗?
当我们在函数原型中放入_stdcall(调用者不需要清除堆栈)时,是由编译器还是链接器来处理?调用由编译器或链接器处理的约定吗?回答:调用约定会影响代码生成,因此编译器会处理它。链接器不需要知道这一点。回答:调用约定是如何调用函数(参数编制具体的机器代码,并清理CTACK)和链...
2024-01-10
编译错误
我的工作的Fedora,我的Java家被设定为:编译错误export JAVA_HOME=/home/UserName/java export M3_HOME=/home/UserName/softwares/apache-maven-3.0.3 export PATH=$PATH:/home/UserName/java/bin:/home/Udeshika/softwares/apache-maven-3.0.3/bin 现在,当我尝试运行mvn install Maven的项目,我收到以...
2024-01-10
使用局部变量的编译器,无需调整RSP
有问题的编译器:了解小型程序生成的汇编代码,编译器使用两个局部变量,而无需调整堆栈指针。不为使用局部变量而对 RSP 进行调整似乎 并不安全 ,因此 中断似乎使编译器依赖于硬件自动切换到系统堆栈。否则,出现的第一个中断会将指令指针压入堆栈,并覆盖局部变量。该问题的代码是:#inc...
2024-01-10
JVM是编译器还是解释器?
我对JVM有一个非常基本的问题:它是编译器还是解释器?如果它是解释器,那么JVM内部存在的JIT编译器怎么办?如果两者都不是,那么JVM到底是什么?(我不希望将字节码转换为机器特定的代码等jVM的基本定义。)回答:首先,让我们对以下术语有一个清晰的认识Javac是Java编译器-将Java代码编译为 J...
2024-01-10
共享对象编译错误
我想编译一个库libEncryption.so。共享对象编译错误这里是我的make文件conatins什么:cc -g -w -fPIC -c -ISource/Header -I//usr/local/ssl/include -L//usr/local/ssl/lib - lssl -lcrypto Source/Common/C/Encryption.c -DBIT64 -DDBG -DLITTLEENDIAN -DOMS -DRMS mv Encryption.o Objects/Encryptio...
2024-01-10
交叉编译器ldd
我创建了一个交叉编译的arm可执行文件。我想找到可执行文件的库依赖项。我正在使用ubuntu natty并安装了不包含ldd的arm-linux-gnueabi工具链。有没有可用的工具来查看Linux中arm可执行文件库的依赖性。回答:这有点儿混乱,但这是我能找到的最好的解决方案,对于基本用途它确实很好用-只需使用其他交...
2024-01-10
通过gcc链接的默认库?
假设我有一个非常简单的C文件(称为foo.c):int main(){ printf("foo"); return 0;}现在我叫gcc:gcc foo.c当我调用gcc时(如上例所示,没有选项),默认情况下链接了哪些库,它们位于何处?(在Mac OS X 10.7上)回答:该-v选项gcc将导致它倾倒它会使用包括图书馆的路径和默认的库文件和目标文件将在...
2024-01-10
c语言编译后生成什么文件
品牌型号:联想拯救者Y9000P系统:Windows 11c语言编译后生成exe文件或者object文件。C语言是目前世界上流行、使用最广泛的面向过程的高级程序设计语言。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。编译是指将编辑好的源文件翻译成二进制目标代码的过程。编译过程是由编译程序(编译器)完成的。不同操...
2024-01-29
特拉维斯MIPS交叉编译
如何设置一个.travis.yml为MIPS目标交叉编译?对于PowerPC,这是微不足道的:特拉维斯MIPS交叉编译addons: apt: packages: - gcc-powerpc-linux-gnu 由于我有权访问软件包directly。对于MIPS我无法在Ubuntu忠实的找到一个编译器为它:Software Packages in "trusty", Subsection devel即使它似乎被列入白名单:https://g...
2024-01-10
交叉编译时如何使用外部库?
我正在x86 ubuntu机器上为树莓派ARM目标编写一些代码。我正在使用gcc-linaro-armhf工具链。我能够交叉编译并在pi上运行一些独立程序。现在,我想将代码与外部库(例如ncurses)链接。我该如何实现。我应该将程序与主机上现有的ncurseslib链接,然后在ARM上运行吗?(我认为这行不通)我是否需要为arm获取l...
2024-01-10
在ARM交叉编译时,如何选择要链接的静态库?
我在Ubuntu(arm-linux-gnueabi-gcc)中有一个ARM交叉编译器,默认体系结构是ARMv7。但是,我想编译一个ARMv5二进制文件。我通过为编译器提供-march=armv5te选项来实现。到目前为止,一切都很好。由于我的ARM系统使用BusyBox,因此必须编译静态链接的二进制文件。所以我给gcc -static选项。但是,链接器链接到我...
2024-01-10
关于传统解释器,编译器和JIT编译器/解释器的说明
我正在学习Java,以下内容对我来说有些混乱。我了解的是: →Java编译器仅将.java程序转换为.class文件,这意味着将我们的源代码转换为字节码(这是使Java平台独立的虚拟机(JVM)的操作码的列表)。 →仅“解释”代码,而 没有 将其转换为本地机器代码。它将一条字节码的每条指令作为一条命令...
2024-01-10
如何在RHEL 7.4上安装gcc 4.9.2
我正在尝试在Linux上安装gcc和g ++4.9.2。我是Linux的新手,我看到了一些安装指南,但是每次遇到另一个问题时,我都会看到。我的机器上现在没有任何gcc。我的Linux版本是:RedHat Enterprise Linux Server 7.4(Maipo)有人可以帮助我,并从头到尾给我说明如何正确执行此操作吗?非常感谢你。回答:RHEL带有预...
2024-01-10
默认情况下,如何确定gcc将哪些命令行选项传递给ld?
考虑一下hello world C程序: :#include "stdio.h"int main(){ printf("Hello, World!\n");}如果我打电话给:$ gcc -c hello.c -o hello.o它将产生一个ELF可重定位文件 如果我再致电:$ gcc hello.o -o hello [1]它将hello.o与ld链接,并产生一个ELF可执行文件 但是,如果我直接调用ld [2]而不是[1]:$ ld hello.o -o hel...
2024-01-10
javac和Eclipse编译器有什么区别?
Eclipse的Java编译器是否只是包裹该javac程序的同一个内核的包装器,还是完全独立的编译器?如果是后者,为什么还要重新发明轮子呢?回答:Eclipse实现了自己的编译器,称为Java Eclipse编译器(ECJ)。它不同于Sun JDK附带的编译器javac。一个显着的区别是Eclipse编译器使您可以运行实际上未正确编译的代...
2024-01-10
如何在vim中安装pascal编译器?
我发现了vim there的pascal编译器,但我不知道如何安装它。没有指示。我不知道我必须用它做什么,以及如何用它编译程序。 谢谢。如何在vim中安装pascal编译器?回答:我想你想有关于安装的插件看看Vim文档: http://vimdoc.sourceforge.net/htmldoc/usr_05.html#plugin摘录 USING A GLOBAL PLUGIN First read the text in the plug...
2024-01-10
pascal编译系统属于什么
品牌型号:AppleMac Book Pro 13.3 系统:MacOS12.0.1pascal编译系统属于系统软件。pascal语言语法严谨,层次分明,程序易写,可读性强,是第一个结构化编程语言。Pascal语言广泛用于各种软件,程序分为名称(program后自拟)、设置(var后规定)、开始(begin)、程序(正文)、读取(read/readln)、结束(end),结构层次强,严谨而...
2024-01-15
Java泛型可在Eclipse中编译,但不能在javac中编译
我不得不发现我的项目中有Java代码,该代码可以在Eclipse中编译并正常运行,但是会在javac中引发编译错误。一个完整的代码段:import java.util.HashSet;import java.util.Set;public class Main { public static void main(String[] args) { Set<Integer> setOfInts = new HashSet<Integer>(); Set<Object> setOfObjects...
2024-01-10
