一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C Run

 win2zhang 2014-12-21

以下摘自《edyang 語(yǔ)錄》:

記住一個(gè)人,最重要的是記住他/她/它是男人/女人/東東,有沒(méi)有貶過(guò),有沒(méi)有吻過(guò),有沒(méi)有咬過(guò),名字記不住反而關(guān)緊要。

C Run-time Library

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

    大家在學(xué)過(guò)C++之后,可能對(duì)C Runtime Library這個(gè)名字有一定的誤會(huì),可能認(rèn)為是運(yùn)行時(shí)庫(kù)是動(dòng)態(tài)鏈接的,其實(shí)不然,想想C語(yǔ)言其實(shí)沒(méi)有C++的多態(tài)性,不可能做到動(dòng)態(tài)綁定的,所以應(yīng)該只 是一個(gè)庫(kù)的名字而已。在你寫 C 代碼的時(shí)候,用的函數(shù)都是從 C run-time library 的頭文件來(lái)的,編譯連接時(shí)還是要連接 C run-time library 里的庫(kù)函數(shù),運(yùn)行時(shí)用的二進(jìn)制代碼也只不過(guò) C run-time library 里的庫(kù)函數(shù)的 copy 罷了。可能因?yàn)楝F(xiàn)在動(dòng)態(tài)連接庫(kù)太普遍了,所以對(duì)Runtime比較敏感。

    C語(yǔ)言是所謂的“小內(nèi)核”語(yǔ)言,就其語(yǔ)言本身來(lái)說(shuō)很?。ú欢嗟年P(guān)鍵之,程序流程控制,數(shù)據(jù)類型等);所以,C 語(yǔ)言內(nèi)核開發(fā)出來(lái)之后,Dennis Ritchie 和 Brian Kernighan 就用 C 本身重寫了 90% 以上的 UNIX 系統(tǒng)函數(shù),并且把其中最常用的部分獨(dú)立出來(lái),形成頭文件和對(duì)應(yīng)的 LIBRARY,C run-time library 就是這樣形成的??赡苣菚r(shí)還沒(méi)有這個(gè)叫法,Ritchie 和 Kernighan 合著的《The C Programmin Language》第二版中叫做“Standard Library”,不太清楚什么時(shí)候開始有人發(fā)明 C run-time library 的叫法。

    在英語(yǔ)里,C run-time library 是一種很自然而然的叫法。隨后,隨著 C 語(yǔ)言的流行,各個(gè) C 編譯器的生產(chǎn)商/個(gè)體/團(tuán)體都遵循老的傳統(tǒng),在不同平臺(tái)上都有相對(duì)應(yīng)的 Standard Library,但大部分實(shí)現(xiàn)都是于各個(gè)平臺(tái)有關(guān)的。由于各個(gè) C 編譯器對(duì) C 的支持和理解有很多分歧和微妙的差別,所以就有了 ANSI C;ANSI C (主觀意圖上)詳細(xì)的規(guī)定了 C 語(yǔ)言各個(gè)要素的具體含義和編譯器實(shí)現(xiàn)要求,引進(jìn)了新的函數(shù)聲明方式,同時(shí)訂立了 Standard Library 的標(biāo)準(zhǔn)形式。至于由其他廠商/個(gè)人/團(tuán)體提供的頭文件和庫(kù)函數(shù),應(yīng)當(dāng)稱為第三方 C 運(yùn)行庫(kù)(Third party C run-time libraries)。
    C run-time library里面含有初始化代碼,還有錯(cuò)誤處理代碼(例如divide by zero處理)。你寫的程序可以沒(méi)有math庫(kù),程序照樣運(yùn)行,只是不能處理復(fù)雜的數(shù)學(xué)運(yùn)算,不過(guò)如果沒(méi)有了C run-time庫(kù),main()就不會(huì)被調(diào)用,exit()也不能被響應(yīng)。因?yàn)镃 run-time library包含了C程序運(yùn)行的最基本和最常用的函數(shù)。
    到了 C++ 世界里,有另外一個(gè)概念:Standard C++ Library,它包括了上面所說(shuō)的 C run-time library 和 STL。包含 C run-time library 的原因很明顯,C++ 是 C 的超集,沒(méi)有理由再重新來(lái)一個(gè) C++ run-time library. VC針對(duì)C++ 加入的Standard C++ Library主要包括:LIBCP.LIB, LIBCPMT.LIB和 MSVCPRT.LIB
    Windows環(huán)境下,VC提供的 C run-time library又分為動(dòng)態(tài)運(yùn)行時(shí)庫(kù)和靜態(tài)運(yùn)行時(shí)庫(kù)。
動(dòng)態(tài)運(yùn)行時(shí)庫(kù)主要是DLL庫(kù)文件msvcrt.dll(or MSVCRTD.DLL for debug build),對(duì)應(yīng)的Import library文件是MSVCRT.LIB(MSVCRTD.LIB for debug build)
    靜態(tài)運(yùn)行時(shí)庫(kù)(release版)對(duì)應(yīng)的主要文件是:
    LIBC.LIB (Single thread static library, retail version)
    LIBCMT.LIB (Multithread static library, retail version)
    msvcrt.dll提供幾千個(gè)C函數(shù),即使是像printf這么低級(jí)的函數(shù)都在msvcrt.dll里。其實(shí)你的程序運(yùn)行時(shí),很大一部分時(shí)間時(shí)在這些運(yùn) 行庫(kù)里運(yùn)行。在你的程序(release版)被編譯時(shí),VC會(huì)根據(jù)你的編譯選項(xiàng)(單線程、多線程或DLL)自動(dòng)將相應(yīng)的運(yùn)行時(shí)庫(kù)文件 (libc.lib,libcmt.lib或Import library msvcrt.lib)鏈接進(jìn)來(lái)。
    編譯時(shí)到底哪個(gè)C run-time library聯(lián)入你的程序取決于編譯選項(xiàng):
    /MD, /ML, /MT, /LD   (Use Run-Time Library)
    你可以VC中通過(guò)以下方法設(shè)置選擇哪個(gè)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í)庫(kù)函數(shù)好,因?yàn)楦鱾€(gè) C 編譯器的生產(chǎn)商對(duì)標(biāo)準(zhǔn)C Run-time library提供了統(tǒng)一的支持.

引用:http://www./course/3_program/c/c_js/20091112/182209.html

       http://www./htm_data/157/0712/13733.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    丝袜美女诱惑在线观看| 亚洲中文字幕综合网在线| 精品日韩欧美一区久久| 草草草草在线观看视频| 欧美色婷婷综合狠狠爱| 日韩女优视频国产一区| 国产一区二区三区av在线| 91在线爽的少妇嗷嗷叫| 中文人妻精品一区二区三区四区| 午夜福利国产精品不卡| 欧美日本精品视频在线观看| 99久久无色码中文字幕免费| 国产免费人成视频尤物| 国产又粗又硬又长又爽的剧情| 欧美人禽色视频免费看| 国内真实露脸偷拍视频| 午夜精品福利视频观看 | 一区二区三区18禁看| 亚洲精选91福利在线观看| 亚洲精品深夜福利视频| 欧美区一区二在线播放| 台湾综合熟女一区二区| 国产一区二区在线免费| 亚洲熟妇熟女久久精品 | 午夜福利黄片免费观看| 午夜色午夜视频之日本| 99久久无色码中文字幕免费| 国产亚洲欧美另类久久久| 99一级特黄色性生活片| 欧美精品亚洲精品日韩精品| 欧美特色特黄一级大黄片| 亚洲一级在线免费观看| 亚洲av秘片一区二区三区| 国产成人精品在线播放| 国产一区二区久久综合| 激情三级在线观看视频| 日韩女优精品一区二区三区| 黄色在线免费高清观看| 日韩精品一区二区三区四区| 99热在线播放免费观看| 成人区人妻精品一区二区三区|