gpt4 book ai didi

c - LLD 和链接描述文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:09:55 29 4
gpt4 key购买 nike

我正在尝试为一个简单的 c 程序发送链接描述文件。我在 Ubuntu 和 Windows 上都试过了。

On Ubuntu

经过一些研究,我发现它正在使用 GNU-ld ,所以使用 clang 命令行选项 -fuse-ld=lld ,所以现在我链接了 clang默认链接器 lld

我试过这个命令

clang main.c -ffreestanding -nostartfiles -nodefaultlibs -fuse-ld=lld -Wl,-Map,output.map,-T Example_Linker.ld -o main

一切正常。我得到了内存映射文件,也能够传递链接描述文件。

On Windows

Clang 最初寻找 Microsoft Visual Studio Linker link.exe 来生成可执行文件。

它不支持链接器脚本。

所以 -fuse-ld=lld

我尝试了下面的命令
clang main.c -ffreestanding -nostartfiles -nodefaultlibs -fuse-ld=lld -Wl,-Map,output.map,-T Example_Linker.ld -o main

所以现在抛出的错误是

clang: error: unknown argument: '-Map'
lld-link: warning: ignoring unknown argument: -T

我应该如何编写命令才能获取内存映射文件并同时传递链接描述文件?

请帮我解决问题。

最佳答案

您在此处编写的链接器标志:

    -Wl,-Map,output.map

应该是

    -Wl,-Map=output.map

关于c - LLD 和链接描述文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57370682/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com