2018企业网站优化应该怎么做做外贸主要看什么网站

news/2025/10/3 10:21:59/文章来源:
2018企业网站优化应该怎么做,做外贸主要看什么网站,WordPress mk主题,开源网信号处理函数可以正常返回#xff0c;也可以调用其他函数返回到程序的主函数中#xff0c;而不是从处理程序返回。 setjmp/longjmp 使用longjmp可以跳转到setjmp设置的位置 这两个函数原型如下 #includesetjmp.h int setjmp(jmp_buf env); void longjmp(jmp_buf …信号处理函数可以正常返回也可以调用其他函数返回到程序的主函数中而不是从处理程序返回。 setjmp/longjmp 使用longjmp可以跳转到setjmp设置的位置 这两个函数原型如下 #includesetjmp.h int setjmp(jmp_buf env); void longjmp(jmp_buf env,int val); 参数env是一个特殊类型jmp_buf 的变量。这一数据类型是某种形式的数组其中存放的是在调用longjmp时能用来恢复栈状态的所有信息。一般来说env是个全局变量因为需从另一个函数中引用它。我们可以在希望返回的位置使用setjmp,直接调用setjmp时返回0;当从longjmp返回时setjmp的返回值是longjmp的第2个参数的值可以利用这一点使多个longjmp返回到一个setjmp处。 示例程序1 演示这两个函数的用法 #includestdio.h #includeunistd.h #includesignal.h #includesetjmp.h jmp_buf env;//保存待跳转位置的栈信息 void handler_sigrtmin(int signo){printf(recv SIGRTMIN\n);longjmp(env,1);//返回到env处第二个参数是1 } void handler_sigrtminplus1(int signo){printf(recv sigrtmin1\n);longjmp(env,2); } int main(){printf(pid:%d\n,getpid());//打印出本进程的id方便之后使用//设置返回点switch (setjmp(env)){case 0:break;case 1:printf(return from SIGRTMIN\n);break;case 2:printf(return from SIGRTMIN1\n);break;default:break;}signal(SIGRTMIN,handler_sigrtmin);signal(SIGRTMIN1,handler_sigrtminplus1);while (1);return 0; } 程序在main函数内调用setjmp设置了返回点。信号处理函数内部打印出提示信息后没有正常返回而是调用longjmp直接跨函数跳转返回到setjmp处。 执行程序时在一个终端执行本程序在另一个终端用kill命令发送信号 首先打印出pid之后我们打开另一个终端往程序发信号 再回去看看 结果符合预期。 但是就没有问题了吗我们继续用kill发送同样的信号 我们用kill连续发三个同样的信号 但是程序里只响应了一次 这是为什么呢?正如我们在《Linux C编程实战》笔记信号的捕捉和处理-CSDN博客所介绍的信号处理时会自动阻塞正在被处理的信号在信号处理函数返回时把进程的信号屏蔽字恢复即解除对当前信号的阻塞。示例程序没有让信号处理函数正常返回而是使用longjmp直接跳转所以进程的信号屏蔽字在第一次收到信号后 就把信号设置为阻塞并且再也没有恢复因而再也触发不了信号处理函数了除非手动将进程对信号的屏蔽去除。如果既想使用跨函数跳转直接返回又想避免每次都手动清除信号屏蔽的麻烦就要使用下面的函数了。 sigsetjmp/siglongjmp 为了解决信号被屏蔽的问题可以用下面两个函数来解决问题 #includesetjmp.h int sigsetjmp(sigjmp_buf env,int savesigs); void siglongjmp(sigjmp_buf env,int val); 这两个函数和之前的函数的唯一区别就是sigsetjmp多了一个参数savesigs如果savesigs非0则sigsetjmp在env中保存进程的当前信号屏蔽字在调用siglongjmp时会从其中恢复保存的信号屏蔽字。 示例程序2 #includestdio.h #includeunistd.h #includesignal.h #includesetjmp.h #define ENV_UNSAVE 0 #define ENV_SAVED 1 int flag_saveenvENV_UNSAVE; sigjmp_buf env; void handler_sigrtmin(int signo){if(flag_saveenvENV_UNSAVE)return;printf(recv SIGRTMIN\n);sleep(10);printf(in handler_sigrtmin,after sleep);siglongjmp(env,1); } int main(){printf(pid:%d\n,getpid());switch (sigsetjmp(env,1))//第二个参数只要不是0就可以{case 0:printf(return 0\n);flag_saveenvENV_SAVED;break;case 1:printf(return from SIGRTMIN\n);break;default:printf(return else\n);break;}signal(SIGRTMIN,handler_sigrtmin);while (1);return 0; } 本程序的信号处理函数先检查flag_saveenv的值是否为ENV_UNSAVE,如果是则直接返回因为此时程序还没来得及保存返回点的栈状态信息。在sigsetjmp 之后才将flag_ saveenv设置为ENV_ SAVED。如果不这样处理那么当信号发生在调用sigsetjmp之前时信号处理函数将返回到未知地点或程序崩溃(感兴趣的读者可以在sigsetjmp前面加上sleep (20),可以观察到程序崩溃)。使用siglongjmp从信号处理程序返回时都应该这样处理。 这是书上所说的我感觉书上说的情况可能代码是signal放在sigsetjmp之前这样可能没执行sigsetjmp就有信号发生示例的代码是先执行sigsetjmp再绑定的信号处理函数不会发生上面所说的情况 执行流程如图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好听的音乐地址

好听的音乐地址https://www.youtube.com/watch?v=6T6Lj4Sdu6o&list=RD6T6Lj4Sdu6o&start_radio=1本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址,还有个别文章是汇总网上多…

雁塔区住房和城乡建设局网站中宁网站建设公司

随着家庭娱乐需求日益旺盛,越来越多的家庭消费者和游戏玩家开始追求大屏游戏带来的沉浸感。玩家在玩游戏的时候用大屏能获得更广阔的视野和更出色的视觉包围感,因此用大屏玩游戏已经成为了一种潮流。用酷开系统玩大屏游戏,过瘾又刺激&#xf…

服务器和网站维护太原注册公司网站

目录 一、安装XPath 二、XPath的基础语法 1.选取节点 三、使用XPath匹配数据 1.浏览器审查元素 2.具体实例 四、总结 一、安装XPath 控制台输入指令:pip install lxml 二、XPath的基础语法 XPath是一种在XML文档中查找信息的语言,可以使用它在HTM…

网站域名到期登不上是怎么回事想建书画网站怎么做的

第三章:处理机调度与死锁 处理机调度算法的目标 处理机调度算法的共同目标 资源利用率:CPU的利用率CPU有效工作时间/(CPU有效工作时间CPU空闲等待时间)公平性平衡性策略强制执行 批处理系统的目标 平均周转时间短系统吞吐量高处理机利用率高 分时系统的目标 响应时间快均…

旗讯OCR表格识别精准还原复杂表格,识别还原准确率95%+,还能结构化 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

二手车网站制作软件工程师面试常见问题

一、 MySQL建表,字段需设置为非空,需设置字段默认值。二、 MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL。三、 MySQL建表,如果字段等价于外键,应在该字段加索引。四、 MySQL建表&a…

银河麒麟V10服务器桌面SP1、SP2、SP3国防版集采版国防集采版教育版

银河麒麟V10服务器桌面SP1、SP2、SP3国防版集采版国防集采版教育版 下载地址: kylin_gfb.zip 👍

戴尔网站建设规划旅游门户网站有哪些

2023年7月25日至26日,由中国信息通信研究院(简称“中国信通院”)、中国通信标准化协会主办的以“云领创新,算启新篇”为主题的“2023可信云大会”在北京成功举办。会上公布了多项前瞻领域的评估结果和2023年度最佳实践案例&#x…

上海备案证查询网站查询网站查询系统网站建设公司专业网站费用报价

1、 文档目标 解决分布式部署下其他机器如何连接RLMLicense管理器。 2、 问题场景 分布式部署下QAC要在其他机器上单独运行扫描,必须先连接RLMLicense管理器,如何连接? 3、软硬件环境 1、软件版本:HelixQAC23.04 2、机器环境…

凭祥网站建设php怎么做搭建网站

主题是拥抱开源 拥抱开源:开放是互联终端不断增长的主旨和核心——使技术世界变得越来越复杂,联系越来越紧密。在微软,我们专注于向客户提供任何信息支持,即使在任何设备或者在多个平台上。 未来是开放的,未来的云是开…

display ip routing-table故障判断及题目 - 详解

display ip routing-table故障判断及题目 - 详解2025-10-03 10:02 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display…

完整教程:华为eNSP环境安装和命令使用教程

完整教程:华为eNSP环境安装和命令使用教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

分布式架构初识:为什么需要分布式 - 教程

分布式架构初识:为什么需要分布式 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

[IOI 1998 / USACO2.2] 派对灯 Party Lamps 题解 + bitset浅谈

现在有这些按钮:按钮 \(1\):当按下此按钮,将改变所有的灯:本来亮着的灯就熄灭,本来是关着的灯被点亮; 按钮 \(2\):当按下此按钮,将改变所有奇数号的灯; 按钮 \(3\):当按下此按钮,将改变所有偶数号的灯; 按…

解题报告-小 A 的树

小 A 的树 题目描述 小 A 有一棵 \(N\) 个点的树,每个点都有一个小于 \(2^{20}\) 的非负整数权值。现在小 A 从树中随机选择一个点 \(x\),再随机选择一个点 \(y\)(\(x\)、\(y\)可以是同一个点),并对从 \(x\) 到 \…

【React 状态管理深度解析:Object.is()、Hook 机制与 Vue 对比实践指南】 - 教程

【React 状态管理深度解析:Object.is()、Hook 机制与 Vue 对比实践指南】 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font…

2025 --【J+S 二十连测】-- 第一套 总结

总结 T1 考场上很快写出了正解,没有问题 T2 考场上很快写出了正解,但提交时交了两边,故0分 T3 考场上很快写出了正解,没有问题 T4 考场上很快写出了部分分,拿满了,没有问题 题解 T1 照题意模拟即可 代码 #includ…

详细介绍:分布式缓存的正确姿势:Cache-Aside、更新策略与分布式锁在 Java 微服务中的实战

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

企业网站建设的文章太原市做网站

AI的归纳和演绎法分别是什么? AI的归纳和演绎法是两种常见的推理方法。 归纳法(inductive reasoning)是一种从特殊到一般的过程,在有限的实例观察中得出一般规律或原则。用简单的说法,就是从一些具体的事物或情况中总…

做网站大彩票网站开发搭建

《绝地求生》PCL秋季赛的战斗已经全部落下帷幕了,Team Razer 雷蛇战队成员,国内最具人气的4AM战队凭借着在季后赛的出色发挥,以316分的高分碾压全场,成功斩获本次PCL秋季赛的冠军,成为PCL联赛首个双冠队伍。随着金色的…