首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有定义sigaction (Visual )

没有定义sigaction (Visual )
EN

Stack Overflow用户
提问于 2022-07-10 10:34:38
回答 1查看 96关注 0票数 0

我试图捕捉一个信号,但是struct sigaction不是在中定义的。以前,这在Ubuntu上与gcc编译器一起工作。一些代码:

代码语言:javascript
复制
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#define  _POSIX_C_SOURCE  199309L

#include <signal.h>
//#include <stdlib.h>

HANDLE hCom;
HANDLE hEvent;

void diediedie(int sig) {
    puts("Bye, brutal world!");
    if (hEvent)
        CloseHandle(hEvent);
    if (hCom)
        CloseHandle(hCom);
    exit(1);
}

int catch_signal(int sig, void (*handler)(int)) {
    struct sigaction action;        // <- this struct
    action.sa_handler = handler;
    sigemptyset(&action.sa_mask);
    action.sa_flags = 0;
    return sigaction(sig, &action, NULL);
}
...some code here...

我阅读了这个主题How do I use sigaction()? struct sigaction is not defined,并定义了_POSIX_C_SOURCE,但它没有帮助。我不明白我应该做什么,以及为什么代码不能工作。有人能为新手解释一下吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-10 10:53:02

对不起,我发现在Windows中我应该只使用void __cdecl *signal(int sig, int (*func)(int, int));

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72927815

复制
相关文章

相似问题

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