我正在使用ds18b20温度传感器,我正在努力将一些python代码转换为c ++,以帮助更好地学习语言。我遇到了一个问题,我需要加载 w1-gpio 和 w1-therm 模块。我在堆栈溢出上发现了很多东西提到应该使用init_module,并且在同一线程中,其他人提到在旁边使用fork()
exec()
。经过大量的谷歌搜索和通读手册页,我找不到任何如何完成这些任务的例子。有人可以指出我和/或举例说明我如何使用这两种方法加载这两个模块吗?或者提供一个不涉及系统的替代方案("modprobe w1-gpio"(?
uname -a
生产:
Linux raspberrypi 4.1.13-v7+ #826 SMP PREEMPT Fri Nov 13 20:19:03 GMT 2015 armv7l GNU/Linux
我仍然认为system("modprobe ...")
是这种情况的完美解决方案。不这样做只会给自己带来额外的问题。
如果您确切地知道要加载哪些内核模块,那么使用 init_module
或它的同级finit_module
。但是您需要按正确的顺序加载模块。当然,需要知道保存文件的所有相关位置,他们需要什么参数等。
并且不要忘记在清理自己时颠倒delete_module
的顺序。
modprobe
和朋友的来源可以在这里找到:https://github.com/vadmium/module-init-tools
Insmod很短,但modproble只有2300多行代码。