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

大龍的博客

常用鏈接

統(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>
            狂野欧美激情性xxxx欧美| 亚洲综合日本| 欧美丝袜一区二区三区| 欧美日韩一区二区视频在线观看| 蜜桃av久久久亚洲精品| 久久综合给合久久狠狠狠97色69| 欧美一级片一区| 午夜精彩视频在线观看不卡 | 亚洲影音一区| 欧美韩日视频| 午夜精品一区二区三区在线播放| 欧美 亚欧 日韩视频在线| 日韩性生活视频| 国产日韩成人精品| 国产精一区二区三区| 欧美电影在线播放| 欧美成人精品1314www| 香蕉免费一区二区三区在线观看 | 亚洲国产成人精品视频| 欧美一级成年大片在线观看| 亚洲欧美制服另类日韩| 亚洲欧美日韩国产综合在线| 亚洲欧美日本日韩| 久久成人精品| 免费欧美日韩国产三级电影| 欧美二区在线| 99视频精品全部免费在线| 在线综合+亚洲+欧美中文字幕| 亚洲视频在线看| 久久国产福利| 亚洲一区国产精品| 欧美黄色一区| 欧美不卡视频一区发布| 美女啪啪无遮挡免费久久网站| 国产精品99久久不卡二区| 亚洲精品美女在线观看播放| 国产在线拍揄自揄视频不卡99| 欧美二区在线观看| 亚洲成色www8888| 亚洲国产精品成人| 亚洲久久视频| 亚洲影院免费观看| 久久午夜视频| 国产精品扒开腿做爽爽爽软件 | 欧美成人午夜激情视频| 欧美日本免费| 国产欧美午夜| 亚洲国产成人精品女人久久久| 在线视频欧美日韩| 久久九九热免费视频| 亚洲国产精品一区| 亚洲男人影院| 欧美精品一区三区在线观看| 国产乱码精品一区二区三| 亚洲国产成人午夜在线一区| 亚洲免费网站| 最新中文字幕亚洲| 久久久水蜜桃| 国产欧美精品xxxx另类| 一区二区三区色| 欧美成人免费在线| 欧美一级视频精品观看| 欧美日韩视频第一区| 在线日韩成人| 久久精品夜夜夜夜久久| 99视频一区| 欧美精品日韩一区| 亚洲国产日韩一级| 蜜桃av噜噜一区| 欧美在线网址| 国产欧美日韩免费| 亚洲制服av| 欧美超级免费视 在线| 小黄鸭精品密入口导航| 国产精品社区| 欧美伊人久久久久久久久影院| 99在线精品视频| 欧美日韩精品一区二区三区| 亚洲区一区二| 亚洲一区二区三区四区中文| 亚洲欧美一区二区在线观看| 欧美成年网站| 久久aⅴ国产紧身牛仔裤| 亚洲一区日本| 欧美激情精品久久久久久蜜臀 | 欧美午夜精品理论片a级按摩| 亚洲国产精品www| 嫩草国产精品入口| 日韩亚洲精品在线| 欧美激情亚洲一区| 国产欧美日本| 午夜欧美精品| 亚洲免费高清| 免费91麻豆精品国产自产在线观看| 国产精品卡一卡二卡三| 亚洲午夜av电影| 亚洲二区在线视频| 欧美gay视频| 亚洲一区二区影院| 亚洲免费影视第一页| 国产精品一区二区久久久| 久久gogo国模裸体人体| 久久精品国产在热久久| 亚洲黄色影院| 99国内精品| 国产欧美一区二区三区在线看蜜臀| 久久精品国产一区二区三区免费看| 欧美影院一区| 亚洲另类黄色| 亚洲欧美激情一区| 伊人久久亚洲美女图片| 亚洲国产午夜| 国产精品中文字幕欧美| 久久综合一区二区| 欧美激情乱人伦| 香蕉久久国产| 美女福利精品视频| 亚洲永久免费av| 欧美在线高清视频| 日韩一区二区电影网| 午夜精品国产更新| 91久久在线视频| 亚洲欧美国产一区二区三区| 亚洲国产高清在线| 亚洲一区在线播放| 亚洲人成在线观看| 欧美一区三区二区在线观看| 99国产精品久久久久久久成人热| 午夜精品久久久久久久| 日韩视频免费观看高清完整版| 欧美亚洲日本一区| 中文日韩电影网站| 美女久久网站| 欧美激情亚洲自拍| 国产亚洲一区二区三区在线播放 | 免费欧美日韩国产三级电影| 久久精品国产欧美亚洲人人爽| 在线观看一区二区视频| 欧美人与禽性xxxxx杂性| 99视频精品免费观看| 亚洲无线视频| 亚洲精品一区二区三区四区高清 | 欧美一级在线播放| 亚洲精品日本| 久久狠狠一本精品综合网| 翔田千里一区二区| 国产精品爱啪在线线免费观看| 亚洲国产一区二区三区青草影视| 国产亚洲在线观看| 亚洲免费视频在线观看| 亚洲欧美日韩精品久久| 欧美午夜www高清视频| 日韩视频在线免费| 一区二区三区高清在线| 欧美国产在线电影| 亚洲电影在线播放| 亚洲成人资源| 久久久久久久91| 裸体素人女欧美日韩| 国产亚洲va综合人人澡精品| 亚洲一区二区在线观看视频| 一区二区免费在线视频| 欧美激情免费在线| 亚洲大黄网站| 亚洲韩国日本中文字幕| 久久久亚洲人| 狂野欧美激情性xxxx| 黄色成人av网站| 久久久久综合一区二区三区| 麻豆精品一区二区综合av| 国产主播一区| 久久久噜噜噜久久| 亚洲国产免费看| 国产精品99久久久久久久vr | 国产欧美精品一区| 香蕉久久一区二区不卡无毒影院| 久久精品国产成人| 在线精品福利| 欧美在线视频免费| 欧美日韩国产综合视频在线观看中文| 老色批av在线精品| 国产欧美精品xxxx另类| 久久婷婷久久| 日韩视频在线免费观看| 亚洲一区二区在线免费观看视频 | 欧美一区二区三区四区视频| 亚洲精品综合久久中文字幕| 亚洲欧美另类在线| 久久综合99re88久久爱| 国产精品日韩二区| 99精品国产在热久久婷婷| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲免费成人| 欧美中在线观看| 亚洲综合精品一区二区| 欧美日韩99| 亚洲欧美日韩国产成人| 久久综合国产精品| 在线视频免费在线观看一区二区| 国产情侣久久|