将指向静态结构的指针传递给函数是否安全?
我有这样的事情:
mymodule.c:
static MYEVENT_STRUC_T event;
uint_32 _myRtos_set_event(MYEVENT_STRUCT_T* event_ptr, uint_32 mask);
uint_32 mymodule_set_event(uint_32 event_mask){
/* Kernel function */
/* Defined outside mymodule.c,*/
/* Is it safe to call it with &event? */
return _myRtos_set_event(&event, event_mask);
}
这是安全的。static
并不意味着“不能在模块外部使用”,而是“不能在模块外部引用”,即符号本身不会被导出,但变量仍然存在于进程内存中的某处an 也可以在模块之间使用。
我唯一不确定的是,如果您正在做的话,我不确定通过指针将数据从用户模式传递到内核模式是否安全。如果我没记错的话,您应该调用一些函数来将内存从用户空间复制到内核空间。但并不完全确定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)