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

面對(duì)現(xiàn)實(shí),超越自己
逆水行舟,不進(jìn)則退
posts - 269,comments - 32,trackbacks - 0
一、SWIG環(huán)境搭建
 
   1、 下載Swig for Windows:http://www.swig.org/download.html
   2、 解壓 .zip 文件到目錄,比如:D:\backupsoftware
   3、 添加環(huán)境變量到path, 比如: D:\backupsoftware\swigwin-3.0.10
   4、 簡(jiǎn)單測(cè)試安裝是否成功:
   打開Dos,在命令行執(zhí)行: swig --help, 顯示 Target Language Options即表明安裝成功。

二、以c++為例

1、編寫c++源文件
//example.h
#include <iostream>
using namespace std;
class Example{
public:
void say_hello();
};

//example.cpp

#include "example.h"

void Example::say_hello()
{
      printf("hello");
}

2、再寫一個(gè)swig模塊定義文件如下
%module example
%{
#include "example.h"
%}
%include "example.h"

3、通過命令行運(yùn)行:$ swig -python -c++ example.i

    如果是使用C源碼,則選項(xiàng):$ swig -Python example.i

    這樣會(huì)創(chuàng)建兩個(gè)不同的文件:example_wrap.cxx(如果用c源碼是example_wrap.c),和python文件example.py。


4、使用python.distutils生成模塊動(dòng)態(tài)庫(kù)
python自帶一個(gè)distutils工具,可以用它來(lái)創(chuàng)建python的擴(kuò)展模塊。使用它也很簡(jiǎn)單,只需要先定義一個(gè)配置文件,通常是命名為setup.py,如下:
#!/usr/bin/env python

"""
setup.py file for SWIG C\+\+/Python example
"""
from distutils.core import setup, Extension
example_module = Extension('_example',
sources=['example.cpp''example_wrap.cxx',],
)
setup (name = 'example',
version = '0.1',
author = "www",
description = """Simple swig C\+\+/Python example""",
ext_modules = [example_module],
py_modules = ["example"],
)

注:swig生成的擴(kuò)展模塊對(duì)象名必須使用python模塊名并在前面加上下劃線_,剛才我們通過swig生成的python文件是example.py,所以這里的模塊對(duì)象名必須是'_example',否則無(wú)法順利編譯。

5、編譯
命令行中將當(dāng)前工作目錄切換到文件example.cpp,example_wrap.cxx,example.py,setup.py所在的目錄,然后輸入以下命令:
python setup.py build_ext --inplace

會(huì)在本目錄下生成_example.pyd模塊。

6、測(cè)試
import examlpe
example.Example().say_hello()

:如果導(dǎo)入模塊失敗,需要將模塊所在路徑添加到sys.path中,在次導(dǎo)入就會(huì)成功



posted @ 2016-08-18 11:20 王海光 閱讀(4729) | 評(píng)論 (0)編輯 收藏
     摘要: UISearchBar控件就是要為你完成搜索功能的一個(gè)專用控件。它集成了很多你意想不到的功能和特點(diǎn)!首先,還是來(lái)普及一下UISearchBar控件API相關(guān)的屬性和方法吧!UISearchBar屬性相關(guān)_searchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];// 初始化,不解釋 &nb...  閱讀全文
posted @ 2015-03-04 19:23 王海光 閱讀(888) | 評(píng)論 (0)編輯 收藏
     摘要: 標(biāo)準(zhǔn)庫(kù)C++標(biāo)準(zhǔn)庫(kù),包括了STL容器,算法和函數(shù)等。C++ Standard Library:是一系列類和函數(shù)的集合,使用核心語(yǔ)言編寫,也是C++ISO自身標(biāo)準(zhǔn)的一部分。Standard Template Library:標(biāo)準(zhǔn)模板庫(kù)C POSIX library : POSIX系統(tǒng)的C標(biāo)準(zhǔn)庫(kù)規(guī)范ISO C++ Standards Committee :C++標(biāo)準(zhǔn)委員會(huì) ...  閱讀全文
posted @ 2014-11-14 08:58 王海光 閱讀(2456) | 評(píng)論 (0)編輯 收藏
不知道大家有沒有我這種體驗(yàn).大家先看看下面這段代碼:
int fp=_wopen(L"Hello.dat",O_BINARY | O_CREAT | O_TRUNC | O_RDWR);
if(fp==-1) return;
write(fp,L"123中國(guó)人",wcslen(L"123中國(guó)人"));
close(fp);

上面這段代碼不知道大家看出什么BUG來(lái)了.如果大家看不出毛病也不足為怪,因?yàn)檫@是我們的習(xí)慣導(dǎo)致了我們的錯(cuò)誤產(chǎn)生.


先讓我來(lái)分析一下write吧.下面是write的原型:
int write( int handle, const void *buffer, unsigned int count );
參數(shù):
handle   已打開或已創(chuàng)建的文件句柄
buffer     待寫入的數(shù)據(jù)
count     待寫入的數(shù)據(jù)大小
現(xiàn)在分析為什么上面的那代碼有bug,其實(shí)主要問題就在一個(gè)buffer,和count.
如果我們寫入一個(gè)Ansi字符串,上面的代碼改成相應(yīng)的形式確實(shí)沒有錯(cuò).
但如果是寫入一個(gè)寬字符串,那么上面的代碼就不嚴(yán)格.原因就在于count.

我們首先看一下strlen和wcslen,如果使用strlen,一般情況下,我們直接作為字符串的長(zhǎng)度,
而使用wcslen,你會(huì)發(fā)現(xiàn),得出的不是字符串的長(zhǎng)度而是字符的個(gè)數(shù).

這就是問題的所在.一般情況下.char的長(zhǎng)度是1,這是用sizeof(char)運(yùn)算出來(lái)的結(jié)果.
len=strlen(str)*sizeof(char);而我們一般情況下,都只用strlen(str)來(lái)等價(jià),這就是平時(shí)的習(xí)慣.
正是由于這個(gè)習(xí)慣所引來(lái)的問題,這個(gè)習(xí)慣并不適用于寬字符串.因?yàn)?/span>wcslen(str)*sizeof(wchar_t)并不等于wcslen(strl).這就是習(xí)慣所引起的錯(cuò)誤.

說(shuō)到這里我想大家都明白了.我在這里把這種習(xí)慣稱之為不良習(xí)慣.所以大家以后在計(jì)算字符串長(zhǎng)度的時(shí)候,千萬(wàn)不能簡(jiǎn)而簡(jiǎn)之,一定要len=strlen(str)*sizeof(char),len=wcslen(str)*sizeof(wchar_t).
不要再犯這種習(xí)慣性的低級(jí)錯(cuò)誤.

本文轉(zhuǎn)自:http://blog.csdn.net/aylixuan/article/details/6130820
posted @ 2014-10-10 11:53 王海光 閱讀(3845) | 評(píng)論 (0)編輯 收藏
使用版本:1.1.10

今天弄了一下Gloox中自帶的收發(fā)文件例子,收發(fā)文件的例子都是好使的,只不過,在調(diào)試過程中需要注意一些問題,下面將我遇到的問題做個(gè)記錄(例子中以In-Band Bytestreams方式收發(fā))

1、發(fā)送文件過程中遇到404錯(cuò)誤
<iq type='error' id='uid-8509a748-00000005' to='wanghaiguang@wanghaiguang-wk/glooxsendfile'from='www@192.168.60.67/Spark 2.6.3'><sixmlns='http://jabber.org/protocol/si' id='uid-8509a748-00000006' profile='http://jabber.org/protocol/si/profile/file-transfer'><file xmlns='http://jabber.org/protocol/si/profile/file-transfer' name='d:\offline.bmp' size='6998'/><feature xmlns='http://jabber.org/protocol/feature-neg'><x xmlns='jabber:x:data' type='form'><field type='list-single'var='stream-method'><option label='ibb'><value>http://jabber.org/protocol/ibb</value></option><option label='oob'><value>jabber:iq:oob</value></option><option label='s5b'><value>http://jabber.org/protocol/bytestreams</value></option><value/></field></x></feature></si><error code='404' type='cancel'><remote-server-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

可以將ip地址換成服務(wù)器名稱試試
JID j( "www@192.168.60.67/gloox" );——> JID j( "www@wanghaiguang-wk/gloox" );

2、
發(fā)送文件過程中遇到503錯(cuò)誤
<iq type='error' id='uid-8663a748-00000005' from='www@wanghaiguang-wk/glooxsend'to='wanghaiguang@wanghaiguang-wk/glooxsendfile'><si xmlns='http://jabber.org/protocol/si' id='uid-8663a748-00000006' profile='http://jabber.org/protocol/si/profile/file-transfer'><file xmlns='http://jabber.org/protocol/si/profile/file-transfer' name='d:\offline.bmp' size='6998'/><feature xmlns='http://jabber.org/protocol/feature-neg'><x xmlns='jabber:x:data' type='form'><field type='list-single' var='stream-method'><option label='ibb'><value>http://jabber.org/protocol/ibb</value></option><option label='oob'><value>jabber:iq:oob</value></option><option label='s5b'><value>http://jabber.org/protocol/bytestreams</value></option><value/></field></x></feature></si><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

這個(gè)問題可能是由于你接收端的資源名稱與發(fā)送端不匹配
//接收端登錄的jid
JID jid( "www@192.168.60.67/glooxsendfile" );
 j = new Client( jid, "111" );

//發(fā)送端的jid名稱(發(fā)送給對(duì)方的jid名稱)
JID j( "www@wanghaiguang-wk/gloox" );
if( j.resource().empty() )
{
     printf( "error: need full jid\n" );
     return 1;
}
posted @ 2014-09-02 17:18 王海光 閱讀(2485) | 評(píng)論 (0)編輯 收藏

引文:

調(diào)試GLOOX 1.0.10的注冊(cè)功能頗費(fèi)了一些功夫。總體邏輯如GLOOX自帶的例子一樣是毫無(wú)疑問的,但是照搬例子又是不能完成注冊(cè)的,返回錯(cuò)誤碼為4------RegistrationBadRequest筆者一開始在網(wǎng)上狂搜解決方案,資料少之又少,有建議重寫Client::handleNormalNode函數(shù)(目的是禁止SASL認(rèn)證)的,有直接繼承Client重寫Client::handleNormalNode函數(shù)的,但都沒說(shuō)到點(diǎn)子上。經(jīng)過一段時(shí)間的研究,在GLOOX的maillist上得到啟發(fā),順利完成注冊(cè)。現(xiàn)將解決方案記錄下來(lái):


環(huán)境

客戶端:GLOOX1.0.1.0 VS2008

服務(wù)器:OPENFIRE 默認(rèn)安裝


對(duì)于GLOOX自帶的注冊(cè)例子不能正常注冊(cè)的問題有人在郵件列表里提出來(lái)。一個(gè)哥們這樣回答:

Ok, I've found what the problem was 
In openFire server parameters, Anonymous Login => Disabled !!! 

意思是要禁用openFire服務(wù)器里的選項(xiàng)”注冊(cè)和登錄“的”匿名登錄“項(xiàng)

筆者按此說(shuō)明禁用該選項(xiàng),果然注冊(cè)成功。

這說(shuō)明開始的注冊(cè)失敗是和匿名登錄有關(guān)系的。我們來(lái)看一下引用registration_expmple例子登錄失敗時(shí)的XML流:

S->C:服務(wù)器返回給客戶端支持的認(rèn)證機(jī)制:

<stream:features xmlns:stream='http://etherx.jabber.org/streams'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><auth xmlns='http://jabber.org/features/iq-auth'/><register xmlns='http://jabber.org/features/iq-register'/></stream:features> 

 

從上面XML流中我們可以看到,默認(rèn)openFire支持四種認(rèn)證機(jī)制,分別是:DIGEST-MD5、PLAIN、ANONYMOUS、CRAM-MD5。然后我們看GLOOX客戶端的響應(yīng)流:

C->S:客戶端返回選擇的認(rèn)證方式:

<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='ANONYMOUS'/>

可以看出,客戶端”無(wú)恥“的選擇了”匿名“--
'ANONYMOUS'方式

接下來(lái)的流程就是客戶端”無(wú)恥“的選擇了以匿名的方式登錄了服務(wù)器,然后再發(fā)送注冊(cè)請(qǐng)求,請(qǐng)求如下:

<iq id='uid:4e69eccd:00006784' type='set' from='447e0585@zxl/447e0585' xmlns='jabber:client'><query xmlns='jabber:iq:register'><username>bbaxiao</username><password>123456</password><name>test2</name><email>163@gmail.com</email></query></iq> 

我們看到,IQ節(jié)里包含“form”屬性,即客戶端匿名身份標(biāo)識(shí)。

注意,一個(gè)客戶端已經(jīng)以一個(gè)身份(由服務(wù)器臨時(shí)分配的一個(gè)JID)登錄,建立了會(huì)話,在服務(wù)器上我們會(huì)看到這個(gè)會(huì)話,并且服務(wù)器發(fā)送心跳一直維護(hù)這個(gè)會(huì)話。這種情況下,這個(gè)客戶端再發(fā)送注冊(cè)請(qǐng)求(另一個(gè)身份)建立與服務(wù)器的連接是不被允許的。具體請(qǐng)參考XEP-0077(In-Band Registration):我們關(guān)注這兩段:

If the entity cancels its registration with its "home" server (i.e., the server at which it has maintained its XMPP account), then the entity SHOULD NOT include a 'from' or 'to' address in the remove request the server SHOULD then return a <not-authorized/> stream error and terminate all active sessions for the entity. The server SHOULD perform the remove based on the bare JID <localpart@domain.tld> associated with the current session or connection over which it received the remove request. If the server is an instant messaging and presence server that conforms to XMPP IM [8], the server SHOULD also cancel all existing presence subscriptions related to that entity (as stored in the entity's roster). 
 
If the entity cancels its registration with a service other than its home server, its home server MUST stamp a 'from' address on the remove request, which in accordance with XMPP Core will be the entity's full JID <localpart@domain.tld/resource>. The service MUST perform the remove based on the bare JID <localpart@domain.tld> portion of the 'from' address. 

If the entity cancels its registration with its "home" server (i.e., the server at which it has maintained its XMPP account), then the entity SHOULD NOT include a 'from' or 'to' address in the remove request the server SHOULD then return a <not-authorized/> stream error and terminate all active sessions for the entity. The server SHOULD perform the remove based on the bare JID <localpart@domain.tld> associated with the current session or connection over which it received the remove request. If the server is an instant messaging and presence server that conforms to XMPP IM [8], the server SHOULD also cancel all existing presence subscriptions related to that entity (as stored in the entity's roster).  
  
If the entity cancels its registration with a service other than its home server, its home server MUST stamp a 'from' address on the remove request, which in accordance with XMPP Core will be the entity's full JID <localpart@domain.tld/resource>. The service MUST perform the remove based on the bare JID <localpart@domain.tld> portion of the 'from' address.  

 

意思是說(shuō)注冊(cè)請(qǐng)求不能包含“from”屬性。

正常的注冊(cè)流如下:

<iq id='uid:4e69eccd:00003d6c' type='set' xmlns='jabber:client'><query xmlns='jabber:iq:register'><username>bbaxiao</username><password>123456</password><name>test2</name><email>163@gmail.com</email></query></iq> 

---------------------------

綜上所述,解決方案如下:

一、關(guān)閉openFire的匿名登錄功能。^_^……

二、禁止GLOOX匿名認(rèn)證功能。

file:client.cpp 
 
fun: int Client::getSaslMechs( Tag* tag ) 
 
line:423 
 
//將423行注釋掉即可。 
422:if( tag->hasChildWithCData( mech, "ANONYMOUS" ) ) 
423      //mechs |= SaslMechAnonymous; 

重新編譯生成DLL即可。

三、手動(dòng)設(shè)置GLOOX客戶端SASL認(rèn)證機(jī)制

在調(diào)用j->connect()之前設(shè)置SASL認(rèn)證機(jī)制,比如設(shè)置為“DIGEST-MD5”


j->setSASLMechanisms(SaslMechDigestMd5);

這種方式的缺點(diǎn)是需要先確定服務(wù)器支持的認(rèn)證機(jī)制。

四、根據(jù)XEP-0077所述,即使其名登錄,注冊(cè)流只要不帶“from”屬性應(yīng)該也可以。所以我們要處理發(fā)出的注冊(cè)流,去除“from”屬性重新發(fā)送注冊(cè)流即可。


本文轉(zhuǎn)自:http://blog.csdn.net/abcpanpeng/article/details/7370974


posted @ 2014-08-28 17:59 王海光 閱讀(1558) | 評(píng)論 (0)編輯 收藏
NSString中如果包括中文字符,在轉(zhuǎn)換為NSURL時(shí)得到的值為nil

解決辦法:
NSString *urlString = [NSString stringWithFormat:@"http://api.openweathermap.org/data/2.5/weather?q=%@&units=imperial",cityName];
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlString];
NSLog(@"%@", url);
posted @ 2014-08-18 09:45 王海光 閱讀(1708) | 評(píng)論 (0)編輯 收藏
第一步:
創(chuàng)建2個(gè)NSNotificationCenter監(jiān)聽
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive:)
name:UIApplicationWillResignActiveNotification object:nil]; //監(jiān)聽是否觸發(fā)home鍵掛起程序.
    
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidBecomeActive:)
name:UIApplicationDidBecomeActiveNotification object:nil]; //監(jiān)聽是否重新進(jìn)入程序程序.


第二步:
實(shí)現(xiàn)2個(gè)NSNotificationCenter所觸發(fā)的事件方法
- (void)applicationWillResignActive:(NSNotification *)notification
{
    printf("按理說(shuō)是觸發(fā)home按下\n");
}
- (void)applicationDidBecomeActive:(NSNotification *)notification
{
    printf("按理說(shuō)是重新進(jìn)來(lái)后響應(yīng)\n");
}


注: 在home鍵觸發(fā)后,AppDelegate響應(yīng)的方法為:

- (void)applicationDidEnterBackground:(UIApplication *)application { /* Use this method to release shared resources, save user data, invalidate timers,

and store enough application state information to restore your application to its current state in case it is terminated later. If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. */ }

本文轉(zhuǎn)自:http://blog.csdn.net/sqc3375177/article/details/9466687

其他相關(guān)信息:
  1. (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2.  
  3.     // Override point for customization after application launch.  
  4.     NSLog(@"\n ===> 程序開始 !");   
  5.       
  6.     return YES;  
  7.  
  8.                               
  9. (void)applicationWillResignActive:(UIApplication *)application  
  10.  
  11.       
  12.     NSLog(@"\n ===> 程序暫行 !");   
  13.  
  14.   
  15. (void)applicationDidEnterBackground:(UIApplication *)application  
  16.  
  17.       
  18.      NSLog(@"\n ===> 程序進(jìn)入后臺(tái) !");   
  19.  
  20.   
  21. (void)applicationWillEnterForeground:(UIApplication *)application  
  22.  
  23.       
  24.      NSLog(@"\n ===> 程序進(jìn)入前臺(tái) !");   
  25.  
  26.   
  27. (void)applicationDidBecomeActive:(UIApplication *)application  
  28.  
  29.     NSLog(@"\n ===> 程序重新激活 !");   
  30.       
  31.  
  32.   
  33. (void)applicationWillTerminate:(UIApplication *)application  
  34.  
  35.     NSLog(@"\n ===> 程序意外暫行 !");   
  36.   
  37.     UIDevice *device [UIDevice currentDevice];  
  38.       
  39.  
 

首次運(yùn)行

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

- (void)applicationDidBecomeActive:(UIApplication *)application

 

首次關(guān)閉(home):

- (void)applicationWillResignActive:(UIApplication *)application

- (void)applicationDidEnterBackground:(UIApplication *)application

 

再次運(yùn)行:

- (void)applicationWillEnterForeground:(UIApplication *)application

- (void)applicationDidBecomeActive:(UIApplication *)application

 

再次關(guān)閉:

- (void)applicationWillResignActive:(UIApplication *)application

- (void)applicationDidEnterBackground:(UIApplication *)application


本文轉(zhuǎn)自:http://friendlysong.blog.163.com/blog/static/3225243920128144251666/
posted @ 2014-08-01 13:31 王海光 閱讀(2375) | 評(píng)論 (0)編輯 收藏
     摘要: UIGestureRecognizer 是一個(gè)具體手勢(shì)的基類,提供了較為簡(jiǎn)單的手勢(shì)實(shí)現(xiàn)方式  The concrete subclasses of UIGestureRecognizer are the following:UITapGestureRecognizerUIPinchGestureRecognizerUIRotationGestureRecog...  閱讀全文
posted @ 2014-07-29 13:35 王海光 閱讀(2036) | 評(píng)論 (0)編輯 收藏
“Header Search Paths” 中添加“/usr/include/libxml2″
“Other Linker Flags”添加“-lxml2″ 
運(yùn)行后出現(xiàn)錯(cuò)誤找不到<libxml/tree.h>

 解決辦法:“Header Search Paths” 中添加 ${SDKROOT}/usr/include/libxml2
posted @ 2014-07-15 13:50 王海光 閱讀(1143) | 評(píng)論 (0)編輯 收藏
僅列出標(biāo)題  下一頁(yè)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲视频一区二区在线观看| 欧美激情乱人伦| 久久成人18免费观看| 亚洲一区免费看| 午夜精品在线| 久久婷婷国产麻豆91天堂| 欧美一区二区三区视频在线观看| 伊人精品成人久久综合软件| 亚洲高清不卡一区| 一本一本久久a久久精品综合妖精| 亚洲国产va精品久久久不卡综合| 亚洲黄色有码视频| 亚洲性视频h| 久久久久久9999| 亚洲第一网站| 亚洲电影在线看| 亚洲一区二区三区四区在线观看 | 欧美猛交免费看| 国产精品久久久久久久免费软件| 国产精品欧美日韩久久| 国产一区二区三区直播精品电影| 精品av久久707| 一区二区欧美日韩视频| 久久国产精品一区二区三区四区| 免费日韩av片| 亚洲自拍电影| 欧美国产欧美综合| 国产麻豆视频精品| 99精品国产99久久久久久福利| 午夜视频在线观看一区二区| 欧美h视频在线| 亚洲中无吗在线| 噜噜爱69成人精品| 欧美在线一区二区三区| 国产伦精品一区二区三区照片91 | 亚洲精品偷拍| 欧美一区二区三区视频免费| 欧美福利网址| 伊人春色精品| 久久国产精品毛片| 一区二区三区日韩欧美| 欧美成人国产va精品日本一级| 国产精品入口| 一区二区三区毛片| 欧美激情视频网站| 久久gogo国模啪啪人体图| 国产精品福利影院| 一区二区欧美日韩| 亚洲激情网站免费观看| 久久大逼视频| 国产三级欧美三级| 篠田优中文在线播放第一区| 亚洲日本成人| 欧美~级网站不卡| 在线高清一区| 久久日韩粉嫩一区二区三区| 亚洲一区二区三区在线观看视频| 女人天堂亚洲aⅴ在线观看| 精品电影一区| 久久亚洲春色中文字幕| 亚洲欧美日韩国产一区二区| 欧美日韩一区二区三区在线观看免 | 国产午夜精品久久久久久久| 一本色道久久综合亚洲精品高清| 欧美成人精品在线| 久久亚洲风情| 亚洲视频一区在线| 日韩手机在线导航| 欧美亚韩一区| 亚洲欧美偷拍卡通变态| 亚洲影院免费| 国产一区二区成人| 久久精品成人| 欧美在线视频二区| 狠狠狠色丁香婷婷综合久久五月| 久久夜色精品国产| 久久影视精品| 亚洲日产国产精品| 亚洲国产成人在线播放| 美脚丝袜一区二区三区在线观看| 国产一区二区av| 久久综合色一综合色88| 久久米奇亚洲| 在线亚洲电影| 亚洲一区二区日本| 在线看欧美日韩| 亚洲一区欧美二区| 在线亚洲伦理| 亚洲一区二区伦理| 欧美日韩在线一二三| 亚洲天堂男人| 欧美在线播放高清精品| 亚洲国产精品t66y| 99视频在线观看一区三区| 国产精品久久久久毛片软件 | 欧美成人免费在线观看| 亚洲欧洲精品一区二区三区 | 国产一区二区三区久久| 久久影视精品| 美女视频黄免费的久久| 日韩一级网站| 亚洲性夜色噜噜噜7777| 国产精品伦子伦免费视频| 久久福利影视| 欧美精品一区二区三区视频| 欧美影院在线播放| 欧美99在线视频观看| 午夜激情一区| 欧美福利视频在线| 久久夜色精品国产| 欧美午夜电影完整版| 免费看的黄色欧美网站| 欧美午夜宅男影院| 欧美高清视频一二三区| 国产精品外国| 91久久精品一区| 欧美日韩综合在线免费观看| 久久久高清一区二区三区| 欧美国内亚洲| 欧美激情国产日韩| 激情综合色综合久久| 亚洲私人影院| 日韩一区二区精品视频| 久久久久久穴| 中文国产一区| 麻豆国产va免费精品高清在线| 久久国内精品自在自线400部| 欧美成人激情视频| 欧美黄色免费网站| 国产欧美日韩高清| 一区二区冒白浆视频| 亚洲日韩欧美视频一区| 一区二区三区欧美在线观看| 99视频一区二区三区| 另类激情亚洲| 欧美福利小视频| 亚洲精品美女在线| 欧美xxxx在线观看| 欧美高清视频在线| 怡红院av一区二区三区| 午夜一区二区三区不卡视频| 亚洲欧美激情一区二区| 亚洲国产成人精品女人久久久| 亚洲一区3d动漫同人无遮挡| 久久国产黑丝| 久久久99精品免费观看不卡| 国产精品视频观看| 午夜精品久久久久久久久久久久久| 亚洲在线一区二区| 欧美性一区二区| 亚洲手机在线| 久久久亚洲欧洲日产国码αv | 亚洲级视频在线观看免费1级| 亚洲国产精品悠悠久久琪琪| 久久精品国亚洲| 另类综合日韩欧美亚洲| 亚洲国产精品传媒在线观看 | 亚洲福利视频免费观看| 欧美成人在线免费观看| 日韩西西人体444www| 亚洲免费人成在线视频观看| 国产精品美女视频网站| 久久av一区二区三区亚洲| 亚洲大片在线观看| 午夜久久tv| 国产一区二区三区久久久久久久久| 久久免费视频网| 夜色激情一区二区| 欧美在线视频一区二区| 红桃视频一区| 欧美日韩免费高清| 亚洲一区不卡| 欧美大片免费观看| 亚洲一级电影| 国产无一区二区| 欧美高清视频www夜色资源网| 亚洲午夜激情免费视频| 玖玖视频精品| 亚洲欧美日韩在线观看a三区| 国语自产精品视频在线看抢先版结局 | 欧美一区二区三区四区在线观看地址| 久久亚洲不卡| 亚洲主播在线观看| 亚洲国语精品自产拍在线观看| 欧美日韩国产限制| 久久婷婷久久| 亚洲欧美制服另类日韩| 亚洲乱亚洲高清| 麻豆精品视频在线| 午夜亚洲视频| 日韩视频免费在线| 一色屋精品亚洲香蕉网站| 国产精品国产福利国产秒拍| 老牛影视一区二区三区| 亚洲一区欧美| 9i看片成人免费高清| 久久综合网络一区二区| 欧美一区二区福利在线| 亚洲小少妇裸体bbw| 日韩午夜电影|