陣列 棧(Linux環境下)

2021-09-23 22:43:57 字數 952 閱讀 5563

linux環境下執行結果

/* demonstration of buffer overflow */

#include #include /* implementation of library function gets() */

char *gets(char *dest)

*p = '\0';

return dest;

}/* read input line and write it back */

void echo()

void call_echo()

/*void smash()

*/int main()

此**用於檢測陣列元素的儲存。

gets //gets從標準輸入裝置讀字串函式,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程式設計師應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢位。gets解釋

puts //puts()函式用來向標準輸出裝置(螢幕)輸出字串並換行,具體為:把字串輸出到標準輸出裝置,將』\0』轉換為回車換行。其呼叫方式為,puts(s);其中s為字串字元(字串陣列名或字串指標)。puts解釋

exit(0); //exit()是c語言中的乙個終止函式。exit() 結束當前程序/當前程式/,在整個程式中,只要呼叫 exit ,就結束。exit解釋

當輸入字串長度小於4時,資料儲存在陣列定義的儲存空間。當輸入字串長度超過4時,字串中超過的字元會自動存入棧中,輸出時為出棧。

使用 objdump -s a.out 可檢視相應**的彙編**。

Linux下Apache Python環境搭建

一.環境說明 1.系統環境 centos release 5.4 final 2.軟體版本 apache 2.2.3 python 2.6.6 mod python 3.3.1 二.安裝apache 安裝過程略。2.如果使用系統自帶的apache,則需要檢視系統是否安裝httpd devel包。操作...

Linux環境下FTP環境搭建

目錄 一 安裝 ftp 服務 二 檢視當前 ftp 服務狀態 三 通過 service 的方式來 啟動 檢視 停止和重啟 ftp服務 四 通過指令碼的方式來 啟動 檢視 停止和重啟 ftp服務 root localhost data rpm q vsftpd 檢查ftp服務是否安裝,如果沒有安裝則安...

linux下列印呼叫棧

include include include include stacktrace.h 列印呼叫棧的最大深度 define dump stack depth max 16 列印呼叫棧函式 void dump trace char stack strings null int stack depth...