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

2009年1月19日

因為最近要用到RPC,考察了一下thrift(facebook用的一套rpc框架)和google protocol buffer。

thrift支持的語言非常多,不光支持c++,java,python,ruby等非常流行的語言外還支持ocaml,Squeak等很少見的語言,比google protocol buffer好多了,而且已經內置RPC,不像google protocol buffer的RPC還藏著掖著。比較google protocol buffer和thrift的文章比較多,其中google到的比較靠前的一篇blog指出thift的c++版本對windows支持不好,我一開始也是覺得如此,主要是thrift只提供了autoconf,automake作為構建工具,在windows上只能用cygwin或者msys才能比較方便的編譯,而google protocol buffer提供了vc的工程文件。另外在代碼的規范性方面,的確是google protocol buffer更好。

此次移植的目的是在windows上運行的client和compiler,因為server肯定是用linux的,移植沒太大必要。根據我從前移植代碼的經驗,發現妨礙移植的關鍵在于系統api的差異,或者是某些依賴庫的差異,如果差異太大,則移植比較麻煩。另外,在移植時我比較傾向于先移植一個最小的功能集合,并逐步完善。

在泛讀了thrift的代碼和文檔后發現thrift中并沒有用到非常難于移植的api,我先用thrift compiler開始,thrift compiler很簡單,基本不用修改就可以在vc2008上編譯,主要依賴的是flex和bison,在windows下也都不難找到,也可以在linux生成后,再把生成的thriftl.cc,thrifty.cc和thrifty.h直接copy過來使用。編譯完成后發現在處理include和externs的時候有問題,主要是linux和windows的路徑分隔符("/"和"\\")的差異,修改main.cc里面的program_name和directory_name就可以解決了,這個問題在msys下面也存在。

接下來就是client和server了,我打算主要使用Framed Transport+Binary protocol+nonblocking server,因為使用的是libevent(在windows上已經有移植,直接拿過來用就可以了,在linux上面用的是epoll,性能也不錯),也沒有其他的依賴庫,移植起來還是比較方便的。

先從client開始,在TSocket中因為使用了poll來進行超時處理,先改成阻塞方式,將所有的非阻塞和poll相關代碼注釋掉,基本可以編譯成功,然后還有就是ctime_t的地方可以用vc的ctime_s代替,但是dbgtime的長度要改成26。運行tutorial沒什么問題。然后就是加入超時處理了,雖然ms在windows server 2008里面引入了WSAPoll,我用的是xp,只有用select來模擬一個poll了,反正功能差不多,只是接口不太一樣。完成后就可以生成基本的client runtime庫了。

至于server,大致看了一下,里面主要的問題是使用了socketpair和poll,主要是用來做libevent的通知。不過socketpair就自己建兩個socket然后連接起來就可以了,poll用之前client的select模擬實現,移植起來問題應該不大。

client的代碼因為移植時間比較緊,只有半天時間,還沒清理,就不放上來丟人了。

只發一個tutorial的client的exe(需要vc9的runtime才能運行),修改后的Framed Transport+Binary protocol+nonblocking server的linux server代碼和compiler的vc9工程代碼。下載





posted @ 2009-01-19 14:39 BoolKinG| 編輯 收藏

2007年1月8日

vs2005sp1出來已經有一段時間了,由于安裝速度太慢,我一直都沒有安裝,今天遇到一個vs的bug,不得已需要安裝sp1,上網找了一下,發現一個解決安裝速度慢的方案。
之所以速度慢是很大程度上是因為windows installer的cache造成,在安裝時暫時禁用掉windows installer的cache可以極大的加速sp1的安裝,而且可以節省1.3G的磁盤空間。
將下面的代碼存為bat文件,通過這個bat來安裝sp1

reg?export?HKLM\Software\Policies\Microsoft\Windows\Installer?installer.reg
reg?add?HKLM\Software\Policies\Microsoft\Windows\Installer?
/v?MaxPatchCacheSize?/t?REG_DWORD?/d?0?/f
net?stop?msiserver
start?
/wait?VS80sp1-KB926601-X86-ENU.exe
reg?delete?HKLM\Software\Policies\Microsoft\Windows\Installer?
/v?MaxPatchCacheSize?/f
reg?import?installer.reg
net?stop?msiserver
del?
/q?installer.reg?2>nul


另外,VS2005的intellisense對C++來說實在太慢,代碼量大的時候cpu占用率一直在100%,功能也比不上VA,將Microsoft Visual Studio 8\VC\vcpackages\feacp.dll改名直接禁用之。

posted @ 2007-01-08 14:29 BoolKinG| 編輯 收藏

2006年7月1日

BumpTop
http://bumptop.ca/




看演示非常不錯
對于我這種喜歡什么都放在windows桌面上的人是再合適不過的了,只用鼠標一拖,所有的東西都自動排好堆成一摞,而且查閱起來也非常方便。

現在還沒有可供測試的版本,希望很快可以用上

posted @ 2006-07-01 13:01 BoolKinG| 編輯 收藏

2006年6月19日

近日下載了一個VC2005 Express Edition,用它來編譯boost,發現有不少的warning C4819,說代碼文件中有cp936無法表示的字符,還有就是vc2005特有的廢棄的ANSI函數的錯誤,雖說不影響編譯,但是看著時不時出現的warning總是讓人心神不安,還容易掩蓋其他的錯誤,如果是直接用cl編譯,只要加上/wd4819 /D_CRT_SECURE_NO_DEPRECATE就可以不顯示這兩個錯誤,但是大家都知道boost是使用其特有的boost.build進行編譯的,下面我就給出如何修改boost.build來抑制這兩個錯誤的顯示

boost.build分為v1和v2兩個版本
v1:
修改$(BOOST_ROOT)/tools/build/v1/vc-8_0-tools.jam

flags?vc - 8_0?C ++ FLAGS?:? / Zc:forScope?;

改為

flags?vc - 8_0?C ++ FLAGS?:? / Zc:forScope? / wd4819? / D_CRT_SECURE_NO_DEPRECATE?;

v2:
cvs版本
修改$(BOOST_ROOT)/tools/build/v2/tools/msvc.jam

#? 8.0 ?adds?some?more?options

一行的下方加上

flags?msvc.compile?CFLAGS?$(condition)?:? / wd4819? / D_CRT_SECURE_NO_DEPRECATE?;

boost 1.33.1版本

????#? 8.0 ?deprecates?some?of?the?options
????
if ? ! ?[?MATCH? ^ ([ 67 ]. * )?:?$(version)?]?
????{
????????flags?msvc.compile?CFLAGS?$(condition)
/< optimization > speed?:? / O2?;
????????flags?msvc.compile?CFLAGS?$(condition)
/< optimization > space?:? / O1?;
????????flags?msvc.link.dll?MANIFEST?:?
" mt?-manifest? " ?;
????????flags?msvc.link.dll?OUTPUTRESOURCE?:?
" -outputresource: " ?;
????}

改為:

????#? 8.0 ?deprecates?some?of?the?options
????
if ? ! ?[?MATCH? ^ ([ 67 ]. * )?:?$(version)?]?
????{
????????flags?msvc.compile?CFLAGS?$(condition)?:?
/ wd4819? / D_CRT_SECURE_NO_DEPRECATE?;
????????flags?msvc.compile?CFLAGS?$(condition)
/< optimization > speed?:? / O2?;
????????flags?msvc.compile?CFLAGS?$(condition)
/< optimization > space?:? / O1?;
????????flags?msvc.link.dll?MANIFEST?:?
" mt?-manifest? " ?;
????????flags?msvc.link.dll?OUTPUTRESOURCE?:?
" -outputresource: " ?;
????}
posted @ 2006-06-19 17:44 BoolKinG| 編輯 收藏

2006年6月7日

學過C/C++語言的都知道程序的執行從main函數開始(先不說static對象和CRT),大部分學過C/C++的也都知道main可以有int main()和int main(int argc, char**argv)的參數格式,有不少人還知道int main(int, char**, char**)的參數形式,返回值也可以為void,但是為什么C/C++ compiler能夠支持這些格式呢?在初學C的時候,我以為是編譯器內置的功能來支持

近日研究VC的CRT,發現原來是通過調用規范(calling coventions)實現的。
調用規范分為參數傳遞次序,調用棧維護,命名修飾和大小寫轉換4個規范組成。

大部分的C語言編譯器(至少是在x86架構上)遵循以下的規范
命名修飾和大小寫轉換:無論函數的signature是什么樣子,在編譯時會將名為“Xxxx”的函數轉換為“_Xxxx”的形式,即在函數名前面加上“_”,大小寫不變,也就是說不管是什么形式的main函數,有沒有返回值,有多少個參數都會在編譯時轉換為_main。因此雖然在CRT中使用的是
int?__cdecl main(int,?char?**,?char?**);

的形式聲明的main函數,但是在鏈接的時候無論是什么形式的main都符合要求,只不過除了在文章開始提到的3種形式有意義外,其他的參數格式要么是得到無意義的值,要么還會溢出調用棧(使用超過3個參數)
測試代碼如下:

int?main(int?a1,?char*?a2,?unsigned?long?a3,?float?a4,?double?a5,?unsinged?int?a6)
{
?printf(
"Hello?World!\n");
?
return?0;
}

?

posted @ 2006-06-07 17:40 BoolKinG| 編輯 收藏

2006年5月14日

現在的工作是在unix平臺,平時是用UE的ftp功能來寫代碼的,有時候文件大了,傳輸就很慢,而且經常不是很穩定。
下定決心要學學Vim(現在應該沒有人用原始的vi了吧),在經過二周的使用后,發現Vim實在是非常不錯的一個editor,現在我在Windows上也裝了一個Vim,使用起來頗為順手,基本上已經替代了UE。

下面介紹一些我在使用Vim的過程中得到的一些心得:
1. 在使用Vim之前一定要進行一些設置,否則你使用起來肯定會很不爽,下面是我的配置

?1 " ==============================================
?2 " ?General?settings
?3 " ==============================================
?4
?5 set?nocp
?6 set?ru
?7 " ?使用cindent
?8 set?cin
?9 set?cino = :0g0t0(sus
10
11 set?sm
12 set?ai
13 " ?縮近
14 set?sw=4
15 set?ts=4
16 " ?不展開tab為空格,反之set?et
17 set?noet
18
19 set?lbr
20 set?hls
21 set?backspace = indent , eol , start
22 set?whichwrap = b , s , < , > , [ , ]
23 set?fo+ = mB
24 set?selectmode =
25 set?mousemodel = popup
26 set?keymodel =
27 set?selection = inclusive
28 set?matchpairs+ = <:>
29
30 " ==============================================
31 " ?Cursor?movement
32 " ==============================================
33 nnoremap?<Down>?gj
34 nnoremap?<Up>?gk
35 vnoremap?<Down>?gj
36 vnoremap?<Up>?gk
37 inoremap?<Down>?<C-o>gj
38 inoremap?<Up>?<C-o>gk
39
40 nnoremap?<End>?g$
41 nnoremap?<Home>?g0
42 vnoremap?<End>?g$
43 vnoremap?<Home>?g0
44 inoremap?<End>?<C-o>g$
45 inoremap?<Home>?<C-o>g0
46
47 nmap?<C-F4>?:confirm?bd<CR>
48 vmap?<C-F4>?<ESC>:confirm?bd<Enter>
49 omap?<C-F4>?<ESC>:confirm?bd<Enter>
50 map!?<C-F4>?<ESC>:confirm?bd<Enter>
51
52 " ?打開語法高亮
53 syntax?on
54 " ?使用語法進行折疊
55 set?foldmethod=syntax
56
57 if?(has( " gui_running " ))
58 ????set?nowrap
59 ????set?guioptions+=b
60 ????colo?inkpot
61 else
62 ????set?wrap
63 ????colo?ron
64 endif
65
66 " ?設置swap文件的目錄
67 set?dir = D:\vim\tmp
68 " 設置備份文件的目錄
69 set?backupdir=D:\vim\bak
70
71 " ?設置leader的快捷鍵,原來的“\”太遠了,而且位置還不固定
72 let?mapleader = " , "

這里是一些基本設置
如果有什么不太清楚的,可以在Vim里normal模式下
:h 關鍵字
查看幫助

2. Vim教程
推薦先看看Vim自帶的Tutor(這可是位好老師)
用vimtutor啟動Vim
或者在Vim里面用:h?tutor來啟動
中文教程我推薦李果正的《大家來學Vim》
這里還有Vim的鍵位示意圖,可以打出來隨時查看哦

?
3. Vim的插件
有幾個插件強烈推薦
(1) A:在同名的cpp和h文件之間切換 http://www.vim.org/scripts/script.php?script_id=31
(2) NERD_comments:超強的注釋插件,支持很多語言的注釋風格,按照上面的設置,只需要",cc"就可以添加注釋了 http://www.vim.org/scripts/script.php?script_id=1218
(3) csupport:寫C/C++代碼必備 http://www.vim.org/scripts/script.php?script_id=213
(4) LargeFile:再也不用擔心打開大文件會慢了 http://www.vim.org/scripts/script.php?script_id=1506
(5) TipOfTheDay:多讀讀vim的tips會有很多收獲的,記得要經常更新tips文件啊 http://www.vim.org/scripts/script.php?script_id=88
(6) cppomnicomplete:提供C++中類/對象成員的補全(需要Vim7) http://www.vim.org/scripts/script.php?script_id=1520
(7) ColorSamplerPack:提供上百種顏色主題,必有一款適合你,不過大多數都是在GUI下才有相應的效果 http://www.vim.org/scripts/script.php?script_id=625
(8) vimcdoc:漢化的vim幫助 http://vimcdoc.sourceforge.net/

3. 在telnet中使用vim的顏色
如果是在linux中使用telnet,SecureCRT會自動使用合適的顏色來顯示vim不同的顏色,但是如果在其他unix下就會無法顯示正確的顏色,所有的東西都是同一種顏色。

在.vimrc中加入(^[的輸入方式是Ctrl-v然后輸入Esc):
if !has("gui_running")
set t_Co=8
set t_Sf=^[[3%p1%dm
set t_Sb=^[[4%p1%dm
endif
并在SecureCRT的模擬終端類型選擇ANSI,并鉤上ANSI Color,就可以顯示不同的顏色了

4. vim的自動補全功能
一般使用Ctrl+n就可以自動補全了,從Vim7后,C/C++的函數、變量或者是類的成員,使用Ctrl+x,Ctrl+o也可以自動補全。在安裝了cppomnicomplete后,對象的成員也可以用Ctrl+x,Ctrl+o來補全

5. 代碼折疊
許多editor都支持代碼折疊,Vim也不例外
常用的快捷鍵
zc 折疊代碼
zo 打開折疊的代碼
還有其他的快捷鍵可以查看幫助
:h fold

6. 自動格式化代碼
在Visual模式下,選中代碼按=就可以了
Normal模式下,按=會格式化光標所在行

7. 腳本支持
Vim不僅有內建的腳本功能,還支持Perl,Python,Tcl,Ruby和MzScheme這些流行的腳本語言編寫Vim的擴展

Vim的功能是不是很強大?
經過1年多的測試Vim 7.0也release了,還不快下載來試試
http://www.vim.org

Happy Vimming!

對于已經習慣了使用Vim但是要在Windows下編程的用戶
我還推薦
ViEmu,可以在VisualStudio下模擬Vi的編輯操作
不過只有30天的試用期

posted @ 2006-05-14 17:35 BoolKinG| 編輯 收藏
 
以下轉自我在msn的blog

今天又看到一個和Source Offsite類似的軟件:SourceAnywhere。不用裝.net framework,對中文的支持也很好,早知道有這個東東,就不用浪費一個下午取搞定那個中文版的SOS了
不過這個東東和SOS實在是有點太像了,就連沒有指定database之前不能啟動服務都一模一樣,不知道兩者之間有什么關系

posted @ 2006-05-14 14:23 BoolKinG| 編輯 收藏
 
以下轉自我在msn的blog

本文內容純屬技術研究,請勿將其用于非法用途!
如需轉載,請注明出處。
?
SourceOffsite是一個基于 Microsoft Visual SourceSafe 數據庫的源代碼管理軟件,具有以下特性:


1. 比 Microsoft Visual SourceSafe 客戶端快。
2. 可以通過 TCP/IP 方式訪問和操作 VSS 庫。
3. 在 Windows、Slolaris 和 Linux 上都提供了客戶端。
4. 并且通過傳輸數據的壓縮和加密方式,使得文件操作的速度大大加快并增強了系統的安全性。5. 高度 IDE 集成,可以成為 Visual C++ 的 SCC 提供者。
就是有一個問題,對中文支持很糟糕,如果在代碼庫中有中文名的文件,就會出現亂碼,Rick的漢化版解決了這個問題,但是由于改變了對字符串的處理方式(SourceOffsite是一個.net程序,我對.net完全是一竅不通,所以不要問我是怎么修改的),以前的keygen不能用了,出現錯誤“Incorrect format of serialnumber 1\n Incorrect format of serialnumbers”。雖然該漢化版附帶了2用戶的永久license,但是感覺總是不太爽,于是祭起.Net Reflector反編譯之,發現漢化版已經Obfuscated,而原始版本卻沒有經過Obfuscate,于是可以根據原始版本來得到漢化版的注冊的大致流程。
?
{msn的blog真爛,居然有字數限制,過程寫了貼不上來
直接寫結果了(相信大部分人都希望直接看結果
用UE打開漢化版的SosService.exe文件,將0xEEBC處的16改為17

sossvr.prp文件中server.serialnumbers=00020002ffff000000000004853352c3
大功告成,最大用戶數的永久license

posted @ 2006-05-14 14:22 BoolKinG| 編輯 收藏
 
以下轉自我在msn的blog:

今天在bt上發現了一個懷舊小游戲合集,里面都是10幾年前我們在電腦房(現在網吧的前身)里面dos下玩的游戲,雖然現在看來非常粗糙,但是曾經在電腦房里鏖戰的日日夜夜卻是難以磨滅的美好回憶。

下載下來發現有些游戲不能在xp下運行,推薦三個軟件dosboxVDMSoundglidos,第一個是一個跨平臺的dos模擬器,不想在VMWare里面裝個Dos就試試它吧,不過還是有些游戲支持的不是太好;第二個是一個在xp的console下模擬聲卡的東東;第三個是我強烈推薦的,可以在windows下運行需要glide(游戲齡超過10年的人都知道這是當年的3D硬件王者3dfx的編程接口,類似現在的Direct3D)的硬件加速游戲,很好的支持了古墓麗影1,就是非注冊版在后面幾關屏幕中間會出現一個很大的logo(試試emule,會有意想不到的收獲)。

實在不行就在VMWare里面裝個dos來懷舊吧。

posted @ 2006-05-14 14:21 BoolKinG| 編輯 收藏
 
之前都是在msn寫blog的,現在live.com被封,msn的慢的不行,限制太多,我的maxthon還經常被它弄的假死,因此換到cppblog。cppblog的確比msn快,而且用起來也順手些

以后以此為家,各位前輩也多多指教了

posted @ 2006-05-14 14:14 BoolKinG| 編輯 收藏
僅列出標題  
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美护士18xxxxhd| 亚洲网在线观看| 欧美视频在线观看一区二区| 久久影音先锋| 久久综合成人精品亚洲另类欧美| 欧美一级专区| 久久久久久伊人| 欧美成人亚洲成人日韩成人| 欧美精品日韩| 国产精品一区一区| 在线欧美日韩精品| 一区二区福利| 久久大综合网| 欧美二区乱c少妇| 亚洲激情一区二区| 在线性视频日韩欧美| 香蕉久久国产| 欧美伊人久久大香线蕉综合69| 欧美激情精品久久久久久免费印度| 久久综合九色99| 欧美日韩一区二区视频在线观看| 欧美日韩一区二区在线观看视频| 国产美女精品免费电影| 在线观看欧美黄色| 这里只有精品电影| 久热国产精品| 亚洲视频专区在线| 免费中文日韩| 国产欧美日韩在线观看| 亚洲精品一二区| 久久男人资源视频| 麻豆成人在线播放| 一区二区三区精品国产| 久久视频一区| 国产日韩欧美在线播放不卡| 一区二区动漫| 亚洲高清视频在线观看| 香港久久久电影| 国产精品久久久久久av福利软件 | 久久久久久久久久久一区| 欧美国产先锋| 在线成人av.com| 久久国产婷婷国产香蕉| 一本久道久久综合婷婷鲸鱼| 欧美成人国产va精品日本一级| 国产日韩欧美一区二区三区在线观看 | 亚洲免费精彩视频| 欧美freesex交免费视频| 国内在线观看一区二区三区| 亚洲一区www| 日韩午夜在线观看视频| 欧美精品免费观看二区| 亚洲欧洲一区| 亚洲国产一区在线| 欧美成人激情在线| 亚洲人精品午夜在线观看| 美女视频黄 久久| 久久久天天操| 亚洲国产你懂的| 亚洲盗摄视频| 欧美黄色aaaa| 中国成人亚色综合网站| 日韩午夜在线播放| 欧美寡妇偷汉性猛交| 久久亚洲电影| 亚洲欧洲在线看| 欧美影院成人| 国内精品福利| 欧美xx视频| 国产日韩1区| 亚洲欧美日韩人成在线播放| 亚洲国产成人精品视频| 久久久久久一区| 激情文学一区| 牛人盗摄一区二区三区视频| 久久天天躁狠狠躁夜夜av| 在线精品观看| 亚洲人成毛片在线播放| 欧美色播在线播放| 久久精品一二三| 美日韩精品免费| 在线综合亚洲| 香蕉av福利精品导航| 亚洲国产精品久久久久秋霞蜜臀 | 久久精品九九| 亚洲三级毛片| 在线视频精品一区| 国产午夜精品福利| 欧美激情一区二区三区蜜桃视频| 欧美激情视频网站| 欧美在线91| 欧美国产日韩a欧美在线观看| 亚洲欧美日韩国产成人精品影院| 欧美一区二区在线看| 亚洲狼人综合| 欧美与欧洲交xxxx免费观看 | 亚洲伊人伊色伊影伊综合网| 精品91免费| 正在播放欧美一区| 18成人免费观看视频| 亚洲深夜激情| 亚洲精品久久久久久久久久久久 | 亚洲精品欧美日韩专区| 国内精品久久久久久久影视蜜臀| 亚洲精品国产精品久久清纯直播| 国产精品一区二区久久国产| 欧美激情一区| 国语对白精品一区二区| 亚洲电影免费| 亚洲视频在线一区| 亚洲欧洲在线观看| 久久福利电影| 久久er精品视频| 国产精品卡一卡二| 日韩午夜av| 亚洲人线精品午夜| 久久久精品五月天| 久久久九九九九| 亚洲人成人一区二区在线观看| 欧美一区视频| 亚洲一区久久久| 欧美极品在线播放| 欧美成人激情视频| 国内精品久久久久久影视8| 一区二区三区日韩欧美精品| 亚洲精品无人区| 麻豆乱码国产一区二区三区| 久久人91精品久久久久久不卡| 欧美偷拍一区二区| 亚洲欧洲日产国产网站| 亚洲第一搞黄网站| 久久精品欧美日韩| 久久网站免费| 黄色国产精品一区二区三区| 销魂美女一区二区三区视频在线| 欧美亚洲一区| 国产一区二区三区黄视频| 先锋影音久久| 久久国产福利| 国产有码在线一区二区视频| 亚洲一级黄色av| 亚洲欧美成人网| 国产精品国产三级国产aⅴ9色| 在线亚洲精品| 香蕉久久精品日日躁夜夜躁| 国产精品日韩久久久久| 亚洲一区二区在| 久久精品官网| 在线成人中文字幕| 免费短视频成人日韩| 亚洲人午夜精品免费| 一本色道久久综合亚洲精品小说| 欧美日韩免费区域视频在线观看| 一本色道久久综合亚洲精品高清 | 国产精品99久久久久久www| 亚洲图片欧美一区| 国产噜噜噜噜噜久久久久久久久| 欧美一区在线直播| 欧美福利一区二区三区| 日韩亚洲精品电影| 国产精品视频在线观看| 欧美一区二区在线免费观看| 欧美 日韩 国产在线| 日韩天天综合| 国产精品视频网址| 久久综合久色欧美综合狠狠| 亚洲国产婷婷香蕉久久久久久| 一区二区三区视频在线看| 国产精品―色哟哟| 老色批av在线精品| 99在线热播精品免费99热| 久久成人免费日本黄色| 亚洲日本中文字幕| 国产欧美日韩| 欧美精品一区二区三区高清aⅴ| 一本一本a久久| 麻豆成人综合网| 亚洲桃色在线一区| 亚洲黄色免费电影| 国产精品大片免费观看| 久久久人成影片一区二区三区| 日韩亚洲欧美中文三级| 久久综合给合久久狠狠色| 在线中文字幕一区| 在线播放中文一区| 国产又爽又黄的激情精品视频| 国产一区二区电影在线观看| 欧美三级在线播放| 久久精品最新地址| 在线视频精品| 亚洲国产成人tv| 久久久久免费| 亚洲专区一区| 一本一本久久| 91久久嫩草影院一区二区| 国产永久精品大片wwwapp| 欧美色视频日本高清在线观看| 狂野欧美一区| 久久精品免视看| 欧美一区二视频|