簡體   English   中英

確定 C 中包含哪個文件的最簡單方法?

[英]Easiest way to determine which file is included in C?

例如,在

#include <stdio.h>

找出包含文件的路徑的最簡單方法是什么?

編輯:我在 Arch Linux 上使用 gcc 9.2.0。

我通常使用以下命令行在我的Makefile生成依賴項:

gcc main.c -o main -MD

-MD標志生成一個依賴文件,其中列出了所有包含的頭文件。

您需要找到 gcc 在哪里搜索包含文件。

嘗試

echo | gcc -E -Wp,-v -

在我的電腦上(Windows 10 上的 Ubuntu)它顯示

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>"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM