是否可以在Linux内核中使用简单的C文件操作函数,如getc,putc和seek?

Awa*_*ais 6 c linux kernel

我将编写一个Lexical,它将成为内核模块的一部分,我将解析一个文件并返回tokens.为此,我可能需要使用fopen,getc,putc,fseek等函数,这些函数显然是用户空间函数.我已经在内核空间中搜索了这些函数的替代方法,我发现了open,filp_open,sys_open等函数,我想这对我来说没问题.但我想知道的是,在内核空间中是否可以使用getc,putc,seek等函数(在文件操作中非常方便)?

Kri*_*ost 5

别.

读取文件,尤其是复杂的配置文件,不应该从内核中完成.

关于为什么这是一个坏主意,有很多信息.KernelNewbies FAQ是一个好的开始.

真的,真的不这样做.我集成了很多供应商(内核)代码,这是一个不断出现并咬我们的错误.学会从一开始就以正确的方式做事.

  • 因此,在有人(具有数十年内核经验......)之后,对于他们的嵌入式产品,他们认为执行"它"的唯一方法就是忽略"不要"的建议. ,那怎么回事?不用担心 - 我可以阅读来源.我只是厌倦了像"不要"这样的答案.一点也不帮助.我会对你的答案进行投票,但我太忙了,无法单击"向下"按钮...... (4认同)
  • 不,我不同意"不要"这里是正确的答案,因为这听起来太像我们是一群保姆试图阻止OP打破他们的机器.你的理由是"不要"是可以的,因为我们可以在5分钟内找到精英主义.好吧,如果我不想花5或10或20或......分钟挖掘它并且我是"精英"之一,因为我真的 - 我的第一个UNIX内核工作于1981年. (3认同)