老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

C語言最短的崩潰程序分析

本篇內容主要講解“C語言最短的崩潰程序分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C語言最短的崩潰程序分析”吧!

創新互聯建站是專業的蘇尼特左網站建設公司,蘇尼特左接單;提供成都網站建設、網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行蘇尼特左網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

通常學生們要么嘗試反向引用一個非法地址,要么就是除0.除0會引發SIGFPE信號(浮點異常)。這里有一個小例子程序,使用除零方法來使之崩潰:

int main()  {      return 1/0;  }

我們也可以刪掉return關鍵字,但是當我這么做的時候gcc不會為這些語句生成可執行代碼,即便優化選項被disable掉了。我們還可以通過把上面的語句改成賦值語句,使上面的代碼改變一些特征:

i;  int main()  {      i=1/0;  }

注意我聲明了一個沒有類型的i。這樣的代碼在C89標準里是有效的,因為所有的聲明都有隱形的缺省類型int。在C99和其他一些C標準里這是一個錯誤。假定我們寫的是C89代碼,那么我們甚至可以使用隱形int來聲明main函數:

i;  main()  {      i=1/0;  }

那是相當短的代碼了 — 如果我們不把用于縮進的空格計算進來,只有16個字符。然而,我們還可以做得更好!

當C程序在編譯的時候,編譯器會產生一個或更多對象文件,文件里有對于用到的庫和全程對象(函數和變量)的符號索引。然后這些對象文件會被進行鏈接,這時符號索引被地址所代替,就產生了一個可執行文件。

編譯器在一個對象文件里提供了一個調用main函數的入口點。調用main函數意味著我們試圖執行在存儲在main函數鏈接的位置所對應地址里的指令。

有趣的是,鏈接器對于不同對象的類型是沒有概念的,它只知道它們的地址。所以,如果我們用一個常規的全程變量替換main函數,編譯器會高興地build對象文件,因為它不關心對象main的類型是什么;鏈接器也會高興地鏈接它,因為它只關心main函數對應的地址。

所以,考慮這個C程序:

int main=0;

這個程序會編譯成一個可執行文件,它會試圖調用地址0,而0并不是我們能夠訪問的地址,這樣我們會得到SIGSEGV信號(分段錯誤)。

更正:我前面關于這個程序崩潰的原因分析是錯的。這個程序會試圖按函數方式去執行main,而這樣不會奏效,因為編譯器把它放到了不可執行的數據段。所以變量main初始化為什么值都無所謂了。(感謝Zack的糾正)

現在我們已經非常接近最小的崩潰的C程序了。我們可以利用這個技巧,配合隱形int類型,來把它進一步縮短。

main=0;

還有,C里的全局變量都會隱形地初始化為0,所以上面的代碼就等同于:

main;

好了,現在我們得到了最短的崩潰的C程序!

補充:

Hacker News用戶femto指出,編譯和鏈接一個空文件也是可能的。我沒有發布這個是因為gcc會拒絕編譯和鏈接這樣的程序,它會要求分開編譯和鏈接的過程。

到此,相信大家對“C語言最短的崩潰程序分析”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!


網頁名稱:C語言最短的崩潰程序分析
標題URL:http://www.xueling.net.cn/article/ijshos.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 色欲AV无码无在线观看 | a级毛片免费全部播放无码 一区二区在线免费观看视频 | 办公室1战4波多野结衣在线观看 | AV无码专区 | 国产免费小视频 | 亚洲激情一级片 | 国产区欧美区日韩区 | 1204国产成人精品视频 | 中文字幕AV久久无码人妻中文 | 靠比视频免费观看 | 免费看美女毛片 | 国内a∨免费播放 | 亚欧洲乱码视频一二三区 | 色综合久久久无码中文字幕 | 被按摩师玩弄到潮喷在线播放 | 国产精品国产三级国产av品爱网 | a级毛片免费高清视频 | 狠狠色综合7777久夜色撩人 | 亚洲欧美日韩国产专区一区 | 中文字幕亚洲乱码熟女在线萌芽 | 国产成人av在线 | 国产99视频在线观看 | 在教室伦流澡到高潮H强圩动漫 | 亚洲欧洲在线看 | 天天干夜夜春夜夜爽 | 亚洲不卡av一区二区三区 | 国产亚洲欧美日韩俺去了 | 欧美图一区 | jizzjizz日本护士视频 | 18禁超污无遮挡无码免费网站国产 | a视频在线免费看 | 日日噜噜噜噜人人爽亚洲精品 | 国产又粗又黄又爽的A片精华 | 在线中文字幕播放 | 色综合视频一区二区三区日韩 | 欧美成人bangbros | 亚洲国产精品久久久久爰色欲 | 国产午夜福利精品一区二区三区 | 成全视频在线观看大全腾讯地图 | 人妻人人做人碰人人添 | 日韩人妻熟女中文字幕A美景之屋 |