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

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

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


  __try {
  _ioinit(); /* initialize lowio */
  _acmdln = (char *)GetCommandLineA(); /* get cmd line info */
  _aenvptr = (char *)__crtGetEnvironmentStringsA(); /* get environ info */
  _setargv();
  _setenvp();
  __initenv = _environ;
  mainret = main(__argc, __argv, _environ);
  exit(mainret);
  }
  __except ( _XcptFilter(GetExceptionCode(), GetExceptionInformation()) )
  {
  _exit( GetExceptionCode() ); /* Should never reach here */
  } /* end of try - except */
  } 如果使用MFC框架,WinMain也會被埋藏在MFC庫中(APPMODUL.CPP):
  extern "C" int WINAPI
  _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
  LPTSTR lpCmdLine, int nCmdShow)
  {
  // call shared/exported WinMain
  return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
  }
  對于ANSI版本,"_tWinMain"就是"WinMain";對于UINCODE版本,"_tWinMain"就是"wWinMain"。可參見afx.h:
  #ifdef _UNICODE
  #define _tmain wmain
  #define _tWinMain wWinMain
  #else
  #define _tmain main
  #define _tWinMain WinMain
  #endif
  全局C++對象的構造函數是在什么地方調用的?答案是在進入應用程序的Entry Point后,提示在調用main函數前的初始化操作中。所以MFC的theApp的構造函數是在_tWinMain之前調用的。
  4、不顯示Console窗口的Console程序
  在默認情況下/subsystem 和/entry開關是匹配的,也就是:
  "console"對應"mainCRTStartup"或者"wmainCRTStartup"
  "windows"對應"WinMain"或者"wWinMain"
  我們可以通過手動修改的方法使他們不匹配。例如:
  #include "windows.h"
  #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 設置入口地址
  void main(void)
  {
  MessageBox(NULL, "hello", "Notice", MB_OK);
  }
  這個Console程序就不會顯示Console窗口。如果選/MLd的話,這個程序只需要鏈接LIBCD.LIB user32.lib kernel32.lib。
  其實如果不想看到Console窗口,還有一個更直接的方法:那就是直接在EXE文件中將PE文件頭的Subsystem從3改成2。在EXE文件中,PE文件頭的偏移地址是0x3c,Subsystem是一個WORD,它在PE文件頭中的偏移是0x5c。
  5、MFC的庫文件
  MFC的庫可以靜態鏈接,也可以動態鏈接。靜態庫和動態庫又有Debug和Release,ANSI和Unicode版本之分。
  靜態MFC庫主要有:
  ANSI Debug NAFXCWD.LIB
  ANSI Release NAFXCW.LIB
  Unicode Debug UAFXCWD.LIB
  Unicode Release UAFXCW.LIB
  動態鏈接庫主要有;
  ANSI Debug MFCxxD.LIB (core,MFCxxD.DLL),
  MFCOxxD.LIB (OLE,MFCOxxD.DLL),
  MFCDxxD.LIB (database,MFCDxxD.DLL),
  MFCNxxD.LIB (network,MFCNxxD.DLL),
  MFCSxxD.LIB (static)
  ANSI Release MFCxx.LIB (combined,MFCxx.DLL)
  MFCSxx.LIB (static)
  Unicode Debug MFCxxUD.LIB (core,MFCxxUD.DLL),
  MFCOxxUD.LIB (OLE,MFCOxxUD.DLL),
  MFCDxxUD.LIB (database,MFCDxxUD.DLL),
  MFCNxxUD.LIB (network,MFCNxxUD.DLL),
  MFCSxxUD.LIB (static)
  Unicode Release MFCxxU.DLL (combined,MFCxxU.DLL),
  MFCSxxU.LIB (static)
  上面的LIB文件除了MFCSxx(D、U、UD).LIB以外都是導入庫。
  MFC動態鏈接庫版本也需要靜態鏈接一些文件,這些文件就放在MFCSxx(D、U、UD).LIB中。例如包含_tWinMain的appmodul.cpp。
  6、結束語
  研究這些問題的動機是想弄清楚我們的程序是如何裝載、運行的。但是,由于Windows不是開源平臺,提示只能研究到PE文件(Windows上可執行文件的格式)。entry point、subsystem都是PE文件頭的一部分。
  Windows在進入PE文件的entry point之前做了些什么,就看不到了,只能概推測:應該是創建一個進程,裝載PE文件和所有需要的DLL,初始化C變量,然后從某個起點函數開始運行。不同的subsystem,應該有不同的起點。調用這個起點函數時應該傳入PE文件的entry point地址。

百分百考試網 考試寶典

立即免費試用
国产一二精品视频| 日韩亚洲成人av在线| 天天干天天爽天天射| 欧美人体视频xxxxx| 国产一级不卡视频| 成年永久一区二区三区免费视频| 精品视频一区在线| 另类激情视频| 欧美黑人在线观看| 国产在线小视频| 国产精品9999久久久久仙踪林 | 2018av男人天堂| 亚洲欧美激情另类校园| 激情六月婷婷| 亚洲精品suv精品一区二区| 免费在线色视频| 欧美日韩一区二区在线观看 | 黄页免费在线观看视频| 超碰aⅴ人人做人人爽欧美| 97在线观看免费视频| 国产一区二区剧情av在线| 亚洲图片另类小说| 国产精品一区二区三区四区| а天堂中文在线资源| 欧美成年网站| 亚洲xxx在线观看| 首页国产欧美日韩丝袜| 天堂中文在线看| 精品一区日韩成人| 成人动漫一区二区在线| 国产精品剧情一区二区三区| 日韩国产激情在线| www.欧美日本韩国| 亚洲国产精品毛片| 久久爱www成人| 中文字幕12页| 黄页在线观看免费| 午夜精品久久久久久久久久久久久 | 亚洲成年人电影在线观看| 国产麻豆视频一区| 欧美激情性xxxxx| 欧美成人激情图片网| 经典三级一区二区| 亚洲欧美天堂在线| 国产清纯在线一区二区www| 国产精品一卡二卡三卡| 欧美图片自拍偷拍| 亚洲午夜国产成人av电影男同| 天堂在线中文字幕| 国偷自产av一区二区三区小尤奈| 首页亚洲中字| 在线观看日本中文字幕| 精品福利视频导航| 免费看的黄网站| 欧美中文字幕亚洲一区二区va在线| 神马一区二区三区| 欧美日韩在线播放一区二区| 17videosex性欧美| 日韩视频在线免费播放| 国产大片一区二区| 又黄又爽毛片免费观看| 91久久精品网| 中中文字幕av在线| 一级黄色片网址| 亚洲欧美另类小说| 日本道色综合久久| 国产精品一区二区三区在线播放| 国产精品免费成人| 在线免费看91| 黄色视屏网站在线免费观看| 欧美freesextv| 午夜精品久久久久久久久久久| 欧美性资源免费| 亚洲一二区在线观看| 粉嫩av一区二区夜夜嗨| 欧美成人高清在线| 欧美一级久久| 日韩欧美国产三级电影视频| 久久久人人爽| 久草视频中文在线| 中文字幕第12页| 国产精品成久久久久| 欧美性xxxxx极品娇小| 国产91社区| 免费在线视频观看| 在线观看免费视频一区二区三区| 日韩精品一区二区久久| 欧美小视频在线观看| 国产欧美日本在线| 黄色一级片在线免费观看| 香港日本韩国三级| 欧美黄在线观看| 制服丝袜在线91| 在线不卡视频一区二区| 欧美成人一区二区视频| 99福利在线| 丁香激情综合五月| 欧美人与性动交a欧美精品| 日本一二三区在线| 色橹橹高清视频在线播放| 亚洲免费福利一区| 在线免费观看日本欧美| 亚洲v欧美v另类v综合v日韩v| 国产性生活视频| 黄色的网站在线观看| 国产成人亚洲综合a∨婷婷图片| 久久久99久久精品女同性| 中文字幕成人免费视频| 国产1区二区| 精品国产乱码久久久久久蜜坠欲下 | 精品国产91久久久久久久妲己 | 性中国古装videossex| 345成人影院| 国产精品久久综合| 国产精品美女黄网| www.亚洲激情| 午夜精品成人av| 亚洲精品视频观看| 裸模一区二区三区免费| 亚洲一区精品在线观看| 亚洲校园激情春色| 一区二区三区日韩欧美| 日韩不卡av| 色欲av永久无码精品无码蜜桃 | 亚洲第一成人在线| 欧美日韩亚洲在线| 国产免费一区二区三区最新不卡 | 有码一区二区三区| 国产99在线播放| 国产又粗又猛又爽又黄91| 电影亚洲精品噜噜在线观看| 亚洲免费av观看| 亚洲高清视频在线观看| 极品销魂一区二区三区| 精品一区在线| 国产视频在线一区二区| 9.1在线观看免费| 污网站在线看| 97久久人人超碰| 国产伦精品一区二区三区四区视频 | 亚洲黄色av片| 日本中文字幕高清视频| 激情图片小说一区| 91亚洲精品久久久| 91福利免费视频| 97品白浆高清久久久久久| 日韩一区二区在线观看视频 | 日韩av在线电影观看| 天天干,天天操,天天射| 精品一区二区三| 自拍亚洲一区欧美另类| 亚洲色图 激情小说| 中文字幕中文字幕在线中高清免费版| 国产精品国产三级国产三级人妇| 天堂√在线观看一区二区| 日韩a视频在线观看| 国模 一区 二区 三区| 久久久视频免费观看| 69成人免费视频| 91在线一区| 一本一道久久a久久精品逆3p| 亚洲女优在线观看| 青青青免费在线视频| 91成人在线观看喷潮| 91大神免费观看| av网站无病毒在线| 亚洲一区在线观看免费观看电影高清 | 日本一本在线观看| 加勒比色老久久爱综合网| 亚洲久久久久久久久久| youjizz亚洲女人| 性国裸体高清亚洲| 555www色欧美视频| 受虐m奴xxx在线观看| 在线黄色的网站| 日韩美女视频在线| 欧美偷拍一区二区三区| 成人开心激情| 日韩精品丝袜在线| 久久久久人妻一区精品色欧美| 亚洲久草在线| 国产亚洲成av人片在线观看桃| 欧美黑吊大战白妞| 免费一区二区三区在线视频| 一本色道久久88亚洲综合88| 久久精品视频7| 成人午夜国产| 国产精品com| 天天操中文字幕视频| 三级不卡在线观看| 欧美日韩最好看的视频| 成人黄网18免费观看的网站| 91麻豆福利精品推荐| 人妻av中文系列| av片在线看| 欧美美女bb生活片| 亚洲怡红院在线观看| 美女av一区| 国产精品999999| 国产欧美一区二区三区小说|