内核模块导出符号使用
来源:互联网 发布:删除表的定义的sql语句 编辑:程序博客网 时间:2024/05/07 20:37
/*
2 * 内核符号导出 给其他模块使用 使用前要申明一下
3 * 另外从 /proc/kallsyms 可以查看内核符号表的相关信息(eg.所在内存地址)
4 * eg. cat /proc/kallsyms | grep integar
5 */
6 #include<linux/init.h>
7 #include<linux/module.h>
8
9 MODULE_LICENSE("Dual BSD/GPL");
10
11 static int __init symbol_init(void)
12 {
13 printk("<0> symbol_init\n");
14 return 0;
15 }
16 int add_integar(int a, int b)
17 {
18 return (a + b);
19 }
20
21 int sub_integar(int a, int b)
22 {
23 return (a - b);
24 }
25
26 static void __exit symbol_exit(void)
27 {
28 printk("<0> symbol_exit\n");
29 }
30 EXPORT_SYMBOL(add_integar);
31 EXPORT_SYMBOL(sub_integar);
32 module_init(symbol_init);
33 module_exit(symbol_exit);
2 *使用其他内核模块导出的符号
3 */
4 #include<linux/module.h>
5 #include<linux/init.h>
6 extern int add_integar(int, int);
7 extern int sub_integar(int, int);
8
9 MODULE_LICENSE("GPL");
10
11 static int __init use_symbol_init(void)
12 {
13 printk("<0> use_symbol_init");
14 printk("<0> 1+2 = %d\n",add_integar(1,2));
15 printk("<0> 3-2 = %d\n",sub_integar(3,2));
16 return 0;
17 }
18
19 static void __exit use_symbol_exit(void)
20 {
21 printk("<0> Module exit!\n");
22 }
23 module_init(use_symbol_init);
24 module_exit(use_symbol_exit);
25
2 * 内核符号导出 给其他模块使用 使用前要申明一下
3 * 另外从 /proc/kallsyms 可以查看内核符号表的相关信息(eg.所在内存地址)
4 * eg. cat /proc/kallsyms | grep integar
5 */
6 #include<linux/init.h>
7 #include<linux/module.h>
8
9 MODULE_LICENSE("Dual BSD/GPL");
10
11 static int __init symbol_init(void)
12 {
13 printk("<0> symbol_init\n");
14 return 0;
15 }
16 int add_integar(int a, int b)
17 {
18 return (a + b);
19 }
20
21 int sub_integar(int a, int b)
22 {
23 return (a - b);
24 }
25
26 static void __exit symbol_exit(void)
27 {
28 printk("<0> symbol_exit\n");
29 }
30 EXPORT_SYMBOL(add_integar);
31 EXPORT_SYMBOL(sub_integar);
32 module_init(symbol_init);
33 module_exit(symbol_exit);
2 *使用其他内核模块导出的符号
3 */
4 #include<linux/module.h>
5 #include<linux/init.h>
6 extern int add_integar(int, int);
7 extern int sub_integar(int, int);
8
9 MODULE_LICENSE("GPL");
10
11 static int __init use_symbol_init(void)
12 {
13 printk("<0> use_symbol_init");
14 printk("<0> 1+2 = %d\n",add_integar(1,2));
15 printk("<0> 3-2 = %d\n",sub_integar(3,2));
16 return 0;
17 }
18
19 static void __exit use_symbol_exit(void)
20 {
21 printk("<0> Module exit!\n");
22 }
23 module_init(use_symbol_init);
24 module_exit(use_symbol_exit);
25
- 内核模块导出符号使用
- 内核符号导出给其他模块使用的简单例子
- linux内核模块(2)导出符号
- linux 内核模块编程之内核符号导出(五)
- Linux内核模块符号导出后无法调用问题
- Linux内核模块符号导出后无法调用问题
- 内核模块编程---符号导出(EXPORT_SYMBOL()) (3)
- Linux内核模块-导出符号表(五)
- 如何导出内核模块符号以及如何引用导出的符号
- linux模块中使用其它模块导出的符号
- 模块导出符号
- 模块导出符号
- Linux内核模块:初始化、加载/卸载、模块参数、导出符号、错误处理、模块装载竞争
- 【原创】内核符号导出
- 内核符号导出
- linux内核导出符号
- 内核符号导出
- linux内核导出符号
- zoj 2284 Inversion Number
- 我为什么喜欢北京
- 内核模块参数使用
- 基于ActiveX控件的DirectX游戏开发
- HttpWebRequest 如何保留 Session
- 内核模块导出符号使用
- 顶级jQuery树插件
- 【整理】Android-Recovery Mode(recover模式详解)
- WebRequest保持Session和Cookie
- 如何保护.net中的dll文件(防破解、反编译)
- java+Eclipse+android环境的搭建
- [Serializable]在C#中的作用-NET 中的对象序列化
- QQ空间及邮箱验证码登录的校验方式及自动登录的解决方案
- oracle简单的备份