使用不同的低级运行时库与 GCC 和/或 Clang

问题描述 投票:0回答:1

我正在编写小型低级运行时库以获取乐趣。

根据libgcc网站,此类库是编译器用来执行某些操作的库,这些操作过于复杂而无法发出内联代码。 GCC 自动使用这个库。您可以使用

-nostdlib
,但这只会禁用 libgcc,我想使用不同的(我的)库。通过 clang,我只找到了如何使用 libgcc 而不是 LLVM 的编译器-rt。

我希望 gcc 或 clang 编译器使用我自己的库,而不是 libgcc 或编译器-rt。

c++ c gcc clang
1个回答
0
投票

如果您准备编译自定义版本的 GCC,我有一个解决方案。

如果您对此不熟悉,我建议您阅读操作系统特定工具链,因为它提供了有关此主题的良好背景知识。

GCC 允许您在此过程中在配置文件中定义

LIBGCC_SPEC
。如
gcc/gcc.cc

中所述

config.h 可以定义 LIBGCC_SPEC 来覆盖 libgcc.a 的方式和时间 包括在内。

这将允许您直接使用自定义的 libgcc 等效项,而不必浪费时间

-nostdlib

© www.soinside.com 2019 - 2024. All rights reserved.