首页 > 编程语言 >C++系列一:语言基础-杂烩2

C++系列一:语言基础-杂烩2

时间:2023-08-14 11:56:29浏览次数:37  
标签:系列 信号处理 程序 杂烩 C++ 终止 include

@

目录

前言:

继续……

信号处理

  1. 信号是由操作系统传给进程的中断,会提早终止一个程序。
  2. 头文件 中。
SIGABRT	程序的异常终止,如调用 abort。
SIGFPE	错误的算术运算,比如除以零或导致溢出的操作。
SIGILL	检测非法指令。
SIGINT	程序终止(interrupt)信号。
SIGSEGV	非法访问内存。
SIGTERM	发送到程序的终止请求。 

#include <iostream>
#include <csignal>
#include <unistd.h>
using namespace std;
void signalHandler( int signum )
{
    cout << "中断信息("<<signum<<")";
    exit(signum); // 退出信息   
}
 
int main ()
{
    // 注册信号 SIGINT 和信号处理程序
    //CTRL+C中断
    signal(SIGINT, signalHandler);  
    while(1){
       cout << "test……" << endl;
       sleep(1);
    }
    //或者  raise() 生成信号
    while(++i){
    cout << "test……" << endl;
    if( i == 3 ){ raise( SIGINT);}
    sleep(1);
    }
    return 0;
}

标签:系列,信号处理,程序,杂烩,C++,终止,include
From: https://www.cnblogs.com/zhouyitty/p/17619299.html

相关文章

  • C++容器---关联式容器<set>&<multiset>
    由于multiset和set相差不大,所以基本以set做练习;集合(Set)是一种包含已排序(升序)对象的关联容器。set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。集合元素既充当数据,又充当关键码,以升序的顺序存储;multiset中的元素可以重复。1)不能直......
  • C++容器---关联式容器<map>&<multimap>
    由于multimap和map相差不大,所以基本以map做练习;集合(map)是一种包含已排序(升序)对象的关联容器。map/multimap会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。集合元素的第一个参数是key,第二个元素当做value,元素的顺序与key有关,与value无关;模板原......
  • 关于CH32系列MCU SDI虚拟串口功能的使用
    该功能需要配合EVT对应例程以及对应WCH-LinkUtility工具使用,WCH-LinkUtility下载链接如下:https://www.wch.cn/downloads/WCH-LinkUtility_ZIP.html该功能目前仅支持以下型号MCU,如下图,且需要配合WCH-LinkE使用,具体可见WCH-Link使用说明5.2.11小节,WCH-Link使用说明下载链接如下:ht......
  • 基于C#的消息处理的应用程序 - 开源研究系列文章
          今天讲讲基于C#里的基于消息处理的应用程序的一个例子。我们知道,Windows操作系统的程序是基于消息处理的。也就是说,程序接收到消息代码定义,然后根据消息代码定义去处理对应的操作。前面有一个博文例子(C#程序的启动显示方案(无窗口进程发送消息)-开源研究系列文......
  • python打包库nuitka测试 是否和c++的速度差不多
    nuitka一个打包py脚本的库原理是把py代码转成c++代码再重新编译宣传的优点是打包的程序速度快占用空间小用了一些时间了突然想测试一下性能是否和宣传的一样写了一个输出一百万以内素数个数的脚本 打包成exe结果  不打包执行 说实话挺失望还剩一个优点空间......
  • C++使用new来初始化指向类的指针
    C++使用new来初始化类的指针1.ClassName*p=newClassName;调用默认构造函数。如果类里没有写默认构造函数,会使用编译器帮我们生成的,但不会初始化成员变量,如classNoConstructor//没写构造函数的类{public:~NoConstructor(){}voidprintVal(){......
  • C++ STL 容器简介
    1、总述C++STL(StandardTemplateLibrary)是C++标准库的一部分,包括了许多数据结构的实现,提供了许多好用的轮子,同时,其设计思想也非常值得学习。其中,容器是STL中最重要的一部分,它是一种高效的数据存储和管理方式,能够方便地处理不同类型的数据,并提供许多常用的操作,如插入、删除......
  • 【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别
    参考文章:这里;这里;这里先上结论C++中的string类型可以使用==和!=来判断两个字符串的值是否相等;而JAVA不行,JAVA中==和!=是用来判断两个字符串的地址是否相同(或者说是对象是否相同,即是否为同一个对象)。C++中string#include<iostream>#include<string>usingnamespacestd;intmai......
  • #region在多种编程语言及IDE中进行代码折叠,包括python msvc++ c#等
    vs/rider中折叠C#代码在写C#的时候,在visualstudio中可以使用#region和#endregion来进行代码折叠,那么在pycharm中是否可以呢?//这里有很多的代码......#region//这里的数百行的伪代码,可以直接折叠起来,方便阅读及归类[MenuItem("KEngine/KSFrameworkOptionsandHelp")]priva......
  • c++多线程
    ......