【问题标题】:How to ignore default start up code and linker script in the compiler如何忽略编译器中的默认启动代码和链接器脚本
【发布时间】:2019-11-25 15:03:17
【问题描述】:

目前,我尝试在 SPC58 板 powerpc 上编译我的代码。我使用 Green Hill 和 Wind River (Diab) 编译器。 * 我自己写了一个启动代码crt0.c文件,我的入口点是_start 当我编译我的代码时,它说符号乘法定义在 D:\编译器\ghs\PPC\comp_201914\lib\ppc\crt0.o 看起来我的 Green Hill 编译器的安装文件夹已经有启动代码。 (我猜crt0.o这里是默认启动代码) 我希望我的编译器忽略默认启动代码并取而代之的是我编写的启动代码 crt0.c。我怎样才能做到这一点?我也有疑问,为什么我们这里有默认的启动代码?因为我们可能对不同的板子使用相同的编译器,所以不同板子的启动代码可能会有所不同。

当我安装 Diab 编译器并编写我的链接器脚本时。编译和链接时。它还报告 defaultvle.dld (链接描述文件已经存在于安装文件夹中)如果我编写一个新的链接描述文件,它说我只是在默认链接描述文件中重新定义了整个东西。 我可能在这里误解了一些东西。

【问题讨论】:

    标签: linker startup


    【解决方案1】:

    对于diab编译器你可以使用-Wm newLinkerScript(-Wm会忽略默认的链接脚本)和-Ws忽略默认的启动代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-04
      • 2023-03-19
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      相关资源
      最近更新 更多