20145309信息安全系統設計基礎第12周學習總結后篇

指針與聲明

  • 聲明

    1、C語言中變量的聲明

    類型(type)
    聲明符(declarator)

    2、最簡單的聲明是變量

    3、指針數組

    • 指針數組是一個數組
    • 數組里的元素都是指針
    • 例:int *daytab[13]

    4、數組指針

    • 數組指針是一個指針
    • 指針指向一個類型和元素個數都固定的數組
    • 例:int (*daytab1)[13]

    5、指針函數

    • 指針函數是函數
    • 函數的返回值是指針類型
    • 例:int *comp()

    6、函數指針

    • 函數指針是指針
    • 指針指向函數
    • 函數名就是函數指針
    • 例:int (*comp1)()

    7、類型識別法:右左右左法

    從變量名開始,先右再左地,交替地一個一個向外看,在紙上寫下:“變量是”
    若向右遇到左圓括號,在紙上寫下:“函數,參數是”,并用同樣的方法處理括號中每一個參數——在紙上寫下:“返回”
    若向右遇到方括號,在紙上寫下:“數組,長度為{方括號的內容},元素類型為”
    若向右遇到右圓括號,什么也不做
    若向左遇到*,在紙上寫下:“指針,指向”
    若向左遇到任何類型,在紙上寫下對應的類型名

    8、自定義類型:typedef

    9、char ((x())[])()

    分析:x是函數,無參數,返回指針,指向數組,長度不確定,元素類型為指針,指向函數,無參數,返回void

    10、char ((x[3])())[5]

    分析:x是數組,長度為3,元素類型為指針,指向函數,無參數,返回指針,指向數組,長度為5,元素類型為char

信號處理

  • 信號

    1、信號是UNIX中使用的進程通信的一種最古老的方法

    2、信號是在軟件層次上對中斷機制的一種模擬,它是比較復雜的通信方式,用于通知進程有某事件發生,一個進程收到一個信號與處理器收到一個中斷請求效果上可以說是一樣的

  • 查看信號信息

    1、命令kill -l

    每個信號都有一個編號和一個宏定義名稱,宏定義可以在signal.h中找到

    2、命令man 7 signal

    查看信號的產生條件、默認處理動作

  • 信號生命周期:信號產生、信號注冊、信號注銷、信號處理

    1、信號產生

    • 用戶產生

    例:在終端中按下Ctrl+C產生SIGINT信號,可以通過stty -a查看可以產生信號的按鍵組合

    • 硬件產生

    硬件異常產生信號,例:當前進程執行了除以0的指令

    • 進程產生

    例:可在shell進程下,使用命令 kill -信號標號 PID,向指定進程發送信號。

    • 內核產生

    例:鬧鐘超時產生SIGALRM信號

    2、信號處理

    • 捕捉信號

命令:man -k signal可以檢索相關函數,通過man 2 signal可以查看signal的幫助文檔

signal(SIGINT,f)演示了如何捕捉信號,這個程序捕捉了中斷信號

void f(int signum)演示了如何定義信號處理函數

  • 忽略信號

忽略中斷信號:把信號處理函數指針傳為SIG_IGN通過grep命令查看SIG_IGN,表示無返回值的函數指針,指針值為1

  • 默認操作

默認信號:SIG_DFL是默認信號的處理程序

通過grep命令查看SIG_DFL,表示無返回值的函數指針,指針值為0

把SIG_IGN改成SIG_DFL

  • 多信號處理

-SIGX打斷SIGX的情況處理方法:1、遞歸,調用同一個處理函數2、忽略第二個信號3、阻塞第二個信號知道第一個處理完畢
  • signal與sigaction

    1、signal:

    不知道信號被發送的原因
    信號處理過程中不能安全地阻塞其他信號

    2、sigaction:

    在信號處理程序被調用時,系統建立的新信號屏蔽字會自動包括正被遞送的信號。因此保證了在處理一個給定的信號時,如果這種信號再次發生,那么它會被阻塞到對前一個信號的處理結束為止

    響應函數設置后就一直有效,不會重置

轉載于:https://www.cnblogs.com/zym0728/p/6132240.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253870.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253870.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253870.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

跨時鐘域電路設計——多bit信號FIFO

多個bit信號的跨時鐘域僅僅通過簡單的同步器同步時不安全的。 如下圖: 雖然信號都同步到目的時鐘域,可完成的功能卻與設計的初衷不相符。 解決方案之一為對信號進行格雷碼編碼,但此方案只適用于連續變化的信號。另一種方案為增加新的控制信號…

嵌入式linux系統中設備驅動程序

嵌入式linux系統中設備驅動程序是內核的一部分,完成對設備初始、讀寫操作和控制等功能。驅動程序隱藏了硬件設備的具體細節,對不同的設備提供一致的接口,這些接口通過file_Operation結構來定義,設計驅動程序的大部分工作就是根據硬…

WPF 打印實例

原文:WPF 打印實例在WPF 中可以通過PrintDialog 類方便的實現應用程序打印功能&#xff0c;本文將使用一個簡單實例進行演示。首先在VS中編輯一個圖形&#xff08;如下圖所示&#xff09;。 將需要打印的內容放入同一個<Canvas>中&#xff0c;并起名為“printArea”&…

mongodb 物理刪除數據

剛開始用mongodb的時候&#xff0c;感覺很好用&#xff0c;速度很快&#xff0c;不過后面就遇到一個問題&#xff0c;數據物理內存一直增加&#xff0c;刪除表也不管用。 然后網上找了各種辦法&#xff0c;最后發現一個辦法管用&#xff0c;就是物理刪除存儲數據。 操作如下&am…

計數排序、桶排序和基數排序

計數排序 當輸入的元素是 n 個 0 到 k 之間的整數時&#xff0c;它的運行時間是 Θ(n k)。計數排序不是比較排序&#xff0c;排序的速度快于任何比較排序算法。 由于用來計數的數組C的長度取決于待排序數組中數據的范圍&#xff08;等于待排序數組的最大值與最小值的差加上1&a…

靜態時序分析——基礎概念

一、簡述 靜態時序分析是檢查系統時序是否滿足要求的主要手段。以往時序的驗證依賴于仿真&#xff0c;采用仿真的方法&#xff0c;覆蓋率跟所施加的激勵有關&#xff0c;有些時序違例會被忽略。此外&#xff0c;仿真方法效率非常的低&#xff0c;會大大延長產品的開發周期。靜…

linux framebuffer 例子

昨天做的一個極簡單的framebuffer的例子&#xff0c;用來學習怎樣操作fb設備。 這段代碼是在picogl的vesafb backend部分的基礎上簡出來的&#xff0c;所以變量名還保留著。 流程如下&#xff1a; &#xff11; 打開framebuffer設備&#xff1b; &#xff12; 通過ioctl取得f…

加載數據時,頁面顯示正在加載的動畫,支持移動端

最近在使用ionic3做一個移動端APP&#xff0c;在用戶網絡環境差的時候&#xff0c;查詢數據會比較慢&#xff0c;這個時候需要模擬其他成熟的APP給頁面上加入一個加載的動畫。由于一開始我不知道ionic3本身已經提供了一套組件&#xff0c;所以自己先做了一套樣式。提供給不用框…

靜態時序分析——單周期

一、建立時間的檢查 建立時間的檢查是指檢查電路里每一個觸發器的數據和時鐘的關系是否滿足建立時間的要求。 我們以上圖為例進行建立時間檢查。由圖可知&#xff0c;我們主要針對第二個觸發器UFF1進行檢查。我們可以梳理時序關系如下&#xff1a; 通過這個圖&#xff0c;我們…

自己搭建的CISCO實驗環境

交換機&#xff1a;設備型號&#xff1a; CISCO 3750 24-TS 3臺CISCO 3750 48-PS 1臺路由器&#xff1a;設備型號&#xff1a;1.CISCO 2821 3臺2.CISCO 3745 3臺 物理拓撲圖如下&#xff1a; 轉載于:https://blog.51cto.com/zxs3026/2156424

關于大數定律的討論(轉)

科普一下所謂“大數定律的四種證法” 作者 : 王若度最近網上總是調侃數學、統計博士知道所謂“大數定律的四種證法”&#xff0c;本身是模仿《孔乙己》的橋段&#xff0c;用以調侃數學、統計博士學一些沒什么用的東西。其實我是從來沒聽說過大數定律的四種證法這回事的&#x…

DM365 u-boot 啟動分析

第一階段&#xff1a;匯編語言啟動 先看u-boot/board/davinci/dm365_ipnc/下的文件。 u-boot.lds OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SECTIONS { . 0x0000000…

[Luogu1821][USACO07FEB]銀牛派對Silver Cow Party

由題意可知&#xff0c;我們需要求的是很多個點到同一個店的最短距離&#xff0c;然后再求同一個點到很多個點的最短距離。 對于后者我們很好解決&#xff0c;就是很經典的單源最短路徑&#xff0c;跑一邊dijkstra或者SPFA即可。 然而對于前者&#xff0c;我們應該怎么解決呢&a…

CMOS組合邏輯

1. 靜態互補CMOS 實際上就是靜態CMOS反相器擴展為具有多個輸入。更反相器一樣具有良好的穩定性&#xff0c;性能和功耗。 靜態的概念&#xff1a;每一時刻每個門的輸出通過低阻抗路徑連到VDD或VSS上。任何時候輸出即為布爾函數值。動態電路通常依賴把信號暫存在高阻抗節點的電…

繪制泰森多邊形

使用到的數據文件&#xff0c;內容如圖&#xff1a; 代碼&#xff1a; clc; clear; close all; % 導入需要的坐標數據成矩陣 a load(test.txt); x a(:,1); y a(:,2); x x;%獲取坐標的橫坐標 y y;%獲取坐標的縱坐標 %根據點 繪制泰森多邊形 voronoi(x,y); %設定x軸的邊界 x…

(八)限定某個目錄禁止解析php、限制user_agent和PHP相關配置

2019獨角獸企業重金招聘Python工程師標準>>> 限定某個目錄禁止解析php 對于使用php語言編寫的網站&#xff0c;有一些目錄是有需求上傳文件的。如果網站代碼有漏洞&#xff0c;讓黑客上傳了一個用PHP寫的木馬&#xff0c;由于網站可以執行PHP程序&#xff0c;最終會…

靜態時序分析——多周期、半周期和偽路徑

一、多周期 multicycle paths 在一些情況下&#xff0c;如下圖所示&#xff0c;兩個寄存器之間的組合電路傳輸的邏輯延時超過一個時鐘周期。在這樣的情況下&#xff0c;這個組合路徑被定義為多周期路徑&#xff08;multicycle path&#xff09;。盡管后一個寄存器會在每一個的…

微信頭像單張圖片上傳

后臺配置 public function upload_img($img){import(ORG.Tencent.Weixin);$wx new Weixin(get_app_config());$media_data$wx->getMedia($img);$path./Uploads/.uniqid()..jpg;if(!file_put_contents($path,$media_data)){$this->error(圖片上傳失敗);}return $path;}前…

u-boot nand flash read/write cmd

支援的命令函數說明1. nand info/nand device功能&#xff1a;顯示當前nand flash晶片資訊。函數調用關係如下(按先後順序)&#xff1a;static void nand_print(struct nand_chip *nand) ;2. nand erase 功能&#xff1a;擦除指定塊上的數據。 函數調用關係如下(按先後順序)&am…

APP測試瞎話

APP測試 一、功能性 1、APP的安裝、卸載 2、APP中業務功能 二、性能測試 1、高、中、低端機上運行效果 2、APP安裝過程、卸載過程的耗時 3、APP運行時&#xff0c;手機的CPU、內存、耗電量、流量、FPS&#xff08;畫面每…