freebsd - freebsd 内核嵌套 extern 声明警告

标签 freebsd kernel-module kernel

我正在修改sched_ule.c在freebsd内核中。要打印调试消息,我正在使用 syslog功能。但在编译过程中,我们收到以下错误:

/usr/src/sys/kern/sched_ule.c:731: warning: implicit declaration of 
function 'syslog' /usr/src/sys/kern/sched_ule.c:731: warning: nested

extern declaration of 'syslog' [-Wnested-externs]
*** Error code 1 Stop in /usr/obj/usr/src/sys/MYKERNEL.
*** Error code 1 Stop in /usr/src.
*** Error code 1 Stop in /usr/src.

我还包含了以下 header : syslog.h、stdarg.h 并尝试在没有它们的情况下进行编译。

最佳答案

您无法从内核调用 libc 函数(在用户空间中运行)。

使用printf(9)log(9)相反。

关于freebsd - freebsd 内核嵌套 extern 声明警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15255503/

相关文章:

c++ - 我怎样才能完全理解操作系统的工作原理?

linux - armv7m Linux kernel-4.4.5 在 calibrate_delay_converge() 处挂起

ubuntu - vgaswitcheroo 状态变化

c - FreeBSD 以太网操作

mysql - FreeBSD Mysql 2003 - 无法连接到 'localhost' 上的 MySQL 服务器 (10061)

我可以用模块替换 Linux 内核函数吗?

windows - WinDbg 显示一些变量但不显示其他变量,在同一位置显示一些变量

c - 这个校验和计算有什么问题吗?

freebsd - 调整 freebsd 分区大小

linux - 数据链路层库 linux 内核