gpt4 book ai didi

c - 未初始化信号量的值

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:18 28 4
gpt4 key购买 nike

引用linux中semaphore.h的信号量实现,未初始化的信号量sem_t是否默认为0?

我刚刚发现我忘了将我的信号量初始化为 0。即便如此,该程序在没有 sem_init 的情况下仍然运行良好。

(对于所有纯粹主义者,我完全同意这样做是一种不好的做法。)

最佳答案

这将取决于信号量的定义方式/位置。

  • 如果它被定义为一个全局变量(的一部分),如果您没有指定任何值,编译器必须将它初始化为 0
  • 当它是(的一部分)声明为 static 的 block 作用域变量时也是如此。
  • 如果它(的一部分)是一个非static block 作用域变量,那么它将从之前存储在该内存位置的任何值开始。

关于c - 未初始化信号量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3968594/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com