- 论坛徽章:
- 2
|
刚才花费了点时间,测试了一下,并不存在你说的问题,也就是内存分配上没有什么限制。
- #include <sys/param.h>
- #include <sys/systm.h>
- #include <sys/kernel.h>
- #include <sys/module.h>
- #include <sys/malloc.h>
- static MALLOC_DEFINE(M_VMT, "vmt", "vmt");
- char *sss = 0;
- #define MMSS 1024*1024*100
- static int
- vmt_modevent(module_t mod, int type, void *data)
- {
- switch (type) {
- case MOD_LOAD:
- sss = malloc(MMSS, M_VMT, M_WAITOK);
- if (sss == 0) {
- printf("no enough memory\n");
- return EINVAL;
- }
- break;
- case MOD_UNLOAD:
- free(sss, M_VMT);
- printf("module unload\n");
- break;
- }
- return 0;
- }
- static moduledata_t vmt_mod = {
- "vmt",
- vmt_modevent,
- NULL
- };
- DECLARE_MODULE(vmt, vmt_mod, SI_SUB_PSEUDO, SI_ORDER_ANY);
复制代码
[ 本帖最后由 mirnshi 于 2007-1-10 11:17 编辑 ] |
-
2.PNG
(18.57 KB, 下载次数: 51)
-
1.PNG
(18.67 KB, 下载次数: 45)
-
3.PNG
(21.01 KB, 下载次数: 49)
|