gpt4 book ai didi

c - 当前目录是gcc默认的静态库、动态库、头文件搜索路径吗?

转载 作者:行者123 更新时间:2023-11-30 14:40:11 27 4
gpt4 key购买 nike

GCC 简介有一个例子:

$ gcc -Wall -L. main.c -lhello -o hello 

The option ‘-L.’ is needed to add the current directory to the library search path.

是否意味着当前目录不是静态库文件的默认搜索路径,需要通过-L.添加到库搜索路径中?

动态库文件搜索的类似问题。当前目录是动态库文件的默认搜索路径吗,还是需要通过 --rpath . 将当前目录添加到动态库搜索路径中?

头文件搜索的类似问题。当前目录是头文件的默认搜索路径,还是需要通过-I.将当前目录添加到头文件搜索路径中?下面的例子是否暗示当前目录是头文件的默认搜索路径,我们不需要通过-I.将当前目录添加到头文件搜索路径中?

$ ls main.c hello.h
hello.h main.c

$ cat main.c
#include "hello.h"
int
main (void)
{
hello ("world");
return 0;
}

$ gcc -c main.c
$

最佳答案

当前工作目录不是编译器默认库或 header 搜索路径的一部分。

但是,包括 #include "file" 形式(带引号)将始终搜索当前工作目录,无论它是否在 header 搜索路径上。因此,-I.仅当您使用 #include <file> 在项目目录中包含文件时才需要(你确实不应该这样做,因为它会让任何试图阅读你的代码的人感到困惑)。

关于c - 当前目录是gcc默认的静态库、动态库、头文件搜索路径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55659701/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com