頭文件引用中尖括號和雙引號的區別及atexit()函數的使用—C/C++程序基礎(九)

頭文件引用中<>和“ ”的區別

#include<head.h>,尖括號<xxx.h>:表明這個文件xxx.h是一個構成或標準頭文件。查找過程會首先檢查預定義的目錄,可以通過設置搜索路徑環境變量或命令行選項來修改這個目錄。

#include"head.h",一對引號"xxx.":表明文件xxx.h是用戶自己提供的頭文件,查找該文件時將從當前文件目錄中尋找文件,然後再標準位置尋找文件。

atexit()函數的使用

當運行的程序運行完畢需要退出的時候,需要有一種與程序退出方式無關的方法來進行程序退出時的必要處理(即,不管你是怎麼退出的,正常退出的,非正常退出的,是運行完了自己退得的,還是遇到問題中間宕掉了,我都可以將資源釋放出來)。

而這也就是atexit函數要解決的問題。

atexit()函數的運行機制是用來註冊程序正常終止時要被調用的函數。並且,在一個程序中,最多可以用atexit()註冊32個處理函數,這些處理函數的調用順序與其註冊的順序相反,即最先註冊的最後調用。被註冊的函數,在main函數運行完後,依次被調用,並且調用順序和,註冊順序相反。

代碼如下:

#include <stdio.h>
#include <stdlib.h>  //atexit()函數在這個庫裏面

void fn1(void);
void fn2(void);

int main(void) 
{
	int x = 6;
	atexit(fn1);
	atexit(fn2);

	printf("main eixt...\n");

	system("pause");
	return 0;
}

void fn1()
{
	printf("所調用的第一個函數\n");
}

void fn2()
{
	printf("所調用的第二個函數\n");
}

(vs編譯器中調試了一下,沒調試出來)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章