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

大龍的博客

常用鏈接

統(tǒng)計(jì)

最新評論

如何理解C run-time library(轉(zhuǎn),只在互聯(lián)網(wǎng),原貼不知處) ----------------- 轉(zhuǎn)

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

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

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

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

4)C run-time library里面含有初始化代碼,還有錯誤處理代碼(例如divide by zero處理)。你寫的程序可以沒有math庫,程序照樣運(yùn)行,只是不能處理復(fù)雜的數(shù)學(xué)運(yùn)算,不過如果沒有了C run-time庫,main()就不會被調(diào)用,exit()也不能被響應(yīng)。因?yàn)镃 run-time library包含了C程序運(yùn)行的最基本和最常用的函數(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)運(yùn)行時庫和靜態(tài)運(yùn)行時庫。
動態(tài)運(yùn)行時庫主要是DLL庫文件msvcrt.dll(or MSVCRTD.DLL for debug build),對應(yīng)的Import library文件是MSVCRT.LIB(MSVCRTD.LIB for debug build)
靜態(tài)運(yùn)行時庫(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里。其實(shí)你的程序運(yùn)行時,很大一部分時間時在這些運(yùn)行庫里運(yùn)行。在你的程序(release版)被編譯時,VC會根據(jù)你的編譯選項(xiàng)(單線程、多線程或DLL)自動將相應(yīng)的運(yùn)行時庫文件(libc.lib,libcmt.lib或Import library msvcrt.lib)鏈接進(jìn)來。

編譯時到底哪個C run-time library聯(lián)入你的程序取決于編譯選項(xiàng):
/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ù)都可完成一種功能,選運(yùn)行時庫函數(shù)好,因?yàn)楦鱾€ C 編譯器的生產(chǎn)商對標(biāo)準(zhǔn)C Run-time library提供了統(tǒng)一的支持.


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

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

posted on 2007-07-13 17:26 大龍 閱讀(337) 評論(1)  編輯 收藏 引用

評論

# re: 如何理解C run-time library(轉(zhuǎn),只在互聯(lián)網(wǎng),原貼不知處) ----------------- 轉(zhuǎn) 2007-08-02 13:48 aa

good  回復(fù)  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久久久久| 欧美国产一区二区| 欧美精品一区三区在线观看| 在线一区二区日韩| 亚洲影院在线| 国产一区亚洲一区| 亚洲国产精品一区制服丝袜| 欧美区一区二| 欧美在线一二三| 蜜臀va亚洲va欧美va天堂| 一区二区欧美亚洲| 午夜精品久久久久久久99樱桃 | 亚洲午夜日本在线观看| 国产精品外国| 欧美韩日精品| 欧美视频网址| 免费观看成人| 国产精品久久久久久久午夜| 榴莲视频成人在线观看| 欧美日韩午夜精品| 久久午夜色播影院免费高清| 欧美日韩精品福利| 久久夜色精品国产欧美乱| 欧美精品一区二区在线播放| 久久久久免费视频| 欧美日韩美女在线| 欧美sm视频| 国产麻豆日韩欧美久久| 亚洲精品欧美在线| 精品1区2区3区4区| 亚洲免费视频观看| 99国产精品久久久久久久| 久久精品成人欧美大片古装| 宅男噜噜噜66一区二区| 欧美 日韩 国产 一区| 久久xxxx| 国产精品麻豆成人av电影艾秋| 欧美成人网在线| 亚洲国产日韩欧美综合久久| 国产日韩一区二区三区在线| 欧美在线日韩精品| 欧美日韩999| 欧美国产第一页| 国产一区二区按摩在线观看| 在线视频日韩| 宅男在线国产精品| 欧美激情第五页| 欧美国产精品专区| 精东粉嫩av免费一区二区三区| 亚洲欧美成人一区二区在线电影 | 欧美三日本三级三级在线播放| 欧美刺激性大交免费视频| 国产无一区二区| 亚洲一区二区伦理| 亚洲一区www| 欧美日韩中文字幕在线视频| 亚洲人成小说网站色在线| 亚洲国产精品va在线看黑人| 久热re这里精品视频在线6| 久久久久一区二区| 一区二区三区自拍| 久久久久久尹人网香蕉| 免费成人性网站| 亚洲二区视频| 欧美大片在线观看一区二区| 最新高清无码专区| 一本久久青青| 国产精品久久久久久妇女6080| 99re6热在线精品视频播放速度| 日韩一级黄色av| 欧美色网在线| 亚洲伊人伊色伊影伊综合网| 欧美伊久线香蕉线新在线| 国产亚洲一区二区在线观看 | 欧美激情综合五月色丁香| 日韩一级成人av| 午夜欧美不卡精品aaaaa| 国产日韩在线看片| 久久综合久久综合久久综合| 亚洲国产日韩在线| 亚洲影视中文字幕| 国产精品一区久久久| 久久精品一本久久99精品| 亚洲国产免费看| 性欧美办公室18xxxxhd| 国内不卡一区二区三区| 欧美成人精品| 午夜精品久久久久99热蜜桃导演| 久久亚洲综合网| 制服丝袜亚洲播放| 国外成人在线视频网站| 欧美精品一区二区三区在线看午夜| 亚洲视频一区二区免费在线观看| 久久久久久久欧美精品| 亚洲欧洲日韩女同| 国产美女精品一区二区三区| 麻豆久久婷婷| 午夜久久影院| 亚洲人体大胆视频| 久久久久综合网| 一区二区日韩| 在线欧美影院| 国产精品视频免费在线观看| 欧美14一18处毛片| 香蕉久久a毛片| 亚洲精品中文字幕在线| 亚洲国产专区| 欧美jjzz| 日韩网站免费观看| 欧美一区二区三区免费观看| 亚洲高清av在线| 国产色婷婷国产综合在线理论片a| 另类亚洲自拍| 久久www免费人成看片高清| 亚洲精品中文字幕女同| 欧美大片在线看免费观看| 欧美中文字幕在线播放| 亚洲一区视频| 中日韩午夜理伦电影免费| 亚洲精品一区在线观看香蕉| 黄色一区二区三区四区| 国产精品五月天| 欧美午夜在线一二页| 欧美精品在线观看一区二区| 麻豆精品在线视频| 久久久久欧美精品| 久久电影一区| 欧美综合二区| 久久riav二区三区| 久久精品国产久精国产一老狼 | 欧美黑人一区二区三区| 久久久久国产成人精品亚洲午夜| 亚洲欧美日韩区| 午夜欧美精品| 欧美一级夜夜爽| 午夜视频一区在线观看| 先锋影音一区二区三区| 亚洲一区二区在| 午夜激情久久久| 欧美在线视频全部完| 久久精品99| 蜜桃久久av| 欧美激情中文字幕乱码免费| 亚洲国产精品激情在线观看| 亚洲高清视频在线| 亚洲精品色图| 亚洲网站在线| 欧美一区午夜精品| 久久精品亚洲一区二区三区浴池| 久久亚洲国产成人| 欧美高清视频在线| 欧美午夜精品一区| 国产亚洲二区| 亚洲人久久久| 亚洲午夜视频| 久久久久这里只有精品| 欧美激情国产日韩| 一区二区三区高清在线观看| 欧美一区二区三区播放老司机| 久久精品国产视频| 欧美成人免费小视频| 国产精品99一区| 韩国av一区二区| 日韩视频一区二区三区| 亚洲在线一区二区三区| 久久亚洲午夜电影| 亚洲免费观看高清完整版在线观看熊 | 欧美一区二区三区视频在线观看| 久久久久久久久综合| 欧美日韩国产一区二区三区地区| 国产精品欧美精品| 亚洲国产天堂久久综合| 亚洲一二三区在线| 女同一区二区| 亚洲一区二区三区在线观看视频| 久久久欧美精品sm网站| 亚洲一级黄色| 亚洲国产高清aⅴ视频| 亚洲免费一级电影| 美女视频黄 久久| 国产欧美日韩亚洲精品| 亚洲九九爱视频| 久久伊人一区二区| 亚洲视频 欧洲视频| 欧美成人精品一区二区三区| 国产美女精品免费电影| 亚洲美女福利视频网站| 久久琪琪电影院| 亚洲视频香蕉人妖| 欧美激情中文字幕乱码免费| 伊人成年综合电影网| 欧美在线短视频| 一本色道久久综合亚洲精品不 | 亚洲精品视频免费观看| 久久av在线看| 国产欧美视频一区二区三区|