国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

對(duì)于VS2003編譯器的BUG給予細(xì)致分析

開發(fā) 后端
假期就開始對(duì)VS2003編譯器開始學(xué)習(xí),首先碰到的就是環(huán)境的配置。以前學(xué)的Visual Studio2003,但并沒有怎么用。所以有一個(gè)星期的時(shí)間基本是在用實(shí)踐著。

最新的VS2003編譯器,是一個(gè)很通用的數(shù)據(jù)庫管理程序,到目前為止所有的代碼都是通過Visual Studio編寫,核心部分的設(shè)計(jì)基本完成,但愿可以通過.NET開發(fā)一些小的模塊,Visual Studio的程序員真的沒有多少精英啊。我們必須要用VS2003編譯器下的C++代碼升級(jí)到VS2005編譯器下,從而可以充分利用.NET與C++混合編程。

升級(jí)的基本過程如下:

1、首先備份現(xiàn)有的VC程序,備份之后啟動(dòng)VS2005。

2、通過VS2005打開要升級(jí)的解決方案,系統(tǒng)提示自動(dòng)轉(zhuǎn)換,如果VC程序已經(jīng)被嵌入到VSS中,則系統(tǒng)將提示登錄VSS,并且自動(dòng)將解決方案文件和項(xiàng)目文件簽出。(注意選擇備份原來版本 的解決方案的選項(xiàng)。)

3、一般情況下系統(tǒng)提示成功,可能會(huì)有兩個(gè)警告,可以不予理會(huì)。因?yàn)樯?jí)過程中僅僅修改了解決方案文件和工程項(xiàng)目文件,所以速度會(huì)很快,C++頭文件和CPP文件都不作任何修改(這和VB6到VB2005的升級(jí)不同),因此速度很快。#t#

4、在VS2005中重新編譯升級(jí)后的程序,很可能出現(xiàn)很多警告和錯(cuò)誤提示,警告可以不予理會(huì),錯(cuò)誤提示必須修改。我所遇到的錯(cuò)誤提示主要有兩種:一種提示是“某個(gè)變量沒有定義”,另外一種是模板類的消息映射的錯(cuò)誤提示。

先說第一種錯(cuò)誤提示,例如如下的兩個(gè)for循環(huán)語句

  1. for(int i=0;i<10;i++)  
  2. {  
  3. }  
  4. for(i=0;i<100;i++)//  

上面的語句在VS2003中沒有問題,在2005中則是錯(cuò)誤的,2005將i作為第一個(gè)for循環(huán)中的局部變量處理,因此編譯器認(rèn)為第二個(gè)for循環(huán)中的i沒有定義。這類錯(cuò)誤可能有很多,但是修改起來比較容易。

第二種錯(cuò)誤是模板類的消息映射宏錯(cuò)誤。我在程序中設(shè)計(jì)了一個(gè)控件模板:

  1. #define UNI_FORMVIEW_CONTROLS(P) \  
  2. typedef CUniDataCtrl<CEdit,P> MEDICONEXPORT CUniEdit; \  
  3. typedef CUniDataCtrl<CEditAddress,P> MEDICONEXPORT CUniAddress; \  
  4. typedef CUniDataCtrl<CComboBoxData,P> MEDICONEXPORT  CUniComboBox; \  
  5. UNI_FORMVIEW_CONTROLS(CMdcLayerPanel)  

并通過typedef定義了很多VS2003編譯器類型(20多個(gè))

  1. #define Map(T,B) \  
  2. BEGIN_MESSAGE_MAP(T, B)\  
  3. ON_WM_LBUTTONDOWN()\  
  4. ON_WM_RBUTTONDOWN()\  
  5. ON_WM_MOUSEMOVE()\  
  6. ON_WM_SETCURSOR()\  
  7. ON_WM_SETFOCUS()\  
  8. ON_WM_KILLFOCUS()\  
  9. ON_REGISTERED_MESSAGE(BCGM_PROPERTY_CHANGED,OnPropertyChange)\  
  10. END_MESSAGE_MAP()  
  11. #define MSG_MAP_UNI_EDIT Map(CUniEdit,CEdit)   
  12. #define MSG_MAP_UNI_ADDRESS Map(CUniAddress,CEditAddress)   
  13. #define MSG_MAP_UNI_COMBOBOX Map(CUniComboBox,CComboBoxData)   
  14. #define MSG_MAP_UNI_DATETIMECTRL Map(CUniDateTimeCtrl,CMyDateTimeCtrl)   
  15. #define MSG_MAP_UNI_CHECKCOMBOBOX Map(CUniCheckComboBox,CCheckComboBox)   
  16. #define MSG_MAP_UNI_ALL \  
  17. MSG_MAP_UNI_EDIT \  
  18. MSG_MAP_UNI_ADDRESS \  
  19. MSG_MAP_UNI_COMBOBOX \  
  20. MSG_MAP_UNI_DATETIMECTRL \  
  21. MSG_MAP_UNI_CHECKCOMBOBOX \  

最后,我在一個(gè)CPP文件中直接調(diào)用 MSG_MAP_UNI_ALL 既完成了宏的消息映射的定義。但是這種方式在VS2005中無法編譯通過,最后我不得不在模板類的頭文件中增加了如下的一個(gè)消息映射宏:

  1. #define BEGIN_TEMPLATE_MESSAGE_MAP_EX(theClass, 
    type_name1,type_name2,  baseClass)  
  2. PTM_WARNING_DISABLE  
  3. template < typename type_name1,typename type_name2 > 
  4. const AFX_MSGMAP* theClass< type_name1 ,type_name2 >
    GetMessageMap() const  
  5. {  
  6. return GetThisMessageMap();   
  7. }  
  8. template < typename type_name1 ,typename type_name2> 
  9. const AFX_MSGMAP* PASCAL theClass
    < type_name1 ,type_name2  >GetThisMessageMap()  
  10. {  
  11. typedef theClass< type_name1 ,type_name2  > ThisClass;  
  12. typedef baseClass TheBaseClass; 

上述的模板類消息映射宏我是參考BEGIN_TEMPLATE_MESSAGE_MAP(theClass, type_name, baseClass)編寫的,該宏只支持一個(gè)模板參數(shù),而我定義的模板中需要兩個(gè)模板參數(shù),因此,我自己擴(kuò)充VS2003編譯器一下。關(guān)于BEGIN_TEMPLATE_MESSAGE_MAP的幫助在MSDN中好像沒有,在afxwin.h中定義了:

責(zé)任編輯:chenqingxiang 來源: sfcyyc的專欄
相關(guān)推薦

2009-12-01 15:01:33

VS2003 Web

2009-11-30 10:34:28

VS2003編譯

2009-11-30 13:51:28

2009-11-30 09:10:40

VS2003斷點(diǎn)無效

2009-11-26 14:10:08

2009-11-30 11:05:19

VS2003 WebS

2009-11-30 16:50:26

VS2003調(diào)試

2009-11-30 17:28:39

VS2003 ASP

2009-12-01 15:32:48

VS2003配置

2009-12-01 17:55:11

VS2003配置

2009-11-27 10:03:48

VS2003安裝失敗

2009-11-25 13:35:05

VS2003使用

2009-11-27 16:25:54

2009-11-30 13:51:28

ActiveX控件

2009-11-30 13:51:28

VS2003 Acti

2009-11-30 10:51:17

VS2003無法啟動(dòng)調(diào)

2009-11-25 10:00:48

VS2003系統(tǒng)

2009-11-27 16:16:51

VS2003系統(tǒng)

2009-12-16 10:15:58

VS2003編譯

2009-11-26 11:05:59

VS2003控件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

激情综合网俺也去| 精品国产欧美成人夜夜嗨| 精品视频黄色| 青青在线视频观看| 欧美成人网在线| 国产精品美女久久福利网站| 久久久久97| 18av网站| 国产成人在线一区二区| 精品免费在线观看| 伊人精品视频| 欧美性猛片xxxxx免费中国| av文字幕在线观看| 欧美第一黄网| 精品无码久久久久久国产| 国内精品伊人久久久久影院对白| 天堂av在线网| 精品国产一区三区| 欧美激情精品久久久久久| 综合电影一区二区三区| 日本欧美视频| 日本免费在线视频| 综合一区中文字幕| 精品国产欧美一区二区三区成人 | 国产欧美一区二区三区网站| 卡通动漫精品一区二区三区| 免费在线看污| 欧美少妇一区| 久久精品一本久久99精品| 一区二区三区视频在线观看| 激情亚洲网站| 黄色精品视频| 又黄又www的网站| 玛丽玛丽电影原版免费观看1977| 国产视频精品自拍| 国产亚洲va综合人人澡精品| 日韩啪啪电影网| 怡红院在线播放| 成人三级视频在线播放 | 亚洲免费视频成人| 99亚洲一区二区| 成人亚洲免费| 欧美5-7sexvideos处| 色综合电影网| 孩xxxx性bbbb欧美| 欧美老年两性高潮| 91色porny蝌蚪| 欧美/亚洲一区| 欧美123区| 三级无遮挡在线观看| 亚洲成人动漫在线| 国产精品爱久久久久久久| 精品久久久久久久人人人人传媒| www日韩大片| 韩国自拍一区| 日本午夜精品久久久久| 男人的天堂在线视频| 成年人午夜免费视频| 91观看网站| 欧美成人激情图片网| 欧美日韩免费在线视频| 久久久久久毛片| 国产精品一区毛片| 欧美成人基地| 欧洲一区精品| 色视频在线观看免费| 可以看毛片的网址| 国产伦精品一区二区三区视频免费 | 欧洲一区二区三区免费视频| 国产真实乱偷精品视频免| 精品在线91| 中文字幕在线看片| 一级二级三级在线观看| 成人免费性视频| 国产精品伊人日日| 69影院欧美专区视频| 欧美精品一区视频| 精品久久久久久久久久| 99精品视频一区二区三区| 国产色综合网| 成人情趣视频| 中文字幕久久精品一区二区| heyzo中文字幕在线| 性网站在线播放| 久久99999| 9色视频在线观看| 精品产品国产在线不卡| 热久久免费国产视频| 中文字幕不卡av| 欧美一三区三区四区免费在线看| 亚洲在线视频一区| 久久网站热最新地址| 美女一区二区三区| 欧美日韩亚洲国产精品| 你懂的在线观看一区二区| 性欧美xxx69hd高清| 天堂中文8资源在线8| 91人人网站| 少妇高潮喷水久久久久久久久久| 亚洲图片小说在线| 国产精品乱子乱xxxx| 国产精品久久电影观看| 久久成人精品一区二区三区| 亚洲激情小视频| 日韩一区二区在线观看| 91成人看片片| 午夜天堂影视香蕉久久| 国产精品白丝在线| 久久久国产精品不卡| 不卡的av在线| 国产精品自拍网站| 日日夜夜精品视频免费| 亚洲国产二区| 欧美在线黄色| 久久五月天小说| 国产成人黄色| 色爱av综合网| 欧美日韩一区二区三区不卡视频| www.久久99| 亚洲高清影院| 91麻豆精品| 国产精品诱惑| 蜜桃精品在线| 欧美特黄aaaaaaaa大片| 中文字幕在线直播| 久久影院午夜精品| 亚洲精品成人图区| 久久精品女人天堂av免费观看| 麻豆国产在线| 345成人影院| 精品日韩视频| 羞羞视频在线观看一区二区| www.久久99| 国产精伦一区二区三区| 嫩草国产精品入口| jvid福利在线一区二区| 日韩精品免费一区二区在线观看| 全球成人免费直播| 小处雏高清一区二区三区| 久久久久久美女精品| 欧美在线免费| 国产欧美日韩一级| 久久久天天操| 国产在线一区观看| 91在线porny国产在线看| 久久精品亚洲麻豆av一区二区| 欧美国产视频在线| 亚洲乱码中文字幕| 欧美日韩国产一区二区三区| 欧美性猛交xxxxx免费看| 欧美日韩视频在线| 欧美日韩不卡视频| 亚洲精品第一国产综合精品| 中文字幕精品久久| 午夜精品一区二区三区在线| 国产精品草莓在线免费观看| 91色视频在线导航| 欧洲精品码一区二区三区免费看| 中国一级黄色录像| 凹凸日日摸日日碰夜夜爽1| 97看剧电视剧大全| 国产午夜视频在线观看| 羞羞污视频在线观看| 免费在线国产视频| 热久久久久久| 怕怕欧美视频免费大全| 激情亚洲网站| 国产精品资源在线看| 日本乱码高清不卡字幕| 91免费精品国偷自产在线在线| 婷婷激情成人| 人人精品视频| 91精品啪在线观看国产18| 在线日韩av| 国产毛片一区二区| 国产区在线观看成人精品 | a√免费观看在线网址www| 瑟瑟在线观看| 国产不卡在线| 欧洲成人一区| 日韩美脚连裤袜丝袜在线| 欧美成免费一区二区视频| 老司机一区二区三区| 成人av在线一区二区| 亚洲免费观看高清完整版在线| 在线亚洲一区二区| 亚洲激情视频网站| 午夜精品久久久久久久99热| 2014亚洲精品| 超薄肉色丝袜足j调教99| 国产区二区三区| www.在线播放| 久久精品xxxxx| 日韩在线观看电影完整版高清免费悬疑悬疑| 好看的av在线不卡观看| 国产精品系列在线播放| 亚洲男人天堂av网| 精品少妇一区二区三区日产乱码 | 久久精品一区二区三区四区| 亚洲成人av一区二区三区|