当前位置: 技术问答>linux和unix
linux 下sem_init出错!
来源: 互联网 发布时间:2016-11-14
本文导语: #include #include #include #include sem_t *mysem; int main(void) { sem_init(mysem,0,3); sem_destroy(mysem); exit(0); } gcc -g mysem2.c -o mysem2 -lpthread -lrt 编译通过 运行:段错误 gdb跟踪,program received SIGSEGV,segmentation fa...
#include
#include
#include
#include
sem_t *mysem;
int main(void)
{
sem_init(mysem,0,3);
sem_destroy(mysem);
exit(0);
}
gcc -g mysem2.c -o mysem2 -lpthread -lrt 编译通过
运行:段错误
gdb跟踪,program received SIGSEGV,segmentation fault.
from /lib/tls/i686/cmov/libpthread.so.0
不理解,sem_init怎么就会出错呢?(sem_init(mysem,1,3)试过也一样!)
请大家看看,谢谢!!!
#include
#include
#include
sem_t *mysem;
int main(void)
{
sem_init(mysem,0,3);
sem_destroy(mysem);
exit(0);
}
gcc -g mysem2.c -o mysem2 -lpthread -lrt 编译通过
运行:段错误
gdb跟踪,program received SIGSEGV,segmentation fault.
from /lib/tls/i686/cmov/libpthread.so.0
不理解,sem_init怎么就会出错呢?(sem_init(mysem,1,3)试过也一样!)
请大家看看,谢谢!!!
|
#include
#include
#include
#include
sem_t mysem;
int main(void)
{
sem_init(&mysem,0,3);
sem_destroy(&mysem);
exit(0);
}
你定义 sem_t *mysem;
这是一个指针,没有初始化,没有给他非配内存, 它这时候这时候只是一个也指针, 自然会出错。
#include
#include
#include
sem_t mysem;
int main(void)
{
sem_init(&mysem,0,3);
sem_destroy(&mysem);
exit(0);
}
你定义 sem_t *mysem;
这是一个指针,没有初始化,没有给他非配内存, 它这时候这时候只是一个也指针, 自然会出错。