关于Linux下编译C文件出现storge size of ‘act‘ isn‘t know和never include <bits/sigaction.h> directory:usr<signal

在编程中遇到struct sigaction使用时报错,提示找不到act的存储大小。尝试加入头文件#include< bits/sigaction.h >,但编译器建议使用#include< signal.h >。最终仅包含<head>signal.h</head>解决了问题,虽然不清楚为何其他博主可以使用bits/sigaction.h。通过locatesigaction.h和locatesignal.h命令查看两个头文件,了解其区别。

1.出现以下问题:这个是在使用struct sigaction act;中出现了问题

提示:可以看到提示我们说“不知道这个act的存储大小” ,那就说明找不到,很有可能是缺少什么头文件:

网上提示我们加入头文件:#include<bits/sigaction.h>

如果我们现在加入头文件:#include<bits/sigaction.h>的话,会出现下面的问题。

提示:关于这个错误,意思是说提示我们使用#include<signal.h>头文件代替。 

现在我们只使用头文件#include<signal.h>

提示:编译没有什么问题了;所以只需要加入头文件 #include<signal.h>;(但是我并不知道到为什么其他博主加入#include<bits/sigaction.h>头文件可以)。

如果要看#include<bits/sigaction.h>和 #include<signal.h>可以使用如下的命令:

locate sigaction.h

locate signal.h

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值