大佬教程收集整理的这篇文章主要介绍了如何使用Linux内核模块中的Linux系统调用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <linux/unistd.h> #define __NR_sys_mycall 343 extern long int _syscall(long int_sysno,...)__THROW; //and then a simple call is done as such long value = syscall(__NR_sys_mycall); printf("The value is %ld\n",value);@H_772_19@但是当我在我的Linux内核模块中尝试相同的事情时,我得到一堆错误,或者说错误:隐式声明函数’syscall'(如果我不包括_syscall定义)或者一长串关于语法的错误if我…所以我的假设是我需要内核空间版本来调用系统调用.我是对还是错? @H_772_19@
//My LKM code #include <linux/module.h> #include <linux/unistd.h> #define __NR_sys_mycall 343 static int start_init(void) { long value = syscall(__NR_sys_mycall); printk("The value is %ld\n",value); return 0; } static void finish_exit(void) { printk("Done!\n"); } module_init(start_init); module_exit(finish_exit);@H_618_2@
#include <linux/module.h> #include <linux/unistd.h> static int start_init(void) { long value = sys_mycall (pass_arguments) printk("The value is %ld\n",value); return 0; } static void finish_exit(void) { printk("Done!\n"); } module_init(start_init); module_exit(finish_exit);@H_618_2@ @H_618_2@
以上是大佬教程为你收集整理的如何使用Linux内核模块中的Linux系统调用全部内容,希望文章能够帮你解决如何使用Linux内核模块中的Linux系统调用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。