gpt4 book ai didi

c - 通过头文件查找库

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:51 25 4
gpt4 key购买 nike

我想编译以下简单的 syslog 日志记录程序:

#include <syslog.h>

setlogmask (LOG_UPTO (LOG_NOTICE));

openlog ("exampleprog", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);

syslog (LOG_NOTICE, "Program started by User %d", getuid ());
syslog (LOG_INFO, "A tree falls in a forest");

closelog ();

我知道 syslog.h 的位置,但我如何知道 syslog 的库名称和位置以告诉编译器链接到?有没有一种通用的方法可以找到带有头文件声明定义的库(例如,在什么库中 abc.h 中声明的函数 x 定义(主体))?

最佳答案

syslog() 在 C 库中定义,默认情况下您的编译器将链接到它。在我的系统上,假设您的编译器是 gcc,您可以看到使用 gcc -v file.c -o file.o 调用的默认编译器参数。强调 -v 开关。

在 C 库上调用 nm 得到:

nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep syslog
00000000000fffd0 T syslog

关于c - 通过头文件查找库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57962324/

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