что подразумевается при использовании флага -L в g cc в g cc после передачи точки - PullRequest
1 голос
/ 21 января 2020
psp-gcc -I. -IC:/pspsdk/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=150  -L. -LC:/pspsdk/psp/sdk/lib   main.o  -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o controller_basic.elf

он использует -I.

и также -L.

отмечают точку после каждого из них, которая является не точкой грамматики, а точкой внутри Сама команда, что я понятия не имею, что она делает, и я сомневаюсь, что найду что-нибудь в официальных документах, не тратя дней на ее чтение

1 Ответ

1 голос
/ 21 января 2020

. (точка) относится к текущему каталогу. Поэтому эти параметры указывают, что в текущем каталоге должны быть найдены все необходимые заголовочные файлы (-I.) и все необходимые библиотеки (-L.).

Из руководства G CC:

-Idir
    Add the directory dir to the head of the list of directories to be searched for header files.

-Ldir
    Add directory dir to the list of directories to be searched for -l.

-l library
    Search the library named library when linking.

Из спецификации POSIX:

The special filename dot shall refer to the directory specified by its predecessor.
...