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

Michael's Space

Technology changes the world, serves the people.
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

VC C運行時庫的幾個版本及用法

Posted on 2006-07-27 20:51 奔跑的阿甘 閱讀(11310) 評論(0)  編輯 收藏 引用 所屬分類: SDK/MFC
VC C運行時庫(CRTL)的幾個版本及選用
Michael 2006年7月27日于突尼斯

VC++ C運行時庫(以下簡稱CRTL)是指LIBC.LIB/LIBCMT.LIB/MSVCRT.LIB以及他們對應的DEBUG版本(在名稱后面加"D")。
在VC++ 4.2以前的版本中CRTL包含了C++的iostream庫函數,但是在4.2及以后的版本中(添加了對C++標準庫的支持),iostream庫函數被獨立出來,為支持老的iostream和新的標準iostream函數,4.2及后續版本存在兩套iostream庫,分別是(老的)LIBCI.LIB/LIBCIMT.LIB/MSVCIRT.LIB和(新的)LIBCP.LIB/LIBCPMT.LIB/MSVCPRT.LIB。針對DEBUG版本,分別存在名稱后加"D"的對應庫。并且新老的iostream庫是不兼容的,不能在同一個應用中混合使用。

一 版本特性列表
對CRTL的幾個版本及特性列表(RELEASE&DEBUG Version)如下:
RELEASE版本:
CRTL (without iostream)特性VC編譯選項預編譯宏
LIBC.LIBSingle threaded, static link/ML
LIBCMT.LIBMultithreaded, static link/MT_MT
MSVCRT.LIBMultithreaded, dynamic link (import library for MSVCRT.DLL),對于不同的VC版本對應的DLL名稱不一:
VC1.0-MSVCRT10.DLL
VC2.0-MSVCRT20.DLL
VC4.0-MSVCRT40.DLL
VC4.2-MSVCRT.DLL
VC5.0-MSVCRT.DLL
VC6.0-MSVCRT.DLL
/MD_MT, _DLL

Standard C++ LibraryCharacteristicsOptionDefined
LIBCP.LIBSingle threaded, static link/ML
LIBCPMT.LIBMultithreaded, static link/MT_MT
MSVCPRT.LIBMultithreaded, dynamic link (import library for MSVCRT.DLL),對于不同的VC版本對應的DLL名稱不一:
VC4.2-MSVCPRT.DLL
VC5.0-MSVCP50.DLL
VC6.0-MSVCP60.DLL
/MD_MT, _DLL

Old Iostream LibraryCharacteristicsOptionDefined
LIBCI.LIBSingle threaded, static link/ML
LIBCIMT.LIBMultithreaded, static link/MT_MT
MSVCIRT.LIBMultithreaded, dynamic link (import library for MSVCIRT.DLL)/MD_MT, _DLL

DEBUG版本:
CRTL(without iostream)CharacteristicsOptionDefined
LIBCD.LIBSingle-threaded, static link/MLd_DEBUG
LIBCMTD.LIBMultithreaded, static link/MTd_DEBUG, _MT
MSVCRTD.LIBMultithreaded, dynamic link
(import library for MSVCRxD.DLL)1
/MDd_DEBUG, _MT, _DLL
1???In place of the “x” in the DLL name, substitute the major version numeral of Visual C++ that you are using. For example, if you are using Visual C++ version 4, then the library name would be MSVCR40D.DLL.

Standard C++ Debug LibraryCharacteristicsOptionDefined
LIBCPD.LIBSingle-threaded, static link/MLd_DEBUG
LIBCPMTD.LIBMultithreaded, static link/MTd_DEBUG, _MT
MSVCPRTD.LIBMultithreaded, dynamic link (import library for MSVCRTD.DLL),對于不同的VC版本對應的DLL名稱不一:
VC4.2-MSVCPRTD.DLL
VC5.0-MSVCP50D.DLL
VC6.0-MSVCP60D.DLL
/MDd_DEBUG, _MT, _DLL

iostream Debug LibraryCharacteristicsOptionDefined
LIBCID.LIBSingle threaded, static link/MLd_DEBUG
LIBCIMTD.LIBMultithreaded, static link/MTd_DEBUG, _MT
MSVCIRTD.LIBMultithreaded, dynamic link (import library for MSVCIRTD.DLL)/MDd_DEBUG, _MT, _DLL


二 單線程(Single threaded)和多線程(Multithreaded)的區別

簡單地說,單線程版本提供的CRTL函數不是可重入(Re-entrant)的(只有少部分函數是可重入),多線程版本提供的CRTL函數是可重入的。
對于多線程應用程序來說,如果使用單線程的CRTL將可能導致數據崩潰,因為在同一時間可能有多個線程同時訪問CRTL函數中的某個靜態數據,這個數據在單線程CRTL中不受保護(如果訪問的是棧數據,則沒有問題,因為棧的數據在每個獨立線程中分配)。所以,此時需要使用多線程的CRTL,如果堅持使用單線程CRTL,應用程序必須親自對數據共享訪問進行保護處理,比如設立臨界區。

三 靜態鏈接(Static link)和動態鏈接(Dynamic link)的區別


采用靜態鏈接的應用程序發布后不依賴于CRTL,同時該庫中的代碼和數據在該應用程序調用的其他動態庫中是訪問不到的。
采用動態鏈接的應用程序必須依賴于CRTL(比如MSVCRT.DLL)。
對于動態鏈接CRTL的應用程序,在調用庫函數時需要遵守兩個原則:1)調用習慣為C(__cdecl)習慣;2)函數參數類型為值或者指針類型。

【完】
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            美国成人毛片| 久久久欧美一区二区| 国产精品激情av在线播放| 久久中文字幕一区| 久久av二区| 欧美一二三区在线观看| 亚洲网址在线| 中文在线资源观看网站视频免费不卡 | 亚洲日本电影在线| …久久精品99久久香蕉国产| 国产一级一区二区| 精品96久久久久久中文字幕无| 国产日韩精品在线| 狠狠色狠狠色综合人人| 亚洲国产导航| 99国内精品| 欧美视频一区二区三区四区| 欧美图区在线视频| 国产日韩在线看片| 亚洲国产另类 国产精品国产免费| 亚洲高清精品中出| 亚洲视频在线二区| 久久国产欧美精品| 亚洲国产高清aⅴ视频| 亚洲精品小视频| 亚洲制服av| 看欧美日韩国产| 欧美日韩mp4| 国产亚洲欧美中文| 91久久精品网| 午夜亚洲视频| 久久资源av| 亚洲高清久久| 亚洲免费在线视频| 美女久久网站| 欧美日韩三级在线| 国产区欧美区日韩区| 国产精品女主播一区二区三区| 黄色影院成人| 亚洲一区影音先锋| 欧美大片免费观看| 亚洲制服av| 欧美三区美女| 亚洲级视频在线观看免费1级| 国产精品乱子久久久久| 亚洲欧洲日产国码二区| 久久精品国产第一区二区三区最新章节| 欧美成人激情视频免费观看| 亚洲免费观看高清完整版在线观看熊 | 亚洲欧美日韩一区二区三区在线观看 | 欧美韩国日本一区| 国内成人精品视频| 亚洲在线不卡| 亚洲精品乱码久久久久久蜜桃91| 午夜精品视频一区| 国产精品久久毛片a| 99av国产精品欲麻豆| 美日韩精品视频免费看| 亚洲淫性视频| 国产精品久久久久久久午夜| 日韩午夜电影在线观看| 欧美sm重口味系列视频在线观看| 亚洲视频精选在线| 欧美日韩午夜在线视频| 日韩视频一区| 亚洲电影中文字幕| 另类尿喷潮videofree| 红桃视频国产精品| 久久免费一区| 欧美一区二区黄| 国产精自产拍久久久久久| 亚洲精品精选| 亚洲欧洲日本一区二区三区| 欧美肥婆在线| 一个色综合av| 99热免费精品| 欧美天天视频| 性久久久久久久| 亚洲欧洲99久久| 国产亚洲人成网站在线观看| 久久久久国产一区二区三区四区| 欧美亚洲综合网| 激情欧美国产欧美| 免费试看一区| 欧美激情精品| 亚洲免费婷婷| 欧美一级片久久久久久久| 国产一区二区黄色| 美女脱光内衣内裤视频久久网站| 久久综合中文色婷婷| 99综合在线| 亚洲欧美日韩在线播放| 在线观看日韩www视频免费| 欧美高清一区| 欧美少妇一区二区| 久久精品91| 美女视频一区免费观看| 中文国产成人精品久久一| 亚洲中字黄色| 亚洲人成啪啪网站| 亚洲午夜在线观看| 影音先锋中文字幕一区二区| 黄色小说综合网站| 亚洲精品专区| 亚洲午夜精品久久久久久浪潮| 欧美性色aⅴ视频一区日韩精品| 欧美一区亚洲| 免费观看亚洲视频大全| 亚洲天堂男人| 久久国产精品久久久久久| 亚洲精品欧美日韩| 午夜精品一区二区三区在线| 亚洲高清视频在线观看| 亚洲伊人色欲综合网| 亚洲高清成人| 欧美亚洲免费高清在线观看| 亚洲区一区二| 欧美一区二区大片| 亚洲一级网站| 免费短视频成人日韩| 欧美在线视频a| 欧美日韩国产色综合一二三四 | 国产精品久久久久久久一区探花| 久久成人国产| 欧美日韩中文字幕| 美女脱光内衣内裤视频久久影院| 欧美视频中文一区二区三区在线观看| 久久久久久精| 国产精品专区一| 亚洲精品一区二区三区蜜桃久| 伊人久久亚洲美女图片| 亚洲在线观看免费| 一区二区欧美在线观看| 嫩草国产精品入口| 麻豆久久久9性大片| 国产精品久久久久天堂| 亚洲三级网站| 亚洲美女视频在线观看| 老司机一区二区| 蜜臀久久99精品久久久画质超高清| 国产精品一区免费在线观看| 中国女人久久久| 中文一区二区在线观看| 欧美激情网友自拍| 亚洲福利视频免费观看| 亚洲激情国产| 欧美成人精品h版在线观看| 免费高清在线视频一区·| 国内伊人久久久久久网站视频| 性做久久久久久| 久久精品99国产精品| 国产欧美一区二区精品婷婷| 亚洲网址在线| 欧美一区国产二区| 国产亚洲欧美一区二区三区| 欧美一区二区三区在线视频 | 一区二区三区不卡视频在线观看| 日韩视频不卡| 欧美日韩精品在线观看| 日韩视频免费观看高清在线视频| 一区二区三区黄色| 国产精品久久77777| 亚洲在线一区二区三区| 亚洲一区二区高清| 午夜精品成人在线视频| 国产精品v片在线观看不卡| 一本色道久久综合亚洲精品小说| 亚洲一区二区三区四区中文 | 欧美激情va永久在线播放| 亚洲国产清纯| 性欧美暴力猛交69hd| 国产中文一区| 女人色偷偷aa久久天堂| 中国成人亚色综合网站| 久久免费国产精品| 亚洲日本视频| 国产欧美日韩麻豆91| 狼人天天伊人久久| 亚洲视频二区| 亚洲黄一区二区三区| 久久精品国产精品亚洲综合| 亚洲福利av| 国产热re99久久6国产精品| 裸体歌舞表演一区二区| 亚洲欧美成人一区二区在线电影| 久久夜色精品国产噜噜av| 一区二区三区高清| 亚洲高清一区二区三区| 国产麻豆成人精品| 欧美激情第3页| 久久成人在线| 亚洲一区精品在线| 亚洲人成在线影院| 美女黄毛**国产精品啪啪| 午夜精品久久久久久久久久久久久| 亚洲成色777777在线观看影院| 国产精品你懂的| 欧美性jizz18性欧美| 欧美91精品| 久久精品中文字幕一区|