青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

brent's hut

如何理解C run-time library

如何理解C run-time library(轉(zhuǎn),只在互聯(lián)網(wǎng),原貼不知處)
注: 以下內(nèi)容部分引自CSND中相關(guān)討論的帖子,并結(jié)合自己的理解整理而成。僅供參考。

1)運行時庫就是 C run-time library,是 C 而非 C++ 語言世界的概念:取這個名字就是因為你的 C 程序運行時需要這些庫中的函數(shù).

2)C 語言是所謂的“小內(nèi)核”語言,就其語言本身來說很?。ú欢嗟年P(guān)鍵字,程序流程控制,數(shù)據(jù)類型等);所以,C 語言內(nèi)核開發(fā)出來之后,Dennis Ritchie 和 Brian Kernighan 就用 C 本身重寫了 90% 以上的 UNIX 系統(tǒng)函數(shù),并且把其中最常用的部分獨立出來,形成頭文件和對應(yīng)的 LIBRARY,C run-time library 就是這樣形成的。

3)隨后,隨著 C 語言的流行,各個 C 編譯器的生產(chǎn)商/個體/團體都遵循老的傳統(tǒng),在不同平臺上都有相對應(yīng)的 Standard Library,但大部分實現(xiàn)都是與各個平臺有關(guān)的。由于各個 C 編譯器對 C 的支持和理解有很多分歧和微妙的差別,所以就有了 ANSI C;ANSI C (主觀意圖上)詳細的規(guī)定了 C 語言各個要素的具體含義和編譯器實現(xiàn)要求,引進了新的函數(shù)聲明方式,同時訂立了 Standard Library 的標準形式。所以C運行時庫由編譯器生產(chǎn)商提供。至于由其他廠商/個人/團體提供的頭文件和庫函數(shù),應(yīng)當(dāng)稱為第三方 C 運行庫(Third party C run-time libraries)。

4)C run-time library里面含有初始化代碼,還有錯誤處理代碼(例如divide by zero處理)。你寫的程序可以沒有math庫,程序照樣運行,只是不能處理復(fù)雜的數(shù)學(xué)運算,不過如果沒有了C run-time庫,main()就不會被調(diào)用,exit()也不能被響應(yīng)。因為C run-time library包含了C程序運行的最基本和最常用的函數(shù)。


5)到了 C++ 世界里,有另外一個概念:Standard C++ Library,它包括了上面所說的 C run-time library 和 STL。包含 C run-time library 的原因很明顯,C++ 是 C 的超集,沒有理由再重新來一個 C++ run-time library. VC針對C++ 加入的Standard C++ Library主要包括:LIBCP.LIB, LIBCPMT.LIB和 MSVCPRT.LIB

6)Windows環(huán)境下,VC提供的 C run-time library又分為動態(tài)運行時庫和靜態(tài)運行時庫。
動態(tài)運行時庫主要是DLL庫文件msvcrt.dll(or MSVCRTD.DLL for debug build),對應(yīng)的Import library文件是MSVCRT.LIB(MSVCRTD.LIB for debug build)
靜態(tài)運行時庫(release版)對應(yīng)的主要文件是:
LIBC.LIB (Single thread static library, retail version)
LIBCMT.LIB (Multithread static library, retail version)

msvcrt.dll提供幾千個C函數(shù),即使是像printf這么低級的函數(shù)都在msvcrt.dll里。其實你的程序運行時,很大一部分時間時在這些運行庫里運行。在你的程序(release版)被編譯時,VC會根據(jù)你的編譯選項(單線程、多線程或DLL)自動將相應(yīng)的運行時庫文件(libc.lib,libcmt.lib或Import library msvcrt.lib)鏈接進來。

編譯時到底哪個C run-time library聯(lián)入你的程序取決于編譯選項:
/MD, /ML, /MT, /LD?? (Use Run-Time Library)
你可以VC中通過以下方法設(shè)置選擇哪個C run-time library聯(lián)入你的程序:
To find these options in the development environment, click Settings on the Project menu. Then click the C/C++ tab, and click Code Generation in the Category box. See the Use Run-Time Library drop-down box.

從程序可移植性考慮,如果兩函數(shù)都可完成一種功能,選運行時庫函數(shù)好,因為各個 C 編譯器的生產(chǎn)商對標準C Run-time library提供了統(tǒng)一的支持.


------------------------------------------------------------------------------

MSDN上對每個Runtime的函數(shù)都有Compatibility解釋.
如Debug Routines中的_CrtSetAllocHook和_CrtDbgReport就只在Win NT, Win 95下支持...
就是說如果想要在ANSI環(huán)境下實現(xiàn)內(nèi)存泄漏的報告,就可能要自己實現(xiàn)了.
但ANSI中支持的運行庫資料不知道在哪里找

posted on 2006-05-29 12:11 brent 閱讀(1745) 評論(1)  編輯 收藏 引用 所屬分類: C++

評論

# re: 如何理解C run-time library 2007-09-21 16:51 Ss

夠詳細、好東東  回復(fù)  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区三区日韩| 日韩五码在线| 久久精品一区二区三区中文字幕 | 免费日韩一区二区| 午夜精品久久久久久久99水蜜桃| 亚洲精品久久久久| 亚洲美女91| 亚洲伦理在线观看| 亚洲电影在线观看| 亚洲精品日韩在线观看| 日韩视频一区二区三区在线播放| 欧美一区二区三区在线观看| 亚洲国产另类精品专区| 久久精品女人的天堂av| 你懂的亚洲视频| 欧美精品1区2区| 欧美日韩伊人| 亚洲国产乱码最新视频| 欧美一区二区高清| 亚洲激情偷拍| 久久久久成人精品免费播放动漫| 亚洲区中文字幕| 午夜国产精品视频免费体验区| 久久综合久久综合久久| 亚洲欧美精品在线观看| 欧美日韩在线视频一区| 亚洲区一区二| 欧美黄色精品| 欧美顶级艳妇交换群宴| 久久视频在线看| 亚洲国产小视频| 国产精品美女久久久久久久| 亚洲午夜精品| 亚洲区第一页| 亚洲欧美视频在线观看视频| 免费一级欧美片在线观看| 亚洲精品乱码久久久久久黑人| 亚洲一区日韩在线| 亚洲一级免费视频| 免费人成网站在线观看欧美高清| 亚洲精品久久久久久一区二区| 欧美在线电影| 国产精品高潮呻吟| 一本久道久久综合狠狠爱| 免费看的黄色欧美网站| 香蕉久久国产| 国产三区精品| 亚洲主播在线| 亚洲免费观看高清完整版在线观看熊| 欧美中文字幕在线播放| 国产精品入口麻豆原神| 亚洲天堂视频在线观看| 亚洲国产美女精品久久久久∴| 欧美中文字幕在线| 国产一区二区福利| 久久成人免费电影| 亚洲欧洲av一区二区| 国产精品高潮粉嫩av| 亚洲欧美视频一区| 亚洲一区二区三区在线观看视频| 欧美视频一区二| 亚洲一区二区在线免费观看视频| 日韩视频免费| 欧美性事免费在线观看| 亚洲视频二区| 亚洲一区二区视频| 国产欧美一区二区精品秋霞影院| 午夜精品久久久久久久男人的天堂| 中日韩美女免费视频网站在线观看| 欧美成人亚洲成人日韩成人| 国产精品一区二区欧美| 亚洲综合视频网| 亚洲午夜精品| 国产综合欧美在线看| 久久国产黑丝| 久久精品国产清自在天天线| 国产一区二区日韩精品| 噜噜噜91成人网| 欧美暴力喷水在线| 一本一本久久a久久精品综合妖精| 亚洲精选中文字幕| 欧美丝袜一区二区三区| 亚洲一区国产精品| 欧美一区二区精品| 亚洲国产一区在线观看| 999亚洲国产精| 国产一区二区按摩在线观看| 欧美韩日一区| 国产精品久久久久久久午夜片| 香蕉亚洲视频| 久久综合一区二区三区| 中国成人亚色综合网站| 欧美一区二区播放| av成人激情| 久久都是精品| 亚洲午夜一区二区三区| 久久国产日韩欧美| 亚洲专区在线| 麻豆精品一区二区综合av| 亚洲一区二区三区久久| 久久久久久久综合狠狠综合| 亚洲视频欧美在线| 久久久久久伊人| 亚洲午夜伦理| 久久亚洲影音av资源网| 亚洲欧美另类国产| 欧美激情亚洲一区| 久久综合九色九九| 国产女主播一区二区三区| 最新国产乱人伦偷精品免费网站| 国产视频精品网| 在线亚洲成人| 夜夜精品视频| 女人天堂亚洲aⅴ在线观看| 久久福利电影| 国产精品美女久久久| 亚洲娇小video精品| 狠狠色综合一区二区| 午夜精品美女自拍福到在线| 亚洲神马久久| 欧美裸体一区二区三区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美呦呦网站| 一本色道久久88综合日韩精品| 国产精品久久久91| 亚洲欧洲中文日韩久久av乱码| 狠狠色伊人亚洲综合成人| 亚洲午夜免费视频| 亚洲一级二级| 欧美视频中文字幕| 99riav久久精品riav| 99re6热只有精品免费观看| 裸体素人女欧美日韩| 久久影音先锋| 樱花yy私人影院亚洲| 久久九九热re6这里有精品| 久久成人免费日本黄色| 国产欧美精品一区二区三区介绍 | 国产一区二区三区电影在线观看| 亚洲一区二区三区777| 亚洲欧美日韩国产中文| 国产精品v欧美精品v日本精品动漫| 91久久香蕉国产日韩欧美9色| 亚洲人成久久| 欧美伦理91| 亚洲视频在线观看| 久久aⅴ国产欧美74aaa| 黑人一区二区三区四区五区| 久久精品国产欧美激情| 免费看亚洲片| 99pao成人国产永久免费视频| 欧美日韩三区四区| 亚洲免费网址| 蜜臀av性久久久久蜜臀aⅴ| 亚洲国产精品电影在线观看| 欧美黑人在线观看| 中日韩午夜理伦电影免费| 久久精品99| 91久久精品国产| 国产精品国产三级国产专播精品人 | 欧美成人日韩| 一本大道av伊人久久综合| 国产精品久久久久久久久搜平片| 性色av一区二区三区在线观看| 久久亚洲精品伦理| 99re6热在线精品视频播放速度| 国产精品成人aaaaa网站| 亚洲欧美日韩专区| 亚洲高清在线精品| 午夜日韩在线观看| 亚洲经典在线| 国产精品亚发布| 嫩草成人www欧美| 亚洲欧美成人一区二区在线电影| 久久中文字幕一区| aa亚洲婷婷| 伊大人香蕉综合8在线视| 欧美日韩国产在线| 久久午夜激情| 亚洲综合999| 亚洲三级观看| 麻豆成人综合网| 亚洲欧美日本国产有色| 亚洲国产欧美不卡在线观看| 国产精品久久久久久久久免费桃花 | 亚洲日本成人| 另类亚洲自拍| 亚洲一区国产精品| 亚洲精品乱码久久久久久| 国产精品揄拍500视频| 欧美日韩国产123| 久久躁狠狠躁夜夜爽| 亚洲欧美日韩区| 一区二区三区四区五区在线| 欧美α欧美αv大片| 久久激情视频| 亚洲欧美日韩在线| 亚洲图片在区色| 亚洲深夜福利在线| 一区二区三区四区蜜桃|