gpt4 book ai didi

posix - 如何以兼容 posix 的方式获得最大信号数?

转载 作者:行者123 更新时间:2023-12-04 14:26:09 27 4
gpt4 key购买 nike

更新:整个问题出在一条错误线上,这是我的 C++ 代码中的语法错误。

在 Linux 上我发现

#define _NSIG            64

asm-generic/signal.h ,但我认为包括它不会是一个真正符合标准的解决方案。
signal.h在 glibc 中使用这个 _NSIG定义,但它隐藏在包含-定义-undef-ifdef 和类似预处理器命令的复杂结构后面,并且在简单的 #include <signal.h> 之后它不是可见的符号。 .

我只是在寻找一种方法来找到我可以给 sigaction 的最大符号以及类似的信号处理 api 调用,包括实时信号。它以某种方式可能吗?

最佳答案

POSIX.1-2001 标准要求定义 SIGRTMINSIGRTMAX .在 linux 上,它们是使用 _NSIG 定义的。

要与 POSIX 兼容,请使用上述定义而不是直接使用 _NSIG

#include <stdio.h>
#include <signal.h>

int main() {
printf("%lu\n", SIGRTMAX);
return 0;
}

使用 gcc main.cpp 编译时,这会在我的系统上打印 64

关于posix - 如何以兼容 posix 的方式获得最大信号数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32427793/

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