Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GCC能否为独立环境创建位置无关的代码?_C_Gcc_Freestanding - Fatal编程技术网

GCC能否为独立环境创建位置无关的代码?

GCC能否为独立环境创建位置无关的代码?,c,gcc,freestanding,C,Gcc,Freestanding,我一直认为位置无关代码(PIC)的生成基本上只取决于编译的CPU。但是,在阅读了以下内容后: 对于386,GCC支持System V的PIC,但不支持Sun 386i (声明创建PIC的能力取决于操作系统),我想知道: 在没有操作系统的情况下,GCC能否为独立环境创建位置无关的代码?是。用于嵌入式系统的gcc交叉编译器将创建PIC。在386i上运行的有20年历史的Solaris版本可能不支持PIC。相关信息如下。简而言之,gcc无法使用本机工具(如汇编程序、链接器和动态加载程序)生成可在386i

我一直认为位置无关代码(PIC)的生成基本上只取决于编译的CPU。但是,在阅读了以下内容后:

对于386,GCC支持System V的PIC,但不支持Sun 386i

(声明创建PIC的能力取决于操作系统),我想知道:


在没有操作系统的情况下,GCC能否为独立环境创建位置无关的代码?

是。用于嵌入式系统的gcc交叉编译器将创建PIC。在386i上运行的有20年历史的Solaris版本可能不支持PIC。相关信息如下。简而言之,gcc无法使用本机工具(如汇编程序、链接器和动态加载程序)生成可在386i上使用的PIC代码。如果您负责将PIC代码加载到目标计算机上,GCC可以为无操作系统的环境生成PIC代码。那么386i是另一种计算机吗?在我看来,文档中的词语选择不当。不,不是。这是一种不同的操作系统。那么为什么FAQ会说“386i上唯一运行的操作系统是Sun操作系统”?