又黄又www的网站_青青草.com_在线亚洲美日韩_九九九国产视频_√天堂8资源中文在线_一区二区三区免费网站_久久久久国产一区二区三区_人妻激情偷乱视频一区二区三区_一本到在线视频

C技巧:VC中編譯、運行程序的知識點

發布時間:2011-08-29 共2頁

  1、Run-Time Library
  Run-Time Library是編譯器提供的標準庫,提供一些基本的庫函數和系統調用。
  我們一般使用的Run-Time Library是C Run-Time Libraries。當然也有Standard C++ libraries。
  C Run-Time Libraries實現ANSI C的標準庫。VC安裝目錄的CRT目錄有C Run-Time庫的部分源代碼。
  C Run-Time Libraries有靜態庫版本,也有動態鏈接庫版本;有單線程版本,也有多線程版本;還有調試和非調試版本。
  可以在"project"-"settings"-"C/C++"-"Code Generation"中選擇Run-Time Library的版本。
  動態鏈接庫版本:
  /MD Multithreaded DLL 使用導入庫MSVCRT.LIB
  /MDd Debug Multithreaded DLL 使用導入庫MSVCRTD.LIB
  靜態庫版本:
  /ML Single-Threaded 使用靜態庫LIBC.LIB
  /MLd Debug Single-Threaded 使用靜態庫LIBCD.LIB
  /MT Multithreaded 使用靜態庫LIBCMT.LIB
  /MTd Debug Multithreaded 使用靜態庫LIBCMTD.LIB
  C Run-Time Library的標準io部分與操作系統的關系很密切,在Windows上,CRT的io部分代碼只是一個包裝,底層要用到操作系統內核kernel32.dll中的函數,在編譯時使用導入庫kernel32.lib。這也就是為什么在嵌入式環境中,我們一般不能直接使用C標準庫。
  在Linux環境當然也有C標準庫,例如:
  ld -o output /lib/crt0.o hello.o -lc
  參數"-lc"就是在引用C標準庫libc.a。猜一猜"-lm"引用哪個庫文件?
  2、常見的編譯參數
  VC建立項目時總會定義"Win32"。控制臺程序會定義"_CONSOLE",否則會定義"_WINDOWS"。Debug版定義"_DEBUG",Release版定義"NDEBUG"
  與MFC DLL有關的編譯常數包括:
  _WINDLL 表示要做一個用到MFC的DLL
  _USRDLL 表示做一個用戶DLL(相對MFC擴展DLL而言)
  _AFXDLL 表示使用MFC動態鏈接庫
  _AFXEXT 表示要做一個MFC擴展DLL
  所以:
  Regular, statically linked to MFC _WINDLL,_USRDLL
  Regular, using the shared MFC DLL _WINDLL,_USRDLL,_AFXDLL
  Extension DLL _WINDLL,_AFXDLL,_AFXEXT
  CL.EXE編譯所有源文件,LINK.EXE鏈接EXE和DLL,LIB.EXE產生靜態庫。
  3、subsystem和可執行文件的啟動
  LINK的時候需要指定/subsystem,這個鏈接選項告訴Windows如何運行可執行文件。
  控制臺程序是/subsystem:"console"
  其它程序一般都是/subsystem:"windows "
  將 subsystem 選成"console"后,Windows在進入可執行文件的代碼前(如mainCRTStartup),就會產生一個控制臺窗口。
  如果選擇"windows",操作系統就不產生console窗口,該類型應用程序的窗口由用戶自己創建。
  可執行文件都有一個Entry Point,LINK時可以用/entry指定。缺省情況下,如果subsystem是“console”,Entry Point是 mainCRTStartup(ANSI)或wmainCRTStartuup(UNICODE),即:
  /subsystem:"console" /entry:"mainCRTStartup" (ANSI)
  /subsystem:"console" /entry:"wmainCRTStartuup" (UNICODE)
  mainCRTStartup 或 wmainCRTStartuup 會調用main或wmain。
  值得一提的是,在進入應用程序的Entry Point前,Windows的裝載器已經做過C變量的初始化,有初值的全局變量擁有了它們的初值,沒有初值的變量被設為0。
  如果subsystem是“windows”,Entry Point是WinMain(ANSI)或wWinMain(UINCODE),即:
  /subsystem:"windows" /entry:"WinMainCRTStartup" (ANSI)
  /sbusystem:"windows" /entry:"wWinMainCRTStartup" (UINCODE)
  WinMainCRTStartup 或 wWinMainCRTStartup 會調用 WinMain 或 wWinMain。
  這些入口點函數,在CRT目錄都可以看到源代碼,例如(為了簡潔,我刪除了原代碼的一些條件編譯):
  void mainCRTStartup(void)
  {
  int mainret;
  /* Get the full Win32 version */
  _osver = GetVersion();
  _winminor = (_osver >> 8) & 0x00FF ;
  _winmajor = _osver & 0x00FF ;
  _winver = (_winmajor << 8) + _winminor;
  _osver = (_osver >> 16) & 0x00FFFF ;
  #ifdef _MT
  if ( !_heap_init(1) ) /* initialize heap */
  #else /* _MT */
  if ( !_heap_init(0) ) /* initialize heap */
  #endif /* _MT */
  fast_error_exit(_RT_HEAPINIT); /* write message and die */
  #ifdef _MT
  if( !_mtinit() ) /* initialize multi-thread */
  fast_error_exit(_RT_THREAD); /* write message and die */
  #endif /* _MT */

百分百考試網 考試寶典

立即免費試用
精品久久久久久| 91制片厂在线| 亚洲小说区图片区都市| 精品一区二区三区三区| 亚洲伦理在线观看| 亚洲激情校园春色| 中文字幕在线播出| 国产欧美一区二区精品婷婷| 久久精品午夜一区二区福利| 国产一级电影网| 色婷婷久久综合| 欧美日韩乱国产| 麻豆久久婷婷| 中文字幕一区二区三区四区免费看 | 日韩黄色片网站| 亚洲无av在线中文字幕| 日韩精品91| 久久精品无码av| 欧美国产一区二区在线观看| 国产美女永久免费| 亚洲四区在线观看| 国产真实乱全部视频| 亚洲精品久久久久| 青青草视频在线观看| 国产国产精品人在线视| 最近中文字幕第一页| 亚洲日本va在线观看| 欧美另类69xxxx| 奇米色777欧美一区二区| www,av在线| 国产精品少妇自拍| 777片理伦片在线观看| 在线看日韩欧美| **毛片在线网站| 精品福利影视| 天天天综合网| 欧美性巨大欧美| 东北少妇不带套对白| 久久亚洲精精品中文字幕早川悠里 | 99精品视频在线观看播放| 成年人视频在线免费| 日本少妇做爰全过程毛片| 沈樵精品国产成av片| 国产69精品久久久久久久| 色综合综合网| 肉色超薄丝袜脚交| 一区二区激情| a在线观看视频| 国产丝袜一区视频在线观看| 在线三级av| 99在线观看视频网站| 日韩午夜免费| 写真福利片hd在线播放| 青青青在线观看视频| 五月综合激情网| 香蕉521av成人网| 美女精品视频一区| 久久不射影院| 国产精品久久波多野结衣| 欧美一区自拍| 校园春色 亚洲| 久久综合狠狠综合| 日韩a视频在线观看| 欧美一级在线亚洲天堂| 日韩精品影视| 欧美性活一级视频| 57pao成人永久免费视频| av每日在线更新| 男人搞女人网站| 欧洲一区二区av| 日韩福利影视| 久热这里有精品| 伦伦影院午夜日韩欧美限制| 五月精品视频| 国产手机在线观看| 亚洲猫色日本管| 四虎海外影库www4hu| 欧美精品精品精品精品免费| 任你弄精品视频免费观看| 夜夜躁狠狠躁日日躁av| 国产成人免费91av在线| 一区二区激情| 一区二区三区网| 亚洲xxx自由成熟| 日韩精品一卡二卡三卡四卡无卡| 黄色av一区二区三区| 日韩av黄色在线观看| 成人av片在线观看| 国产精品天美传媒入口| 亚洲精品美女久久7777777| 91超碰国产精品| 青青青国产在线| 日韩av一卡二卡| 欧美18—19sex性hd| 亚洲综合婷婷| 日韩欧美一区二区视频在线播放| 国产乱人伦丫前精品视频| 在线天堂中文字幕| 国产精品自拍小视频| 性久久久久久| 黄色软件在线| 91成年人视频| 日韩精品你懂的| 国产精品www色诱视频| 久久精品国产亚洲一区二区三区| 在线观看视频你懂的| 国产性生交xxxxx免费| 久久视频在线直播| 日韩高清不卡一区二区| 美女胸又www又黄的网站| 免费在线观看成年人视频| 亚洲不卡在线观看| 国产一二三在线观看| 超碰97av在线| 激情视频一区二区| 日本中文字幕一区二区视频| 妞干网福利视频| 亚洲理论电影在线观看| 午夜精品久久久久久久99樱桃 | 嫩草影院网站在线| 在线免费观看亚洲视频| 91精品久久久久久久久久久久久久| 日日嗨av一区二区三区四区| 天天在线视频色| 久久成人国产精品入口| 庆余年2免费日韩剧观看大牛| 26uuu久久噜噜噜噜| 超碰人人干人人| 免费理论片在线观看播放老| 青青草国产精品97视觉盛宴| 欧美高清在线观看| 国产精品免费无码| 最新在线你懂的| 国产精品综合视频| 欧美手机在线视频| 国产剧情在线观看一区| 四虎永久在线观看| 一区二区三区四区国产| 欧美喷水一区二区| 欧美 亚欧 日韩视频在线 | 性欧美xxxx| 久久精品人人爽人人爽| 123成人网| 欧美少妇一区| 亚洲精品欧洲| 亚洲日本va中文字幕久久| 久久久精品高清| 亚洲国产中文字幕在线视频综合 | 91毛片在线观看| 激情美女网站| 亚洲AV成人精品| 性高潮久久久久久久| 最近最新mv在线观看免费高清| 老司机精品久久| 日本精品免费观看| 久草视频精品在线| 亚洲四虎影院| 欧美精品在欧美一区二区少妇| 爱情岛论坛成人| 2020中文字幕在线播放| 成人精品免费看| 久久一区二区精品| av中文网站| 亚洲先锋成人| 国产成人在线一区| 国产精品久久久久久久久久久久久久久久| 国产精品视频一区视频二区| 欧美一区二区三区播放老司机| 一本之道在线视频| 在线免费av网站| 亚洲成人av中文| 日本人视频jizz页码69| 欧美日韩在线精品一区二区三区激情综 | 久久久久久精| 亚洲精品国产一区二区在线| 亚洲久久视频| 成人午夜小视频| 香蕉久久视频| 国产日韩综合| 国产精品久久久久久久久久久久午夜片| 无码国产精品一区二区免费16| 99久久久国产精品美女| 热99久久精品| 天天干天天草天天射| 亚洲午夜电影| 成人18视频| 任你操在线观看| 成人免费av在线| 激情五月婷婷六月| 亚洲一区二区三区成人| 亚洲高清中文字幕| 动漫美女无遮挡免费| 在线观看日本一区| 福利电影导航| 国产精品毛片大码女人| 精品99在线视频| 国产精品一区在线看| 欧美日韩中文一区| 日本一级片免费| 妖精视频一区二区三区|