Файлы, к которым обращается GCC при компиляции данного кода

Я наткнулся на тему предварительно скомпилированных заголовков в C, поэтому я начал читать об этом, вкратце, в статье(ях), которую я прочитал, говорилось, что gcc будет использовать предварительно скомпилированный заголовок (h.gch), если он есть, в противном случае обычный файл заголовка (.h) будет использоваться.

Я просто хотел попробовать и посмотреть, действительно ли это происходит с моим кодом. Итак, я хочу знать, есть ли в Linux (Ubuntu) какая-либо команда, чтобы увидеть, какие файлы используются компилятором GCC во время компиляции вашего кода. Я думаю, что если файл .h.gch используется вместо файлов .h, то он работает так, как должен быть, и я получаю концепцию предварительно скомпилированных файлов заголовков.

Например, если я делаю что-то вроде

gcc myCode.c

тогда gcc обязательно перейдет к этому файлу (myCode.c), и если файл myCode.c включает файл заголовка, то этот файл заголовка также будет затронут/открыт gcc.

https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/Precompiled-Headers.html

Вот откуда я читал о предварительно скомпилированных заголовках.


person Community    schedule 22.04.2019    source источник


Ответы (1)


Если вы просто хотите посмотреть, какие файлы открываются gcc или любым другим процессом в Linux, вы можете использовать Strace.

strace -f -e open gcc myCode.c

person amritanshu    schedule 22.04.2019