首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gcc的这条指令是怎么解释的?

gcc的这条指令是怎么解释的?
EN

Stack Overflow用户
提问于 2022-08-07 19:06:07
回答 1查看 29关注 0票数 0

我下载了libopencm3 (https://github.com/libopencm3/libopencm3)库并编译了它。啊,真灵。我找到了一个使用这个库的小项目,并从它的makefile中复制了说明。

代码语言:javascript
复制
all:
arm-none-eabi-gcc \
    -Os \
    -ggdb3 \
    -mthumb \
    -mcpu=cortex-m0 \
    -msoft-float \
    -Wall \
    -Wextra \
    -Wundef \
    -Wshadow \
    -Wredundant-decls \
    -fno-common \
    -ffunction-sections \
    -fdata-sections \
    -std=c11 \
    -MD \
    -DSTM32F0 \
    -I./libopencm3/include \
    -o main.o \
    -c main.c

arm-none-eabi-gcc \
    --static \
    -nostartfiles \
    -Tstm32f0.ld \
    -mthumb \
    -mcpu=cortex-m0 \
    -msoft-float \
    -ggdb3 \
    -Wl,-Map=main.map \
    -Wl,--cref \
    -Wl,--gc-sections \
    -L./libopencm3/lib \
    main.o \
    -lopencm3_stm32f0 \
    -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group \
    -o main.elf

我为该项目创建了一个文件夹,并在其中粘贴了libopencm3文件夹并进行了编译。它起作用了,但我不明白这部分是怎么工作的:

代码语言:javascript
复制
-L./libopencm3/lib main.o -lopencm3_stm32f0

如果我是对的,那么在/libopencm3/lib中查找/libopencm3/lib库是指导性的,但是在那个文件夹中,我找到了libopencm3_stm32f0.a

我想知道为什么他们更改了名称,省略了扩展名,但它仍然有效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-07 19:12:34

这与makefile、任何特定库或嵌入式系统无关,因此不需要在您的问题上使用这些标记。

如果查找链接器的-l选项在文件中,您将了解它是如何工作的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73270294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档