Как передавать линкеру опции через командную строку компилятора avr-gcc |
|
Добавил(а) microsin
|
Это можно сделать с помощью опции -Wl.
Например, нам нужно передать линкеру команду сгенерировать карту памяти (linker memory map) в файле foo.map (опция для линкера -Map=foo.map), и сгенерировать таблицу перекрестных ссылок (cross reference table, опция для линкера --cref). Это делается таким образом:
avr-gcc -O -o foo.out -Wl,-Map=foo.map -Wl,--cref foo.c
В этом примере опция -Wl используется дважды, и опция для линкера указывается после опции -Wl через запятую.
В случае использования в Makefile переменной флагов для линкера, опцию -Wl удобно передавать через неё. В примере используются переменные COMMON и LDFLAGS:
## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS += -Wl,-Map=foo.map -Wl,--cref
[Ссылки]
1. avr-gcc: опции компилятора C для микроконтроллеров AVR. 2. avr-libc Frequently Asked Questions site:avr-libc.nongnu.org. |