日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

从VC6到VC9移植代码问题总结

發布時間:2023/12/20 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从VC6到VC9移植代码问题总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


??? 當年在學校學習C編程的時候用的是TC2.0,后來學C++用TC3.0,有一天突然發現Borland C++ 3.1的IDE比較好用,于是改用BC31,然后是BC4,但是到了BC5(還有BC5.02)的時候就玩不下去了,因為我那臺只有16M內存的P100實在是跑不動這個龐然大物,在OWL和MFC之間“痛苦地”抉擇了一部電影的時間后,我決定放棄添加內存的計劃,改用Visual C++試試。因為當時內存太貴了,不過電影很好看,我還記得名字是《西域雄獅》,講的是黃飛鴻到北美開寶之林分號的故事,還收了一個洋徒。。。你看這思維跳躍的,打住,說正事兒吧。看完電影后裝了一個Visual C++ 4.2,這Microsoft的東西就是爭氣,在我的破機器上跑得馬溜的快,于是就用買內存的預算買了一本《Visual C++ 4.0從入門到精通》,那個時候的出版社就是效率低,這本書已經是所有關于VC的書中最新的了,好像還看到一本《Visual C++ 1.5-2.x 使用指南》,什么年代的事情了,還擺在書架上。哪像現在的出版社,簡直就是“與時俱進”的典范,Microsoft那邊 《Windows 7》 剛發布了個預覽版,這邊《下一代xxx揭密》就已經上架了,唉,又扯遠了,打住。沒多久VC5就出來了,好在這兩個版本的用戶界面變化不大(MFC的版本穩定在4.2),我就在《Visual C++ 4.0從入門到精通》這本書的指導下“精通”了VC5。1998年的時候Visual C++ 6.0推出了,但是我一直堅持用VC5,1999年我畢業設計還是選擇用VC5,不為別的,就是因為當時盜版的VC6都沒有幫助文件,就是缺少MSDN,沒有這個還怎么寫代碼?畢業設計完成之后我從朋友那里弄到了傳說中的兩張MSDN光盤,于是開始用VC6,從此以后,VC6就一直存在于所有我用過的電腦中,后來VC7(7.1),VC8出來以后,VC6的地位也一直沒有動搖過,用C++開發軟件我首選VC6,我還為VC6開發了一個文件標簽欄插件Tabbar,可以通過標簽欄在打開的代碼文件之間快速切換,除此之外還具有很多其它功能,比如自動打包壓縮項目代碼。。。唉,又跑題了,打住。

??? 做人要與時俱進,這不,今年VC9也隨著Visual Studio 2008發布了,再不趕上就真的老套了。說是這么說,不過心里還是有些余悸的,2006年的時候我曾經試圖將我的一個工具軟件的代碼升級到VC8,但是我低估了新的編譯器的兼容性(當年從VC5到VC6可是沒有那么多麻煩),上來就是一大堆編譯錯誤,警告就更是牛毛,當時因為急著為工具軟件開發一個新功能,沒有時間解決這些問題,只好放下了,這一放就是兩年。我這個人喜歡自己做工具軟件,目的是為了方便自己,以前用VC6,覺得在代碼源文件之間切換很麻煩,但是WndTab太占用資源,于是就借鑒WndTab的部分代碼自己做了個標簽欄插件Tabbar,還把從CodeProject上看到的好的創意都添加進去,后來用Source Insight,覺得它沒有文件標簽欄太土,就給它做了個標簽欄外掛(TabSiPlus),就這樣幾年下來竟然有幾百兆的工具代碼,這個移植的工作量可是非同小可,想著都怕怕呀!不過也沒辦法,這兩年主要用GCC做嵌入式開發了,沒有時間維護這些工具,自己在使用過程中累計下來的BUG和新需求也有一大堆,需要進行升級了,適逢這次機會將其移植到VC9到也是個不錯的選擇。其實程序員自己給自己寫工具很有好處,比如我喜歡邊寫代碼邊聽音樂,于是我就把自己寫的MP3播放器集成到VC開發環境中,這樣就可以象操作VC的其它功能一樣選擇音樂文件,還比如。。。又扯遠了,回到正題,講講移植過程中遇到的問題。

??? 首先可以直接用Visual Studio 2008的打開VC6的工作區文件和項目文件(dsw和dsp),并將其升級為VS2008的解決方案格式和項目格式(sln和vcproj),VC9的編譯器相對于VC6有了很大的變化,一些編譯參數和鏈接參數被廢棄(比如/map:line),有一些改變了名稱,還有新增的選項,不過不用擔心,升級過程會自動對其進行轉換,最終都會得到一個正確的解決方案和VC項目文件,這個過程不會遇到太多的麻煩,問題都出在隨后的編譯過程中,下面就將我在移植的過程中遇到的問題和我的解決方法總結一下,希望對還在用VC6維護代碼的朋友有所幫助。
?

一、_WIN32_WINNT 與 _WIN32_IE 設置沖突

??? _WIN32_WINNT 與 _WIN32_IE設置不兼容會導致如下C1189致命錯誤:

StdAfx.cpp
c:/program files/microsoft sdks/windows/v6.0a/include/sdkddkver.h(217) : fatal error C1189: #error :? _WIN32_WINNT settings conflicts with _WIN32_IE setting

StdAfx.cpp通常是項目中第一個編譯的文件,這個錯誤將導致編譯無法繼續進行。產生這個錯誤的原因是原因是_WIN32_WINNT的版本定義太老,老的VC代碼對_WIN32_WINNT的典型設置是:

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif

0x0400相對于VS2008所帶的Plarform SDK(在文件sdkddkver.h中)中_WIN32_IE的定義來說太老了,導致不兼容,可以將其改成0x0501或更高的版本避免這個問題,如下所示:

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif

也可以將這三行_WIN32_WINNT定義刪除,這樣就會使用Plarform SDK中的_WIN32_WINNT定義,自然就不存在不兼容問題了。不過出于對老版本VC的兼容考慮(畢竟以后可能還要使用VC6編譯代碼),最好這樣修改:

#if _MSC_VER <= 1200 // MFC 6.0 or earlier
??? #ifndef _WIN32_WINNT
??? #define _WIN32_WINNT 0x0400
??? #endif
#endif



二、afximpl.h文件中的語法錯誤

??? MFC出現的時候STL還沒有成為C++的標準,所以MFC使用一套自己的模版庫,比如CArray、CList、CMap等等,這些類型聲明都在afximpl.h文件中。原來在VC6編譯器適用的模版語法可能不適用VC9,特別是當以下四個環境變量設置不兼容時,就會出現這個編譯錯誤,大致情況如下:

e:/software/microsoft visual studio 9.0/vc/atlmfc/src/mfc/afximpl.h(625) : error C2059: syntax error : '<L_TYPE_raw>'
e:/software/microsoft visual studio 9.0/vc/atlmfc/src/mfc/afximpl.h(625) : error C2238: unexpected token(s) preceding ';'
e:/software/microsoft visual studio 9.0/vc/atlmfc/src/mfc/afximpl.h(629) : error C2059: syntax error : '<L_TYPE_raw>'
e:/software/microsoft visual studio 9.0/vc/atlmfc/src/mfc/afximpl.h(629) : error C2238: unexpected token(s) preceding ';'

合理調整stdafx.h中WINVER、_WIN32_WINNT、_WIN32_WINDOWS和_WIN32_IE的設置可以避免這個問題,將三個與Windows版本有關的環境變量設置為0x0501或更高版本,將IE版本的環境變量設置為0x0500以后的版本就可以解決這個問題。當然,考慮到與舊的VC6代碼兼容,可以采用上一個問題中提到的最后一個解決辦法,用_MSC_VER進行隔離。


三、 舊的CRT庫和新的安全CRT庫引起的C4996告警

??? 解決了環境變量設置不匹配導致的問題后,編譯過程就真正開始了,不過首先映入眼簾的應該是成堆的C4996編譯告警,對每個使用了含字符串參數的CRT庫函數都會有C4996編譯告警,一個典型的輸出如下所示:

f:/project/...../commonfunc.cpp(280) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
e:/software/microsoft visual studio 9.0/vc/include/string.h(74) : see declaration of 'strcpy'

??? MSDN online 是這樣解釋的:為了顯著增加CRT庫的安全性,許多CRT函數都有了一個更安全的新版本,新版本和舊版本的區別就是新版本函數名多了一個_s后綴。只要一個CRT函數有新的安全版本,編譯器就會產生一個C4996告警,不過,出現這個告警的目的并不是說舊版本的CRT函數將淡出CRT庫,告警出現只是為了提醒程序員這個函數有更安全的版本存在。一種安全的或者是被鼓勵的做法是用安全版本的函數替換現有的CRT函數,不過對于一個有相當代碼量的項目,替換工作量也是巨大的,這可不是用名稱查找、替換就能簡單解決的問題,因為許多安全版本的CRT函數參數個數也發生了變化。也可以用預處理指令消除這個告警:
#pragma warning( disable : 4996 )
或者定義 _CRT_SECURE_NO_WARNINGS 壓制這個告警(在stdafx.h中define或在項目屬性中設置預處理符號,PreProcessor Definitions)。

??? 除了C語言的CRT函數外,POSIX 兼容函數也存在這個告警,解決方法是用POSIX標準名稱替換(比如access換成_access)或者是定義 _CRT_NONSTDC_NO_WARNINGS 壓制這個告警(方法同上)。


四、“CWinApp::Enable3dControls”引起的C4996告警

??? 這個是編譯使用了老的向導生成的MFC代碼時遇到的問題,一個典型的告警信息輸出如下所示:

CrpFileCrack.cpp
f:/project/...../crpfilecrack.cpp(52) : warning C4996: 'CWinApp::Enable3dControls': CWinApp::Enable3dControls is no longer needed. You should remove this call.
??????? e:/software/microsoft visual studio 9.0/vc/atlmfc/include/afxwin.h(4818) : see declaration of 'CWinApp::Enable3dControls'

通常向導生成的代碼是:

#ifdef _AFXDLL
??? Enable3dControls();?? ??? ??? ?// Call this when using MFC in a shared DLL
#else
??? Enable3dControlsStatic();?? ?// Call this when linking to MFC statically
#endif

這兩個函數的調用是舊的MFC版本對新版本的操作系統特性的支持,在新的(那個時候是新的)Windows 95平臺上要這樣調用一下才能使用新的Windows 3D樣式的控件,否則就是老的Win 3.2樣子的控件。想當初喜歡OWL就是因為感覺它的控件比較“酷”,比如那個帶底紋的對話框,菱形的checkbox,還有帶圖標的“OK”按鈕,看到MFC作出來的灰灰的界面就覺得土,不過后來就知道MFC做界面也是很漂亮的,比如我做的。。。。,再打住。對于新的MFC版本來說已經不需要再調用這兩個函數了,參考前面的方法,用_MSC_VER對其隔離就行了:

#if _MSC_VER <= 1200 // MFC 6.0 or earlier
?? ?#ifdef _AFXDLL
?? ??? ?Enable3dControls();?? ??? ??? ?// Call this when using MFC in a shared DLL
?? ?#else
?? ??? ?Enable3dControlsStatic();?? ?// Call this when linking to MFC statically
?? ?#endif
#endif


五、.def文件引起的連接告警

??? 對于普通的DLL項目中使用的.def文件通常會引起LNK4017鏈接告警,如下所示:

./ComFunc.def(4) : warning LNK4017: DESCRIPTION statement not supported for the target platform; ignored
?? Creating library ./../Debug/ComFunc.lib and object ./../Debug/ComFunc.exp

一個典型的.def文件通常有以下內容:

LIBRARY????? "XorCryptor"
DESCRIPTION? 'XorCryptor Windows Dynamic Link Library'

EXPORTS
??? ; Explicit exports can go here
??? ..................
消除這個連接告警的方法就是從.def文件中刪除DESCRIPTION描述信息,不過這個告警也不是什么大問題,不刪也可以。另一個可能產生的連接告警是LNK4222,通常出現在ocx控件和com組件的項目中,一個典型輸出是:

Linking...
./PlusInModule.def : warning LNK4222: exported symbol 'DllCanUnloadNow' should not be assigned an ordinal
./PlusInModule.def : warning LNK4222: exported symbol 'DllGetClassObject' should not be assigned an ordinal
./PlusInModule.def : warning LNK4222: exported symbol 'DllRegisterServer' should not be assigned an ordinal
./PlusInModule.def : warning LNK4222: exported symbol 'DllUnregisterServer' should not be assigned an ordinal

出現這個告警的原因是舊的項目的.def文件通常這樣定義ocx和com必需的四個導出函數:
EXPORTS
?? ?DllCanUnloadNow???? @1 PRIVATE
?? ?DllGetClassObject?? @2 PRIVATE
?? ?DllRegisterServer?? @3 PRIVATE
?? ?DllUnregisterServer?? ?@4 PRIVATE

其中為這四個重要的導出函數指定了四個順序號。Windows平臺上通常用兩種方式定位DLL文件中的導出函數,一種是根據導出函數名稱,一種是根據順序號,上學時曾經寫過一個顯示圖片的程序,能處理大多數當時流行的圖像格式文件,唯獨jpeg格式的搞不定,有一次看到一個圖像處理軟件中包含了一個LoadJpeg.dll,很顯然這個DLL是處理jpeg格式的圖像文件的嘛,于是趕快用depends look了一下,頓時高喊:鬼啊~~~。原來這個depends竟然查不到導出函數的名字,后來才知道還有NONAME參數強制用順序號定位導出函數,于是就常常弄個沒有導出函數名字的DLL到處show。。。。嗯,又扯遠了。話說為什么舊的系統要以此指定這四個導出函數的順序號我就沒有研究了,反正現在不需要指定了,只要將@1,@2之類的刪除就行了,不過不刪好像也沒什么問題,它們會被自動忽略。


六、使用MFC的消息映射宏引起的編譯錯誤

??? 錯誤現象之一:

f:/project/...../plusmaindlg.cpp(220) : error C2440: 'static_cast' : cannot convert from 'void (__thiscall CPlusMainDlg::* )(int,BOOL)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
??????? None of the functions with this name in scope match the target type

??? 錯誤現象之二:
f:/project/...../crpfileopavdlg.cpp(87) : error C2440: 'static_cast' : cannot convert from 'LRESULT (__thiscall CCrpFileOpavDlg::* )(LPCTSTR,int)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
??????? None of the functions with this name in scope match the target type

??? 以上兩個編譯錯誤產生是因為新舊版本的MFC 中對ON_MESSAGE消息映射宏定義不同引起的,先看看老版本的MFC的ON_MESSAGE消息宏定義:

#define ON_MESSAGE(message, memberFxn) /
?? ?{ message, 0, 0, 0, AfxSig_lwl, /
?? ??? ?(AFX_PMSG)(AFX_PMSGW)(LRESULT (AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM))&memberFxn },

再看看新版本的ON_MESSAGE定義:

#define ON_MESSAGE(message, memberFxn) /
?? ?{ message, 0, 0, 0, AfxSig_lwl, /
?? ??? ?(AFX_PMSG)(AFX_PMSGW) /
?? ??? ?(static_cast< LRESULT (AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM) > /
?? ??? ?(memberFxn)) },

注意,函數類型沒有變化,都是:
LRESULT (AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM);
類型的函數指針(CWnd以及派生類的類成員函數指針),區別之處是新的ON_MESSAGE宏使用C++的 static_cast 操作符代替了C類型的強制轉換。產生這兩個錯誤其實是因為用戶沒有按照ON_MESSAGE宏的約定聲明和定義消息響應函數造成的,比如,對于某些不需要處理返回值的消息響應函數,用戶通常這樣聲明和定義消息響應函數:

在頭文件中聲明:
afx_msg void OnFileProcess(WPARAM wParam,LPARAM lParam);

在源文件中實現:
void CCrpFileOpavDlg::OnFileProcess(WPARAM wParam, LPARAM lParam)
{
.......
}

或者更過分一些,直接指定為實際參數類型:

在頭文件中聲明:
afx_msg void OnFileProcess(LPCTSTR lpszMessage, int nPercent);

在源文件中實現:
void CCrpFileOpavDlg::OnFileProcess(LPCTSTR lpszMessage, int nPercent)
{
.......
}

舊版本的ON_MESSAGE使用了C類型的強制轉換,宏解開后的代碼后不會產生錯誤信息,但是改成對類型檢查很嚴格的static_cast 操作符時就出問題了,因為通不過static_cast 操作符的檢查。解決方法就是修改代碼,同時吸取教訓,普遍使用的方法并不一定就能約定俗成,一切還是要按照規矩來。


??? 錯誤現象之三:

f:/project/...../WzButton.cpp(74) : error C2440: 'static_cast' : cannot convert from 'UINT (__thiscall CWzButton::* )(CPoint)' to 'LRESULT (__thiscall CWnd::* )(CPoint)'
??????? Cast from base to derived requires dynamic_cast or static_cast

??? 出現這個錯誤的原因可是“人力不可抗拒”之原因造成的,因為舊版本的 ON_WM_NCHITTEST 宏使用了
UINT (__thiscall CWzButton::* )(CPoint);
類型的類成員函數指針,其定義如下:

#define ON_WM_NCHITTEST() /
?? ?{ WM_NCHITTEST, 0, 0, 0, AfxSig_wp, /
?? ??? ?(AFX_PMSG)(AFX_PMSGW)(UINT (AFX_MSG_CALL CWnd::*)(CPoint))&OnNcHitTest },

但是新版本變成了:

#define ON_WM_NCHITTEST() /
?? ?{ WM_NCHITTEST, 0, 0, 0, AfxSig_l_p, /
?? ??? ?(AFX_PMSG)(AFX_PMSGW) /
?? ??? ?(static_cast< LRESULT (AFX_MSG_CALL CWnd::*)(CPoint) > (&ThisClass :: OnNcHitTest)) },

注意返回值類型由UINT改成了LRESULT,再加上static_cast的嚴格檢查,所以就出錯了。修改的方法就是將你的OnNcHitTest函數由:

afx_msg UINT OnNcHitTest(CPoint point);

改成:

afx_msg LRESULT OnNcHitTest(CPoint point);

不必太在意,這個不是你的錯,不過,如果你要維護一個老的界面庫(通常很多控件的subclass都會用到ON_WM_NCHITTEST),改起來還是很痛苦地,不扯了,繼續下一個。


七、statreg.cpp 和 atlimpl.cpp 的廢棄(obsolete)問題

??? 在編譯老的ATL向導生成的代碼時,會遇到下面的編譯輸出:

StdAfx.cpp
statreg.cpp is obsolete. Please remove it from your project.
atlimpl.cpp is obsolete. Please remove it from your project.

因為老的ATL向導生成的代碼通常在stdafx.cpp文件中添加以下代碼:

#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#include <statreg.cpp>
#endif

#include <atlimpl.cpp>

根據提示刪除#include <statreg.cpp>和#include <atlimpl.cpp>兩行代碼就行了,不過更好的辦法是這樣改:

#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#if _MSC_VER <= 1200 // MFC 6.0 or earlier
#include <statreg.cpp>
#endif
#endif

#if _MSC_VER <= 1200 // MFC 6.0 or earlier
#include <atlimpl.cpp>
#endif




八、新的C++編譯器不再支持默認類型的變量定義


錯誤現象是:


f:/project/...../WzCheckBox.cpp(464) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

產生這個錯誤的原因是程序中出現了這樣的代碼:

const some_const_var = 10;



static some_static_bool = FALSE;

新的C++編譯器嚴格按照C++標準,不再支持默認類型的變量定義方式,必須嚴格指定變量類型,如下使用:

const int some_const_var = 10;



static BOOL some_static_bool = FALSE;


九、for 語句的變量作用域問題

??? 考察下面的代碼:

for(int i = 0; i < 120; i++)
{
??? if(something_happen)
??? {
???????? break;
??? }
.............
}

if(i < 120)
{
??? //something happen
}

在VC6的編譯器中,這樣的代碼是沒有問題的,因為VC6的編譯器為了兼容舊的Microsoft C/C++編譯器,沒有嚴格按照C++標準執行,但是從VC7開始,VC的編譯器開始遵守C++標準,所以就會出現“變量i沒有定義的錯誤”。解決的方法也很簡單,按照Jim Hyslop 和 Herb Sutter的經典對話系列的第四篇中的方法,改成如下就可以了:

int i;
for(i = 0; i < 120; i++)



十、字符串函數的返回值問題

??? strchr(_tcschr)、strpbrk(_tcspbrk ??)、strrchr(_tcsrchr)和strstr(_tcsstr)這四個函數在VC6的CRT庫中定義的返回值都是char *(TCHAR *),所以以前的代碼通常是這樣使用的:

TCHAR *cp = _tcschr( pszPath, _T('//') );
//使用*cp,可以通過cp指針修改pszPath的內容

這其實是一個“漏洞”,因為如果pszPath是const char(TCHAR) *字符串,那么就表示它不希望修改字符串的內容,但是調用strchr(_tcschr)函數后就可以通過cp指針修改其內容了,這豈不荒謬?所有在新版本的CRT庫中,這幾個函數的返回值都改成const char *,這就會導致上面的代碼產生編譯錯誤。建議的修改方式是改成如下方式:

const TCHAR *cp = _tcschr( pszPath, _T('//') );
//不能再通過cp指針修改pszPath的內容

但是這樣修改可能對代碼的影響比較大,比如下面的代碼:
TCHAR buf[256]; //局部緩沖區
......
TCHAR *cp = _tcschr( buf, _T('//') );
//作為局部緩沖區(非const),希望通過cp修改buf的內容

這種情況怎么辦呢?對了,C++還有個const_cast操作符,這時就可以排上用場了:

TCHAR *cp = const_char<TCHAR *>(_tcschr( buf, _T('//') ));

不過上面的方法要慎用,除非確定buf是非const的,否則最好老老實實地修改代碼。




十一、類成員函數指針做為函數參數的“C3867”錯誤

??? 考察下面的代碼,CWzWindowsHook類的構造函數使用一個該類的成員函數指針,這樣構造對象時可以選擇消息過濾的handler,可以是MouseMsgFilter,也可以是KeyboardMsgFilter:

typedef? BOOL (CWzWindowsHook::*FILTERPROC)(WPARAM wParam, LPARAM lParam);

// A hook used in customization sheet to filter keyboard/mouse events
class CWzWindowsHook
{
private:
?? ?FILTERPROC m_pFilter;
?? ?BOOL MouseMsgFilter(WPARAM wParam, LPARAM lParam);
?? ?BOOL KeyboardMsgFilter(WPARAM wParam, LPARAM lParam);
public:
?? ?CWzWindowsHook(FILTERPROC pFilter) : m_pFilter(pFilter)


舊的遺留代碼存在這樣的用法:

CWzWindowsHook mouseHooker(CWzWindowsHook::MouseMsgFilter);

在VC6的編譯器下編譯可能沒有問題,但是在VC9的編譯器下編譯會有如下報錯:

f:/project/...../WzWindowsHook.cpp(272) : error C3867: 'CWzWindowsHook::MouseMsgFilter': function call missing argument list; use '&CWzWindowsHook::MouseMsgFilter' to create a pointer to member

雖然C++從C繼承來了函數名即是函數地址的語法規則,但是根據C++的標準,類成員函數的指針仍然需要一個取地址符“&”。解決方法很簡單,按照提示改成如下代碼即可:

CWzWindowsHook mouseHooker(&CWzWindowsHook::MouseMsgFilter);



十二、wchar_t *類型與USHORT *的轉換錯誤

??? VC6的編譯器不支持wchar_t數據類型,wchar_t實際上被定義成unsigned short,VC9的編譯器已經支持wchar_t為內置數據類型,但是由一個編譯選項控制,這個選項默認是打開的,也就是將wchar_t作為編譯器的內置數據類型。但是OLECHAR和WCHAR的定義仍然是unsigned short,在VC6的編譯環境中,兩者的指針都是USHORT *,相互賦值和做為函數參數傳遞沒有問題,但是如果wchar_t作為編譯器的內置數據類型,那就意味著wchar_t *與OLECHAR *或WCHAR *是兩種不同類型的指針,相互賦值就會報編譯錯誤,下面的信息就是一個典型的錯誤輸出:

f:/project/...../shellpidl.cpp(290) : error C2664: 'MultiByteToWideChar' : cannot convert parameter 5 from 'USHORT *' to 'LPWSTR'
??????? Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

解決的方法就是使用C++的reinterpret_cast操作符或使用C-style強制轉換,當然也可以在項目屬性設置中關閉前面提到的那個選項(這個偶美試過,不知道會不會有其它問題)。


總結

以上是生活随笔為你收集整理的从VC6到VC9移植代码问题总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

手机在线观看国产精品 | 97成人精品 | 亚洲做受高潮欧美裸体 | 久久艹99| 久久99亚洲精品久久久久 | 日韩欧美高清在线 | 久久久久久97三级 | 97精品国产97久久久久久久久久久久 | 日韩精品视频在线观看网址 | 婷婷99| 中文字幕色播 | 国产在线国偷精品产拍免费yy | 天天插一插 | 91精品视频一区二区三区 | 亚洲精欧美一区二区精品 | 国产精品成人免费精品自在线观看 | 久久久久久久久久久久久久电影 | 亚洲影视九九影院在线观看 | 国产在线观看av | 免费网站在线 | 深爱激情亚洲 | 精品综合久久 | 91av免费在线观看 | 麻豆视频国产 | 免费黄色看片 | 99人久久精品视频最新地址 | 香蕉视频91 | 激情婷婷久久 | 97超碰中文 | 国产69熟 | 亚洲区另类春色综合小说校园片 | 一本一本久久a久久精品综合小说 | 97在线看片 | 在线观看视频精品 | 99精品一区 | 日韩激情免费视频 | 久久久久亚洲最大xxxx | 人成在线免费视频 | 欧美日韩视频网站 | 波多野结衣精品在线 | 国产高清精品在线观看 | 91九色国产在线 | 色伊人网| 国产偷v国产偷∨精品视频 在线草 | 国产精品视频免费观看 | 国产91免费在线观看 | 久久久精品国产免费观看一区二区 | 亚洲综合欧美激情 | 99久久影院 | 特级黄色视频毛片 | 日韩欧美亚洲 | 精品国产免费久久 | 婷婷色社区| 国产精品免费久久久久久久久久中文 | 最近中文字幕视频完整版 | 中文字幕在线观看视频免费 | 日本一区二区三区免费观看 | 国产麻豆剧传媒免费观看 | 免费看成人 | 国产精品毛片完整版 | 午夜资源站 | 一区二区三区中文字幕在线 | 免费黄色av. | 激情久久久久久久久久久久久久久久 | 中文字幕欧美三区 | 狠狠色狠狠综合久久 | 亚洲黄色片一级 | 亚洲区视频在线观看 | 成人av在线网 | 亚洲国产偷 | 在线看不卡av | 97视频免费观看2区 亚洲视屏 | 99精品视频在线观看免费 | 一区三区视频在线观看 | 看污网站| 黄色资源网站 | 中文字幕亚洲综合久久五月天色无吗'' | 久久国产一区二区三区 | 国产黄a三级三级 | 色中文字幕在线观看 | 亚洲男男gaygayxxxgv| 色网站在线 | 免费av电影网站 | 国产精品手机在线 | 精品国产一区二区三区四区vr | 婷婷在线免费 | 日本一区二区高清不卡 | 久草在线这里只有精品 | 国产伦精品一区二区三区免费 | 狠狠色丁香久久婷婷综合丁香 | 亚洲一区二区精品 | 五月综合久久 | 97av在线视频 | 国产精品一区二区三区在线看 | 亚洲精选视频在线 | 欧美一区二区在线免费观看 | 国产一级91 | 麻豆视频大全 | 国产精品18久久久久久不卡孕妇 | 久精品一区 | 一性一交视频 | 2021av在线 | 久久久久久久久久久久久影院 | 97成人免费视频 | 一区 二区 精品 | 99精品欧美一区二区蜜桃免费 | 久久国产一区二区 | 一区二区精品视频 | 精品女同一区二区三区在线观看 | 久久福利剧场 | 久久av观看 | 天天综合天天综合 | 欧美aa在线 | 日韩av免费网站 | 五月天激情视频在线观看 | 欧美精品乱码久久久久久 | 99免费精品视频 | 国产成人黄色 | 久保带人 | 在线a人v观看视频 | 国产高清中文字幕 | 国产国语在线 | 日本中文字幕系列 | 日韩二区在线 | 亚洲涩涩网 | 久草网站在线观看 | 精品久久综合 | 探花视频在线观看+在线播放 | 99产精品成人啪免费网站 | 手机色站 | 国产精品一区二区久久精品 | 国产精品一区免费看8c0m | 亚洲涩涩网站 | 国产一区黄色 | 日韩精品一区二区三区三炮视频 | 成人av中文字幕 | 日韩,中文字幕 | 丝袜av网站 | 中文字幕首页 | 9999亚洲| 色射爱 | 国产黄免费 | 精品美女久久久久 | 国产黄色视 | 日韩av中文字幕在线 | 久久99视频免费 | 国产黄色免费电影 | 日本美女xx | 久久久免费av | 国产视频精选在线 | 日韩电影一区二区在线观看 | 日韩在线短视频 | 黄色成品视频 | 色狠狠狠 | 日韩欧美一区二区三区在线观看 | 黄色亚洲在线 | 日韩视频在线播放 | 国产精品成人自产拍在线观看 | 国产网红在线观看 | 国产成人精品一区二区在线观看 | 在线免费观看黄网站 | 天天天天天天天操 | 在线国产黄色 | 在线日韩视频 | 成人一区二区三区中文字幕 | 国产精品美女视频网站 | 午夜影视一区 | 又黄又刺激视频 | av丁香| 91成人在线视频观看 | 欧美激情视频一二三区 | 日韩免费中文字幕 | 一区二区视频欧美 | 国内精品久久久久影院优 | 国产白浆在线观看 | 免费视频色 | 激情伊人 | av成人免费在线看 | 99热精品国产一区二区在线观看 | 免费视频a | 婷婷中文字幕 | 中文字幕在线播放一区二区 | 亚洲黄色a | 免费91麻豆精品国产自产在线观看 | 国产天天综合 | 久久国产精品一区二区三区四区 | 一区二区三区在线观看 | 人操人| 成年人黄色免费看 | 亚洲天堂网视频 | 亚洲成人蜜桃 | 国产传媒中文字幕 | 亚洲精品男人天堂 | 欧美午夜理伦三级在线观看 | 99久在线精品99re8热视频 | 国产午夜精品一区二区三区 | 天天插日日射 | 久久成 | 在线观看视频中文字幕 | 黄色小说在线观看视频 | 精品999在线观看 | 免费一级毛毛片 | 色综久久 | 又黄又爽的免费高潮视频 | 精品久久中文 | 国产视频久久 | av亚洲产国偷v产偷v自拍小说 | 色停停五月天 | 久久成人在线视频 | 又大又硬又黄又爽视频在线观看 | 99热亚洲精品 | 看片的网址| 国产一级片免费观看 | 人人操日日干 | 精品久久久久国产免费第一页 | 国产福利91精品一区 | 中文字幕亚洲精品日韩 | www免费看 | 国产高清视频在线 | 国产一区观看 | 欧美xxxx性xxxxx高清 | 日韩欧美视频在线播放 | 最近高清中文在线字幕在线观看 | 欧美日韩精品在线 | 97久久精品午夜一区二区 | 国产精品久久久免费 | 成人h视频在线播放 | 久久a久久 | 超碰在线人人 | 久草在线网址 | 一级片免费观看 | 亚洲电影毛片 | 91在线精品秘密一区二区 | 国产精久久 | 久久国产精品99久久久久久丝袜 | 免费看在线看www777 | 99久久久久久久 | 亚洲午夜av久久乱码 | 久久久国产精品久久久 | 99视频在线精品免费观看2 | 久久精品视频免费 | 久草视频在线资源 | 天天爱天天舔 | 国产精品美女久久久久久久网站 | 日日夜夜天天射 | 亚洲综合五月天 | 久久精品久久国产 | 精品欧美一区二区在线观看 | 18+视频网站链接 | 特黄特色特刺激视频免费播放 | www.天天操.com | 青草草在线 | 亚洲成人午夜av | 国产视频久久久久 | 国产美女精品视频 | 国产 在线观看 | 日日干视频 | 国产精品一区二区三区四区在线观看 | 在线观看av中文字幕 | 国产最新福利 | 狠狠操操操 | 精品一区二区三区在线播放 | 亚洲国产精品成人综合 | 黄色三级网站在线观看 | 狠狠干网 | 又长又大又黑又粗欧美 | 国产明星视频三级a三级点| 亚洲视频一区二区三区在线观看 | 99在线热播精品免费 | 婷婷五月情 | 国产精品高清免费在线观看 | 色综合亚洲精品激情狠狠 | 婷婷社区五月天 | 精品在线播放视频 | 青青草国产精品视频 | 精品亚洲视频在线观看 | a视频在线观看免费 | 五月婷丁香网 | 国产亚洲精品久久久网站好莱 | 日日夜夜免费精品视频 | 欧美一区二区伦理片 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 亚洲国产精品小视频 | 青青色影院 | 丁香花在线观看免费完整版视频 | 国产精品一区久久久久 | 日韩一二区在线 | 婷婷久操| av高清网站在线观看 | 久久理论电影网 | 日韩av影视| japanesefreesex中国少妇 | 久久精品123| av电影免费看 | 国产97在线视频 | 亚洲撸撸 | 热re99久久精品国产66热 | 在线国产福利 | 99久久精品久久久久久清纯 | 日韩欧美大片免费观看 | 视频91在线 | 精品久久久久一区二区国产 | 91女人18片女毛片60分钟 | 久久综合免费视频 | 亚洲人在线7777777精品 | 国产精品视频全国免费观看 | 狠狠做深爱婷婷综合一区 | 久草视频在线播放 | 中文字幕精品一区二区三区电影 | 成人免费毛片aaaaaa片 | 色综合天天视频在线观看 | av免费网页 | 波多野结衣在线观看一区 | 久久综合色一综合色88 | 欧美福利视频一区 | 网站在线观看你们懂的 | 日韩中文字幕国产精品 | 国产视频1区2区3区 久久夜视频 | 91精选| avove黑丝| 深爱激情五月网 | 久久久国产精品亚洲一区 | 婷婷成人综合 | 日韩免费视频线观看 | 精品在线观看一区二区 | 天天操人 | 亚洲色图色 | 天堂黄色片 | 深爱激情开心 | 最新超碰| 日日夜夜网 | 久久久精品影视 | 久久成人午夜视频 | 日韩专区 在线 | 狠狠色噜噜狠狠狠狠 | 欧美日本高清视频 | 国产黑丝袜在线 | 国产精品无 | 免费av片在线 | 国产高清在线观看av | 亚洲精品国产精品国自产观看浪潮 | 日韩美一区二区三区 | 日本黄色免费在线观看 | 激情婷婷av | 精品久久91| 欧美视频在线观看免费网址 | 91高清一区 | 91亚洲精品久久久蜜桃 | 色综合久久88色综合天天人守婷 | 成人免费视频播放 | 2021国产在线视频 | 中文av网 | 欧美日韩在线视频观看 | 狠狠色狠狠色合久久伊人 | 成 人 黄 色 片 在线播放 | 国产 欧美 在线 | 日本精品视频在线观看 | 探花视频免费在线观看 | 成人免费视频观看 | 国产精品一区久久久久 | 亚洲精品久久久久999中文字幕 | 久草在线视频首页 | 亚洲天天在线日亚洲洲精 | 欧美日韩有码 | 久久精品小视频 | 六月色播| 美女视频网| 国产黄大片 | 在线看一区二区 | 亚洲一级电影在线观看 | www.精选视频.com | 丁香九月婷婷 | 青青河边草观看完整版高清 | 韩国一区二区av | 玖操 | 免费黄色一区 | 在线视频 国产 日韩 | 人人澡人摸人人添学生av | 美女视频a美女大全免费下载蜜臀 | 久久免费99精品久久久久久 | www久久| 天天天天色综合 | 久久久久久久99 | 中文免费 | 97福利在线| 欧美性免费| 亚洲精品成人 | 91精彩视频在线观看 | 久久国产精品免费 | 91欧美日韩国产 | 97国产精品免费 | 一区二区三区福利 | 丁香六月中文字幕 | 在线导航福利 | 久久久久久久久久久久国产精品 | 久久精品国产第一区二区三区 | 人人爱人人爽 | 91九色蝌蚪在线 | 久久狠狠婷婷 | 国产aa精品| 精品视频久久久久久 | 波多野结衣一区三区 | 久久综合给合久久狠狠色 | 色婷婷狠狠五月综合天色拍 | 狠狠干 狠狠操 | 7777xxxx| 国内揄拍国产精品 | 精品国产视频在线观看 | 成人av网站在线播放 | 国产高潮久久 | 91插插插免费视频 | 国产精品一区免费看8c0m | 亚洲精品在线观看网站 | 国产精品久久99精品毛片三a | 成年人在线 | 午夜美女视频 | 水蜜桃亚洲一二三四在线 | av国产网站 | 国产免费久久久久 | 亚洲六月丁香色婷婷综合久久 | 亚洲精品午夜久久久久久久久久久 | 99热最新| 国产精品高潮久久av | 五月天综合色激情 | 在线免费观看的av | 91亚洲精品久久久中文字幕 | 欧美日韩国产页 | 欧美一区二区精美视频 | 人人添人人澡 | 国产又粗又猛又黄 | 黄色av免费看 | 日韩爱爱片 | 国语黄色片 | 欧美日韩中文国产一区发布 | 五月天狠狠操 | 91亚洲夫妻 | 狠狠躁夜夜躁人人爽视频 | 国产精品成人一区二区 | 97精品国产97久久久久久春色 | 99热.com | 国产老妇av | 日韩在线 | 在线免费观看黄色小说 | 免费a视频 | 手机看片99 | 超碰97在线人人 | 欧美精品在线观看免费 | 免费在线观看黄色网 | 波多野结衣网址 | 国产高清专区 | 亚洲年轻女教师毛茸茸 | 久久精品美女 | 亚洲3级 | 久久久久高清毛片一级 | 在线探花 | 久久久久国产成人精品亚洲午夜 | 精品久久99 | 成人免费视频播放 | 久久亚洲精品国产亚洲老地址 | 中文在线 | 久久少妇av | 激情网第四色 | 国产人免费人成免费视频 | 麻豆视频91 | 99热这里只有精品8 久久综合毛片 | 91久久丝袜国产露脸动漫 | 美女免费网视频 | 中文字幕在线观看免费观看 | 国产91av视频在线观看 | 国产v亚洲v| 国产日韩精品久久 | 在线观看中文字幕一区 | 99在线免费观看 | 成人在线网站观看 | 日韩影片在线观看 | 欧美日韩啪啪 | 一级片视频在线 | 中文字幕永久 | 国产999在线观看 | 色婷婷视频在线观看 | 色综合综合 | 国产精品久久久久久久久搜平片 | 成人91在线 | 日韩在线免费不卡 | 正在播放 国产精品 | 97天天干 | 免费观看国产精品视频 | 久久免费黄色大片 | 久久午夜影视 | a级一a一级在线观看 | 四虎影视久久久 | 91看毛片 | 欧美一二区在线 | 色综合久久久久综合体 | 欧美另类成人 | 国产一级在线观看视频 | 日韩一区二区三区高清在线观看 | 在线看黄色的网站 | 国产精品久久久久久久久久新婚 | 国产片免费在线观看视频 | 亚洲精选在线观看 | 国产99re| www.狠狠色 | 91九色网址| 日韩在线理论 | av在线com| 精品国产一区二区三区四区vr | 91精品视频免费在线观看 | 欧美a级在线免费观看 | 天天干天天在线 | 在线性视频日韩欧美 | 视频一区二区三区视频 | 91在线免费看片 | 久久综合爱| 狠狠精品| 日韩视频1| 欧美一区成人 | 美女网站黄在线观看 | 久久网站免费 | 日韩成人在线免费观看 | 国产高清综合 | 在线观看蜜桃视频 | 探花系列在线 | aⅴ视频在线| 国产大片黄色 | 色播五月婷婷 | 视频在线观看入口黄最新永久免费国产 | 午夜视频在线观看一区二区三区 | 九九九热精品免费视频观看 | 日韩精品一区二区三区视频播放 | 中文字幕美女免费在线 | 精品国产午夜 | 中文字幕在线第一页 | 亚洲精品videossex少妇 | 亚洲激情网站免费观看 | 91亚洲欧美激情 | 国产精品福利在线 | 久草在线观看视频免费 | 91污在线观看 | 国产一二三区av | 日日干网址 | 亚洲黄色大片 | 在线婷婷| 麻豆精品视频 | 叶爱av在线 | 久久综合欧美 | 欧美视频在线观看免费网址 | 久久久网址| bbbbb女女女女女bbbbb国产 | 久久精品日本啪啪涩涩 | 久久亚洲视频 | 国产专区视频在线观看 | 黄污在线观看 | 国产小视频免费在线网址 | 国产女人40精品一区毛片视频 | 特黄特色特刺激视频免费播放 | 欧美黄网站 | 五月婷丁香网 | 中文理论片 | 午夜视频在线观看网站 | 黄色亚洲在线 | 国产综合视频在线观看 | 国产成人精品综合久久久久99 | 97香蕉超级碰碰久久免费软件 | 日操操 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 欧美一级小视频 | 久久久久久免费视频 | 成人a在线观看高清电影 | 天天射天天搞 | 日韩午夜在线 | 国语精品免费视频 | 成片人卡1卡2卡3手机免费看 | 超级碰碰碰免费视频 | 国产伦精品一区二区三区在线 | 91福利在线导航 | 欧美影院久久 | 九九九免费视频 | av视屏在线 | 天堂在线一区二区三区 | 五月婷婷导航 | 97热在线观看| 成人免费看电影 | 狠狠干网址 | 欧美激情视频三区 | 国产精品一区在线观看你懂的 | 一区二区三区精品在线视频 | 亚洲欧美日韩国产精品一区午夜 | 色婷婷成人| 91女神的呻吟细腰翘臀美女 | 一区二区电影网 | 999久久久久久久久 69av视频在线观看 | 中文字幕久久精品 | 日本婷婷色 | 91av在线不卡| 亚洲视频精选 | 国产色 在线 | 国产香蕉视频 | 成人av资源站 | 偷拍精偷拍精品欧洲亚洲网站 | 婷婷六月综合亚洲 | 97偷拍在线视频 | 久久人人97超碰国产公开结果 | 亚洲精品在线观看的 | 欧美成a人片在线观看久 | 天天摸日日操 | 欧美精品第一 | 久草在线中文888 | 狠狠色丁香九九婷婷综合五月 | 婷婷色在线资源 | 久久精品一区二区三区中文字幕 | 六月丁香激情综合 | 国产精品尤物视频 | 亚洲 欧洲av| 国产99在线 | 欧美色图88 | 久久久wwww| 国内精品在线观看视频 | 亚洲伦理中文字幕 | 激情av在线资源 | 国产精品对白一区二区三区 | 日韩久久久久久久 | 中文字幕乱码电影 | 在线观看中文字幕亚洲 | 国产精品大片在线观看 | 欧美一级黄大片 | 亚洲成aⅴ人片久久青草影院 | 婷婷九九 | 丁香午夜 | 国产精品久久久久免费观看 | 久久视频在线观看中文字幕 | 99久免费精品视频在线观看 | 91精品久久久久久 | 91日韩精品一区 | 97超碰在线视| 欧美激情精品久久久久久免费 | 亚洲一区二区高潮无套美女 | 亚洲欧美日韩精品一区二区 | 国产精品99久久99久久久二8 | 日韩在线观看视频网站 | 久久久www成人免费毛片麻豆 | 亚洲女欲精品久久久久久久18 | 国产精品久久久久久久免费观看 | 色干综合 | 91精品播放 | 天天干天天摸天天操 | 国产成人精品综合 | 久久在线精品 | a在线播放 | 色中色亚洲 | 国产精品九九久久99视频 | 欧美在线视频一区二区 | 成人app在线播放 | 欧美一级片免费观看 | 麻豆视频在线免费看 | 欧美成人精品xxx | 亚洲高清91| 五月婷婷av | 国产成人久久精品77777综合 | 久久久免费毛片 | 在线免费观看黄色av | 亚洲乱码久久 | 综合影视 | 婷色在线| 亚洲国产人午在线一二区 | 中文字幕在线观看免费观看 | 97精品在线 | 日夜夜精品视频 | 成人中心免费视频 | av免费在线观 | 国产成人777777 | 精品成人久久 | 天天操天天是 | 亚洲欧美国产视频 | 亚洲 精品在线视频 | 三级av网站| 日韩av偷拍 | 91亚洲精品久久久蜜桃网站 | 国产一区二区日本 | 综合伊人久久 | 国产精品久久三 | 国产视频观看 | 91高清免费在线观看 | 欧美一级裸体视频 | 中文字幕av影院 | 久久国产免费 | 欧美精品999 | 亚洲欧美在线综合 | 国产黄色精品在线 | 天天操天天干天天爱 | 欧美日韩中文在线 | 国产精品午夜久久久久久99热 | 九九九热精品免费视频观看 | av中文字幕网 | 狠狠色丁香婷婷综合久久片 | 91桃色免费观看 | 免费在线观看成年人视频 | 亚洲永久在线 | 日免费视频 | 亚洲理论电影网 | 九色琪琪久久综合网天天 | 在线观看国产成人av片 | 国产电影一区二区三区四区 | 久久精品视频在线观看 | 国产精品久久婷婷六月丁香 | 成人永久免费 | 日韩精品在线免费观看 | 综合中文字幕 | 97视频中文字幕 | 久久麻豆精品 | 日韩中文字幕一区 | 国产亚洲精品久久19p | 黄色影院在线播放 | 日韩一区正在播放 | 五月天激情婷婷 | 国产一级久久 | 在线观看亚洲免费视频 | 成x99人av在线www| 激情欧美一区二区免费视频 | 久久99视频免费观看 | 国产91大片 | www.久久久| 五月激情久久久 | 免费在线一区二区 | 亚洲理论在线 | 成人午夜在线观看 | 成人av中文字幕在线观看 | 免费看的黄色网 | 精品在线观看一区二区三区 | 五月天婷婷在线观看视频 | 国产精品九九九九九九 | 亚洲色图27p| 天天操偷偷干 | 久草在线手机视频 | 国产在线a | 中文字幕av免费观看 | 深夜男人影院 | 久久九九精品 | 色干综合 | 91精品国产入口 | 日韩在线视频网址 | 亚洲视频电影在线 | a天堂一码二码专区 | 免费av在线网站 | 奇米网444 | 久久久久国产视频 | 欧美巨大荫蒂茸毛毛人妖 | 91成人短视频在线观看 | 国产精品免费看久久久8精臀av | www.黄色片.com | 免费成人av | 99九九免费视频 | 久久夜色精品国产欧美一区麻豆 | 婷婷亚洲五月 | 久久久久久久久久国产精品 | 中文字幕成人av | 日韩网站在线 | 国产精品久久久久久久久费观看 | 欧洲精品久久久久毛片完整版 | 国产精品成人久久 | 久久九九网站 | 99热免费在线 | 久久精品草| 日本黄色片一区二区 | 国产在线a视频 | 97精品国自产拍在线观看 | 一级黄色a视频 | 日韩精品一区二区三区第95 | 99免费看片 | 激情www| 狠狠干婷婷 | 黄色av三级在线 | 91av亚洲| 久久免费公开视频 | 天天色天天干天天色 | 国产xx视频 | 国产精品手机视频 | 一级片黄色片网站 | 国产久视频 | 黄色在线观看免费 | 91av亚洲| 色av婷婷 | 欧美国产日韩一区二区 | 色综合久久久久久久久五月 | 麻豆视频免费版 | 国产一级免费在线 | 91九色网站 | 在线免费黄色片 | 日韩精品一区二区不卡 | www.夜夜干.com | 亚洲欧洲国产精品 | 一区二区av | 亚洲精品乱码久久久久久蜜桃欧美 | 欧美九九九 | 99精品毛片 | 国产精品一区二区三区在线播放 | 在线免费观看国产视频 | 93久久精品日日躁夜夜躁欧美 | 美女免费网站 | 成年人天堂com | 日一日操一操 | 日韩啪啪小视频 | 丁香婷婷深情五月亚洲 | 国产成人香蕉 | 欧美一区二区在线刺激视频 | 亚洲精品美女久久17c | 精品九九九九 | 欧美整片sss| 日本精品久久久久 | 在线视频 区 | 日韩一区二区三 | 五月天欧美精品 | 亚洲资源片 | av不卡网站 | 精品在线视频观看 | 免费成人av电影 | 婷婷色中文字幕 | 日韩激情一二三区 | 亚洲精品中文字幕在线观看 | www.天天综合| 四虎亚洲精品 | 久久激情视频免费观看 | 99视频偷窥在线精品国自产拍 | 99视频在线观看免费 | 国内综合精品午夜久久资源 | 99热这里只有精品在线观看 | 正在播放 久久 | 日本h在线播放 | 麻豆视频免费在线 | 男女精品久久 | av在线专区 | 狠狠干2018 | 天天射射天天 | 国产高清在线看 | 久久久久久久久久久久久久电影 | 一区二区三区在线免费观看视频 | 亚洲va欧美 | 97激情影院| 国产精品原创av片国产免费 | 91免费的视频在线播放 | 骄小bbw搡bbbb揉bbbb | 久久视频一区 | 人人爽爽人人 | 五月婷婷久 | 69av视频在线观看 | 六月激情久久 | 日韩免费 | 午夜久久福利 | 日本中文字幕在线视频 | 四虎成人精品永久免费av九九 | 久久国产精品免费一区二区三区 | 国产精品专区在线观看 | 亚洲午夜小视频 | 麻豆91小视频| 91在线视频在线观看 | 欧美激情视频一二三区 | 亚洲免费婷婷 | 国产综合激情 | 国产 欧美 日本 | 五月婷婷在线视频观看 | 国产资源在线播放 | 国产日韩精品在线观看 | 天天操天天色天天射 | 日韩精品 在线视频 | 免费特级黄色片 | 成人午夜黄色 | 国产最新福利 | 免费精品在线视频 | 久久精品一区二区三区中文字幕 | 九九久久久久久久久激情 | 久草网在线 | 狠狠干天天色 | 国产1区在线 | 69精品久久久 | 99热9| 欧美日韩国产精品一区二区三区 | 黄色av电影一级片 | 97国产大学生情侣酒店的特点 | 亚洲三级精品 | 日韩欧美视频在线 | 久久久久久国产一区二区三区 | 欧美91精品久久久久国产性生爱 | 婷婷中文在线 | 久久久久国产精品视频 | 日韩高清不卡一区二区三区 | 玖玖在线资源 | 中文字幕成人网 | 国产 日韩 在线 亚洲 字幕 中文 | 日韩三级在线 | 久久久国产精品视频 | 欧美日韩亚洲第一页 | 五月婷在线播放 | 久久99国产综合精品 | 黄色毛片在线 | 99久久激情 | 亚洲综合视频在线 | 中文av在线播放 | 免费av试看| 免费在线观看日韩 | 久久久久久综合 | 亚洲精品一区二区三区高潮 | 99热这里只有精品久久 | 精品夜夜嗨av一区二区三区 | 98涩涩国产露脸精品国产网 | 午夜av一区二区三区 | 国产黄色大片 | 国内精品久久久久国产 | 国产久草在线 | 日韩啪啪小视频 | 一区免费视频 | 白丝av在线 | 97在线视频免费看 | 五月天久久久久 | 天天激情综合网 | 久久久久久久免费观看 | 亚洲综合小说 | 中文字幕色在线视频 | 免费在线成人av | 国产日韩欧美在线观看 | 国产成人精品999 | 国产h在线播放 | 久久这里只有精品视频99 | 美女视频网 | 国产高清不卡在线 | 欧美日韩精品免费观看视频 | 99久久99久国产黄毛片 | 久久精品视频网 | 国产高清福利在线 | 色综合咪咪久久网 | 午夜精品影院 | 亚洲天堂网在线播放 | 国产精品一区二区久久精品爱涩 | 色综合久久久久久久久五月 | www.久久久久 | 99精品影视 | 欧美激情综合五月 | 久久国产精品免费一区二区三区 | 免费a v观看 | 日韩久久精品一区二区三区下载 | 欧美另类一二三四区 | 美女av电影 | 久久男人视频 | 日韩av电影中文字幕在线观看 | 亚洲一区尤物 | 欧美日本中文字幕 | 久久在线免费 | 国产一区在线观看视频 | 精品欧美一区二区在线观看 | 成人在线视频免费 | 国产精品乱码一区二三区 | av在线网站大全 | 久久久久久久久久久久久久免费看 | 色久av| 午夜久久网| 波多野结衣视频一区 | 人人搞人人干 | 亚洲综合色av | 色综合天天综合 | 国产 一区二区三区 在线 | 国产精彩视频一区 | 丝袜美腿av | 热久久这里只有精品 | 免费三级av| 国产精品一区二区精品视频免费看 | 欧美成人理伦片 | 热re99久久精品国产66热 | 亚洲黄色网络 | 国产成人av在线 | 久久综合狠狠综合久久综合88 | 婷婷在线视频观看 | 精品视频免费久久久看 | 狠狠色噜噜狠狠狠狠 | 精品国产一区二区三区久久久 | 中文字幕在线视频免费播放 | 久久婷婷亚洲 | 久久国产精品久久久 | 99精品在线免费在线观看 | 色婷婷88av视频一二三区 | 欧美日韩成人一区 | 国产又黄又爽又猛视频日本 | 亚洲情婷婷 | 欧美一区三区四区 | 成人aaa毛片| 国产日韩精品一区二区三区 | 欧美午夜理伦三级在线观看 | 91精品啪在线观看国产81旧版 | 国产精华国产精品 | 日韩在线观看视频免费 | 8x成人在线 | 久久视精品 | 日韩高清观看 | 一区二区三区四区五区六区 | 国产成人综合在线观看 | av高清网站在线观看 | 久久av一区二区三区亚洲 | 成人四虎 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 欧美精品乱码久久久久久 |