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

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>
            亚洲综合国产精品| 久久精品一本| 久久久一区二区| 久久久久免费观看| 久久国产黑丝| 免费的成人av| 亚洲精品乱码久久久久久| 欧美~级网站不卡| 亚洲国产二区| 在线视频中文亚洲| 销魂美女一区二区三区视频在线| 久久9热精品视频| 欧美激情视频免费观看| 国产精品久久久久久亚洲调教| 欧美a级理论片| 亚洲先锋成人| 蜜臀久久99精品久久久久久9| 免费成年人欧美视频| 国产精品a久久久久| 亚洲黄色成人久久久| 午夜久久电影网| 亚洲精品你懂的| 亚洲欧美日韩精品久久奇米色影视 | 亚洲欧美激情视频| 亚洲国产精品久久久久婷婷884| 亚洲欧美bt| 国产日本欧美一区二区| 午夜免费日韩视频| 一区二区三区欧美成人| 欧美日一区二区在线观看 | 欧美日本精品一区二区三区| 伊人天天综合| 蜜臀久久99精品久久久久久9 | 亚洲高清视频的网址| 欧美在线影院| 久久精品国产一区二区电影| 一区二区三区高清在线| 亚洲欧美www| 欧美日韩国产成人在线观看| 免费观看在线综合色| 国产欧美精品一区| 麻豆9191精品国产| 国产精品大全| 亚洲五月婷婷| 亚洲欧美国内爽妇网| 国产精品国产三级国产专区53| 亚洲春色另类小说| 欧美96在线丨欧| 欧美大片18| 一区二区三区免费看| 中日韩美女免费视频网址在线观看| 欧美精品九九99久久| 一区二区三区国产在线| 亚洲免费观看高清在线观看 | 亚洲主播在线观看| 一区二区三区在线看| 亚洲精品一线二线三线无人区| 国产日韩欧美a| 亚洲免费观看视频| 亚洲清纯自拍| 免费欧美电影| 欧美激情欧美狂野欧美精品| 国产日韩高清一区二区三区在线| 99精品国产在热久久婷婷| 亚洲精品久久久一区二区三区| 欧美在线视频全部完| 久久人人超碰| 亚洲第一福利在线观看| 久久久久国产成人精品亚洲午夜| 亚洲午夜精品在线| 欧美日韩国产成人高清视频| 欧美黑人一区二区三区| 激情久久综合| 老牛影视一区二区三区| 亚洲国产精品一区| 国产一区二区日韩精品| 欧美日韩国产精品专区| 欧美sm视频| 欧美成人精品激情在线观看| 久久精品在线| 欧美激情精品久久久久久大尺度| 日韩小视频在线观看专区| 国产精品日韩欧美| 久久精品视频在线看| 亚洲国产精品尤物yw在线观看| 欧美激情五月| 开心色5月久久精品| 欧美激情精品久久久久久变态| 亚洲欧洲另类国产综合| 欧美午夜精品久久久久久孕妇| 亚洲欧美日韩视频一区| 欧美国产国产综合| 欧美在线亚洲综合一区| 一区二区精品| 亚洲国产99| 久久最新视频| 免费久久精品视频| 午夜精品理论片| 亚洲精品免费网站| 久久精品二区| 午夜精品一区二区三区电影天堂 | 久久久久成人精品| 99国产精品99久久久久久| 亚洲一级片在线看| 欧美成人午夜视频| 小辣椒精品导航| 国产精品久久97| 亚洲欧美日韩电影| 亚洲一区二区三区四区中文| 亚洲国产色一区| 欧美jjzz| 91久久久久久| 亚洲精品一区久久久久久| 99av国产精品欲麻豆| 一区二区三区国产精华| 欧美一级在线视频| 欧美激情aⅴ一区二区三区| 国产精品国产三级国产专播精品人| 国产性天天综合网| 中文国产成人精品| 亚洲高清不卡一区| 久久精品视频99| 国产亚洲欧美aaaa| 亚洲一区二区日本| 亚洲自拍偷拍一区| 免费试看一区| 亚洲国产另类精品专区| 亚洲黄色天堂| 性久久久久久久久| 欧美精品一区二区三区蜜桃| 国产精品永久免费| 亚洲精品国久久99热| 欧美一区二区在线免费播放| 欧美激情一区二区三区在线| 国产精品99久久久久久www| 久久久久国产精品人| 国产精品美女久久久久久2018| 亚洲高清视频一区| 久久精品亚洲国产奇米99| 亚洲精品你懂的| 欧美多人爱爱视频网站| 国产目拍亚洲精品99久久精品 | 亚洲精品视频一区二区三区| 欧美专区亚洲专区| 国产一区二区精品在线观看| 亚洲欧美日韩精品久久久| 亚洲国产色一区| 在线综合亚洲欧美在线视频| 欧美va天堂| 巨乳诱惑日韩免费av| 亚洲青色在线| 在线天堂一区av电影| 国产精品女主播一区二区三区| 亚洲尤物精选| 先锋亚洲精品| 亚洲精选在线| 欧美一区=区| 亚洲激情在线视频| 欧美jizzhd精品欧美巨大免费| 国产精品一区二区久久久| 欧美在线观看一区二区| 亚洲性线免费观看视频成熟| 国产精品看片你懂得| 久久久久久久久久码影片| 久久精品国产77777蜜臀| 在线成人h网| 亚洲美女免费视频| 最新日韩精品| 久久午夜电影网| 亚洲靠逼com| 欧美一区二区三区成人| 亚洲国内自拍| 亚洲一二三区在线| 在线日本成人| 在线综合欧美| 亚洲国产精品一区二区尤物区| 99av国产精品欲麻豆| 一区免费在线| 午夜性色一区二区三区免费视频| 在线精品国精品国产尤物884a| 一本到12不卡视频在线dvd| 影音先锋久久| 久久精品亚洲热| 久久久久久久久久久久久久一区 | 久久美女性网| 国产精品乱码久久久久久| 亚洲精品视频免费在线观看| 欧美一区二区三区四区在线观看地址 | 久久综合九色综合欧美狠狠| 国产精品乱人伦一区二区| 一区二区三区免费观看| 亚洲精品欧美| 欧美猛交免费看| 亚洲九九九在线观看| 99国产一区| 夜夜嗨av一区二区三区网站四季av| 一区二区三区欧美在线观看| 激情综合在线| 欧美.www| 亚洲精品久久久久久久久久久久久 |