我想在我的用户空间代码中使用printk
函数,但我不想编写内核模块。有可能这样做吗?
我试着用linux/kernel.h
头和linux/module.h
但没用
printk("<1>some text");
最佳答案
简单的回答是不,
在用户空间代码中无论如何都不能使用printk。
printk是为内核程序员设计的。
如果要写入syslog->dmesg,则使用syslog();
它派上用场了!!
Syslog ManPage
试试这个:
#include <stdio.h>
#include <unistd.h>
#include <syslog.h>
int main(void) {
openlog("slog", LOG_PID|LOG_CONS, LOG_USER);
syslog(LOG_EMERG, "Hello from my code ");
closelog();
return 0;
}
要为文件重定向配置syslog,请执行以下操作:
http://www.softpanorama.org/Logs/syslog.shtml
http://linux.die.net/man/5/syslog.conf
关于c - 未定义对`printk'的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57144837/