当前位置: 技术问答>linux和unix
关于编译时初始化和动态初始化
来源: 互联网 发布时间:2016-10-22
本文导语: 在linux驱动中,经常看到,比如自旋锁有两种初始化方法, 编译时初始化 spinlock_t my_lock=SPIN_LOCK_UNLOCKED; 运行时初始化,void spin_lock_init(spinlock_t *lock); 这两者有什么区别,分别用在什么情况下。在应用上有什么特别...
在linux驱动中,经常看到,比如自旋锁有两种初始化方法,
编译时初始化 spinlock_t my_lock=SPIN_LOCK_UNLOCKED;
运行时初始化,void spin_lock_init(spinlock_t *lock);
这两者有什么区别,分别用在什么情况下。在应用上有什么特别要求吗?
编译时初始化 spinlock_t my_lock=SPIN_LOCK_UNLOCKED;
运行时初始化,void spin_lock_init(spinlock_t *lock);
这两者有什么区别,分别用在什么情况下。在应用上有什么特别要求吗?
|
SPIN_LOCK_UNLOCKED是直接用默认参数构造了一个spinlock_t的结构,本质上和spin_lock_init没什么区别
他们的区别就是:
int iarr[5] = {1,2,3,4,5};
和
int oarr[5];
void init(int* oarr) {
int i;
for (i = 1; i
他们的区别就是:
int iarr[5] = {1,2,3,4,5};
和
int oarr[5];
void init(int* oarr) {
int i;
for (i = 1; i