首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译错误"SIG_BLOCK未声明“意味着什么?

编译错误"SIG_BLOCK未声明“意味着什么?
EN

Stack Overflow用户
提问于 2015-05-17 04:54:39
回答 1查看 2K关注 0票数 0

在用error: ‘SIG_BLOCK’ undeclared编译时,我会得到这段代码的错误消息-ansi

sigprocmask(SIG_BLOCK, &my_sig, NULL);

我忘了对某些头文件说清楚了吗?这些是我的包括

代码语言:javascript
复制
#include <sys/stat.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <dirent.h>
#include <errno.h>
#include <stdarg.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/time.h>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-17 06:34:54

您需要告诉编译器您希望定义SIG_BLOCK

来自man sigaction

glibc的特性测试宏要求(请参阅宏(7)): σ-掩码():_POSIX_C_SOURCE >= 1\x{e 010}\x{e76f}\x{e76f}\x{e76f}

所以你可能想通过这个选项

代码语言:javascript
复制
-D_POSIX_SOURCE

代码语言:javascript
复制
-D_POSIX_C_SOURCE=1

比如gcc

另外,您可以将这些“请求”作为预处理指令放在源的顶部:

代码语言:javascript
复制
#define _POSIX_SOURCE
... /* other includes */
#include <signal.h>

代码语言:javascript
复制
#define _POSIX_C_SOURCE 1
 ... /* other includes */
#include <signal.h>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30283507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档