Самый простой способ определить, какой файл включен в C? - PullRequest
0 голосов
/ 11 января 2020

Например, в

#include <stdio.h>

Какой самый простой способ выяснить путь к включенному файлу?

Редактировать: я использую g cc 9.2.0 на Arch Linux.

Ответы [ 2 ]

3 голосов
/ 11 января 2020

Я обычно генерирую зависимости в моем Makefile с помощью следующей командной строки:

gcc main.c -o main -MD

Флаг -MD создает файл зависимостей, в котором перечислены все включенные заголовки.

2 голосов
/ 11 января 2020

Вам нужно найти, где g cc ищет включаемые файлы.

Попробуйте

echo | gcc -E -Wp,-v -

на моем компьютере (Ubuntu на windows 10), он показывает

piotr@DESKTOP-6R1GELF:~$ echo | gcc -E -Wp,-v -
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/7/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/7/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 31 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 32 "<command-line>" 2
# 1 "<stdin>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...