Linker 如何忽略编译器中的默认启动代码和链接器脚本

Linker 如何忽略编译器中的默认启动代码和链接器脚本,linker,startup,Linker,Startup,目前,我尝试在powerpc的SPC58板上编译我的代码。我使用Green Hill和Wind river(Diab)编译器。 *我给自己写了一个启动代码crt0.c文件,我的入口点是_start 当我编译代码时,它说符号乘法定义在 D:\compiler\ghs\PPC\comp_201914\lib\PPC\crt0.o 看起来我的Green Hill编译器安装文件夹已经有启动代码了。(我猜crt0.o这里是默认的启动代码) 我希望我的编译器忽略默认的启动代码,而采用我编写的启动代码crt0

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

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

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