激情综合久久,亚洲欧美在线视频观看,国产欧美69http://www.shnenglu.com/zhujian/揣著夢(mèng)想騎驢找馬但不虐待驢zh-cnTue, 02 Dec 2025 16:37:10 GMTTue, 02 Dec 2025 16:37:10 GMT60ubuntu 10.04編譯安裝gcc 4.6.1http://www.shnenglu.com/zhujian/archive/2011/07/11/gcc-4-6-1.html逐漸逐漸Mon, 11 Jul 2011 14:06:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/07/11/gcc-4-6-1.htmlhttp://www.shnenglu.com/zhujian/comments/150707.htmlhttp://www.shnenglu.com/zhujian/archive/2011/07/11/gcc-4-6-1.html#Feedback0http://www.shnenglu.com/zhujian/comments/commentRss/150707.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/150707.html
我參照了這篇博客 http://www.iteye.com/topic/1111655 ,但是安裝過(guò)程中遇到了些問(wèn)題,這里記載下,希望給遇到相同問(wèn)題的一個(gè)參考.

在gcc-4.6.1下configure時(shí)出來(lái) check CLooG installed....no(差不多是這意思,具體錯(cuò)誤信息忘了),我在Synaptic Package Manager里搜索cloog,將libcloog-ppl-dev和libcloog-pll0安裝了,configure通過(guò):-)

make && make install 都順利通過(guò):-)

我編譯我們的開(kāi)源項(xiàng)目stupidalgorithm http://code.google.com/p/stupidalgorithm/ ,編譯通過(guò),但運(yùn)行不通,提示需要庫(kù)GLIBCXX_3.4.15,這時(shí)將
gcc-4.6.1/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.16復(fù)制到/usr/lib,然后ln -s libstdc++.so.6 libstdc++.so.6.0.16,然后sudo ldconfig即可:-)


逐漸 2011-07-11 22:06 發(fā)表評(píng)論
]]>
Linux和Windows編譯C++模板問(wèn)題http://www.shnenglu.com/zhujian/archive/2011/07/09/template.html逐漸逐漸Sat, 09 Jul 2011 14:52:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/07/09/template.htmlhttp://www.shnenglu.com/zhujian/comments/150555.htmlhttp://www.shnenglu.com/zhujian/archive/2011/07/09/template.html#Feedback0http://www.shnenglu.com/zhujian/comments/commentRss/150555.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/150555.html
基類com_alg代碼片段:
 1 template <typename real_para>
 2 class com_alg
 3 {
 4 public:
 5     com_alg(std::string conf_path)
 6     {
 7         //
 8      }
 9     virtual ~com_alg() { }
10 };

子類de_alg代碼片段:
 1 #include "com_alg.h"
 2 
 3 class de_alg
 4     :public com_alg<de_para>
 5 {
 6 public:
 7     de_alg(std::string conf_path):
 8         com_alg(conf_path)
 9     {
10     }
11     ~de_alg() { }
12 };

注意de_alg代碼第8行紅色部分,在vs2010下編譯通過(guò),但是在linux(g++ 4.4.3)下編譯出錯(cuò):
de_alg.h: In constructor ‘de_alg::de_alg(std::string)’:
de_alg.h:
30: error: class ‘de_alg’ does not have any field named ‘com_alg’
de_alg.h:
30: error: no matching function for call to ‘com_alg<de_para>::com_alg()’
com_alg.h:
29: note: candidates are: com_alg<real_para>::com_alg(std::string) [with real_para = de_para]
com_alg.h:
27: note:                 com_alg<de_para>::com_alg(const com_alg<de_para>&)

將代碼改為com_alg<de_para>(conf_path)編譯通過(guò),大家能幫忙解釋下不?

歡迎大家訪問(wèn)我們的開(kāi)源項(xiàng)目,關(guān)于粒子群演化算法的庫(kù),多多提意見(jiàn)--http://code.google.com/p/stupidalgorithm/


逐漸 2011-07-09 22:52 發(fā)表評(píng)論
]]>
求解負(fù)載均衡算法http://www.shnenglu.com/zhujian/archive/2011/03/22/load.html逐漸逐漸Tue, 22 Mar 2011 01:49:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/03/22/load.htmlhttp://www.shnenglu.com/zhujian/comments/142449.htmlhttp://www.shnenglu.com/zhujian/archive/2011/03/22/load.html#Feedback3http://www.shnenglu.com/zhujian/comments/commentRss/142449.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/142449.html

逐漸 2011-03-22 09:49 發(fā)表評(píng)論
]]>
win7 利用live CD修復(fù)grub http://www.shnenglu.com/zhujian/archive/2011/03/21/win7grub.html逐漸逐漸Mon, 21 Mar 2011 14:47:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/03/21/win7grub.htmlhttp://www.shnenglu.com/zhujian/comments/142416.htmlhttp://www.shnenglu.com/zhujian/archive/2011/03/21/win7grub.html#Feedback0http://www.shnenglu.com/zhujian/comments/commentRss/142416.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/142416.html前幾天安裝了win7,挺好用的,比xp用起來(lái)還是舒服多了,裝完后ubuntu系統(tǒng)進(jìn)不了了,幾經(jīng)折騰終于搞定,記載下...同時(shí)也告誡自己,系統(tǒng)遇到問(wèn)題了要有耐心,慢慢總會(huì)找到解決方法的,怎么也比重裝來(lái)的快,廢話少說(shuō)啦...

1. 用ubuntu live CD啟動(dòng),打開(kāi)終端.

2. 網(wǎng)上說(shuō)的方法大致是:

   sudo grub
   grub>find /boot/stage1  ---->輸出(hdx,y)
   grub>root (hdx,y)
   grub>setup (hd0)
   grub>quit

但是我按照上面的方法 不是說(shuō)file not found就是no device.然后運(yùn)行了sudo grub-install --root-directory=/mnt /dev/sda 命令,再次執(zhí)行上面步驟,成功.reboot

如果重啟后系統(tǒng)出現(xiàn)grub,那么你是幸運(yùn)的,我沒(méi)那么幸運(yùn),系統(tǒng)進(jìn)入grub命令模式, :-( grub>

這時(shí)候就要用到grub命令了,其實(shí)這時(shí)即可以進(jìn)win7也可以進(jìn)ubuntu,進(jìn)ubuntu修復(fù)grub吧,命令如下

grub> find /boot/grub/core.img  ----> (hdx,y)
grub> root (hdx,y)
grub> kernel /boot/grub/core.img
grub> boot

這下就會(huì)啟動(dòng)linux,進(jìn)入終端,輸入sudo grub-install /dev/sda,OK

如果要進(jìn)入win7,輸入如下命令即可:
grub> rootnoverify (hd0,0)
grub> chainloader +1
grub> boot

:-)


逐漸 2011-03-21 22:47 發(fā)表評(píng)論
]]>
pimp idiom降低程序偶合http://www.shnenglu.com/zhujian/archive/2011/01/16/pimp.html逐漸逐漸Sun, 16 Jan 2011 08:42:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/01/16/pimp.htmlhttp://www.shnenglu.com/zhujian/comments/138602.htmlhttp://www.shnenglu.com/zhujian/archive/2011/01/16/pimp.html#Feedback0http://www.shnenglu.com/zhujian/comments/commentRss/138602.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/138602.htmlhttp://www.gotw.ca/gotw/024.htm(這個(gè)網(wǎng)站好像被墻了,很諷刺),其實(shí)就是將定義與實(shí)現(xiàn)分開(kāi)。

在我博客上一篇隨筆《關(guān)于高內(nèi)聚低偶合》提到的問(wèn)題,pimp idiom對(duì)降低程序偶合有一定的幫助,下面是我的理解思路,大家有好的意見(jiàn)或者更好的方法可以一起討論下:

 1 class Para_Base
 2 {
 3     //
 4 };
 5 
 6 class GA_Para
 7     :public Para_Base
 8 {
 9     //
10 };
11 
12 class Alg_Base
13 {
14 public:
15     Alg_Base(Para_Base *p)
16         :m_pPara(p) { }
17     //
18 protected:
19     Para_Base *m_pPara;
20 };
21 
22 class GA_Alg
23     :public Alg_Base
24 {
25     //    
26 public:
27     GA_Alg(GA_Para *pGA)
28         :Alg_Base(pGA) { }
29 };

參數(shù)基類Para_Base和特定的算法參數(shù)類GA_Para都沒(méi)有改變。

算法基類Alg_Base的模板去掉了,同時(shí)添加了一個(gè)指向參數(shù)基類Para_Base的指針成員變量,而以前用的是模板指針。并且修改了構(gòu)造函數(shù),構(gòu)造函數(shù)接受一個(gè)指向Para_Base的指針并賦給m_pPara。

特定算法類GA_Alg繼承自算法基類Alg_Base,但修改了構(gòu)造函數(shù),接受指向GA_Para的一個(gè)指針,然后調(diào)用父類Alg_Base的構(gòu)造函數(shù),這樣的結(jié)果便是m_pPara指向的是GA_Para實(shí)例,等價(jià)于Para_Base *m_pPara = new GA_Para();

相對(duì)于上一篇提到的模板實(shí)現(xiàn),pimp idiom的偶合更低些,而且pimp idiom應(yīng)用也非常廣泛。


逐漸 2011-01-16 16:42 發(fā)表評(píng)論
]]>
關(guān)于高內(nèi)聚低偶合http://www.shnenglu.com/zhujian/archive/2011/01/13/stupidAlg.html逐漸逐漸Thu, 13 Jan 2011 12:43:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/01/13/stupidAlg.htmlhttp://www.shnenglu.com/zhujian/comments/138478.htmlhttp://www.shnenglu.com/zhujian/archive/2011/01/13/stupidAlg.html#Feedback4http://www.shnenglu.com/zhujian/comments/commentRss/138478.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/138478.html
 1 class Para_Base
 2 {
 3     
 4 };
 5 
 6 class GA_Para
 7     :public Para_Base
 8 {
 9         
10 };
11 
12 template <typename Para_Type>
13 class Alg_Base
14 {
15     //
16     shared_ptr<Para_Type> m_pPara;
17 };
18 
19 class GA_Alg
20     :public Alg_Base<GA_Para>
21 {
22     
23 }

解釋一下,一個(gè)參數(shù)基類,是各種算法參數(shù)的公共基類,第二個(gè)類是GA算法的參數(shù)類,繼承自Para_Base,第三個(gè)類是各種算法的基類,是個(gè)模板類,模板參數(shù)類型是算法參數(shù)類型,如GA_Para,第4個(gè)類是GA算法類,繼承自Alg_Base,這樣m_pPara對(duì)不同的算法指向不同的參數(shù),但這樣改動(dòng)一下代碼,程序得從頭重新編譯,因?yàn)槌绦驇?kù)的確比較大,編譯起來(lái)挺花時(shí)間的,(這是師兄帶我寫的一個(gè)智能演化算法的庫(kù),即將完成,我們打算開(kāi)源,完成后再通告大家)大家有沒(méi)有更好的設(shè)計(jì)方法,比如把定義與實(shí)現(xiàn)分開(kāi),還望大家多發(fā)表些意見(jiàn),不勝感激。





]]>
Boost program_options(續(xù))http://www.shnenglu.com/zhujian/archive/2011/01/13/boost_program_options2.html逐漸逐漸Thu, 13 Jan 2011 05:17:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/01/13/boost_program_options2.htmlhttp://www.shnenglu.com/zhujian/comments/138459.htmlhttp://www.shnenglu.com/zhujian/archive/2011/01/13/boost_program_options2.html#Feedback0http://www.shnenglu.com/zhujian/comments/commentRss/138459.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/138459.html
 1 #include <boost/program_options.hpp>
 2 
 3 #include <vector>
 4 #include <iostream>
 5 #include <string>
 6 #include <algorithm>
 7 #include <iterator>
 8 #include <fstream>
 9 using std::copy;
10 using std::vector;
11 using std::string;
12 using std::cout;
13 using std::cerr;
14 using std::endl;
15 using std::exception;
16 using std::ostream;
17 using std::ifstream;
18 using std::ostream_iterator;
19 
20 namespace po=boost::program_options;
21 
22 // output vector.
23 template <typename T>
24 ostream& operator<<(ostream& os, const vector<T>& v)
25 {
26     copy(v.begin(), v.end(), ostream_iterator<T>(os, " "));
27     return os;
28 }
29 
30 int main(int argc, char*argv[])
31 {
32     try
33     {
34         string conf_file;
35         po::options_description desc("general descriptions.");
36         desc.add_options()
37             ("help""generate help information")
38             ("config,c", po::value<string>(&conf_file)->default_value("compiler.conf"), "compiler configure file")
39             ("input-file", po::value<vector<string> >(), "input files")
40             ("link-file,l", po::value<vector<string> >()->composing(), "link file");
41 
42         po::positional_options_description p;
43         p.add("input-file"-1);
44 
45         po::variables_map vm;
46         //po::store(po::parse_command_line(argc, argv, desc), vm);
47         po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm);
48         po::notify(vm);
49 
50       
51         if(vm.count("help"))
52         {
53             cout<<desc<<endl;
54             return 1;
55         }
56 
57         // add following lines
58         ifstream i_conf(conf_file.c_str());
59         if(!i_conf)
60         {
61             cerr<<"Configure file not exit.\n";
62             return -1;
63         }
64         else
65         {
66             po::store(po::parse_config_file(i_conf, desc), vm);
67             notify(vm);
68         }
69         
70         if(vm.count("input-file"))
71         {
72             cout<<"Input files: "<<vm["input-file"].as<vector<string> >()
73                 <<"\n";
74         }
75 
76         if(vm.count("link-file"))
77         {
78             cout<<"Link file: "<<vm["link-file"].as<vector<string> >()
79                 <<"\n";
80         }
81     }
82     catch(exception& e)
83     {
84         cout<<e.what()<<endl;
85         return -1;
86     }
87 
88     return 0;
89 }
90 

第38行添加了config參數(shù)命令,接受一個(gè)string類型值,并將默認(rèn)值設(shè)為compiler.conf.
第40行添加了composing()方法,這表示程序?qū)牟煌臄?shù)據(jù)源中獲得數(shù)據(jù)并組合起來(lái).
第66行解析配置文件并存儲(chǔ)至vm.
接下來(lái)代碼便是比對(duì)vm中選項(xiàng)值,簡(jiǎn)單吧:)

boost文檔里介紹了隱藏選項(xiàng)和存放多姐選項(xiàng)的方法,http://www.boost.org/doc/libs/1_45_0/doc/html/program_options/tutorial.html#id2073299







逐漸 2011-01-13 13:17 發(fā)表評(píng)論
]]>
Boost program_optionshttp://www.shnenglu.com/zhujian/archive/2011/01/13/boost_program_options.html逐漸逐漸Thu, 13 Jan 2011 03:17:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/01/13/boost_program_options.htmlhttp://www.shnenglu.com/zhujian/comments/138408.htmlhttp://www.shnenglu.com/zhujian/archive/2011/01/13/boost_program_options.html#Feedback0http://www.shnenglu.com/zhujian/comments/commentRss/138408.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/138408.html
 1 #include <boost/program_options.hpp>
 2 
 3 #include <vector>
 4 #include <iostream>
 5 #include <string>
 6 #include <algorithm>
 7 #include <iterator>
 8 using std::copy;
 9 using std::vector;
10 using std::string;
11 using std::cout;
12 using std::endl;
13 using std::exception;
14 using std::ostream;
15 using std::ostream_iterator;
16 
17 namespace po=boost::program_options;
18 
19 // output vector.
20 template <typename T>
21 ostream& operator<<(ostream& os, const vector<T>& v)
22 {
23     copy(v.begin(), v.end(), ostream_iterator<T>(os, " "));
24     return os;
25 }
26 
27 int main(int argc, char*argv[])
28 {
29     try
30     {
31         po::options_description desc("general descriptions.");
32         desc.add_options()
33             ("help""generate help information")
34             ("input-file", po::value<vector<string> >(), "input files")
35             ("link-file,l", po::value<vector<string> >(), "link file");
36 
37         po::variables_map vm;
38         po::store(po::parse_command_line(argc, argv, desc), vm);
39         po::notify(vm);
40 
41         if(vm.count("help"))
42         {
43             cout<<desc<<endl;
44             return 1;
45         }
46 
47         if(vm.count("input-file"))
48         {
49             cout<<"Input files: "<<vm["input-file"].as<vector<string> >()
50                 <<"\n";
51         }
52 
53         if(vm.count("link-file"))
54         {
55             cout<<"Link file: "<<vm["link-file"].as<vector<string> >()
56                 <<"\n";
57         }
58     }
59     catch(exception& e)
60     {
61         cout<<e.what()<<endl;
62         return -1;
63     }
64 
65     return 0;
66 }
67 

程序第20行重載了<<運(yùn)算符,用于輸出vector數(shù)組.
第31行定義一個(gè)選項(xiàng)描述組件,然后添加允許的選項(xiàng),add_options()方法返回一個(gè)特定對(duì)象,該對(duì)象重載了()運(yùn)算.link-file選項(xiàng)指定了短名l,這樣--link-file與-l一個(gè)意思.
第37行定義一個(gè)存儲(chǔ)器組件對(duì)象vm.
第38行分析器parse_command_line將選項(xiàng)描述存儲(chǔ)至vm,這里用到的分析器很簡(jiǎn)單,后面會(huì)介紹更復(fù)雜的應(yīng)用.

接下來(lái)的代碼就是比對(duì)vm中存放的選項(xiàng)了,簡(jiǎn)單吧,很好理解.下面是運(yùn)行截圖,編譯需要添加boost program_options庫(kù),即-lboost_program_option

對(duì)于input-file選項(xiàng),每次都要輸出--input-file真的很麻煩,能不能用compiler main.cpp呢,當(dāng)然可以.這種選項(xiàng)叫做positional option, 在第36行處加上如下代碼:
1         po::positional_options_description p;
2         p.add("input-file"-1);
3 

修改第38行,我們要用到功能更強(qiáng)大的command_line_parse,改成如下:
1  po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm);
編譯運(yùn)行:看下結(jié)果吧

先到這里吧,接下來(lái)再看從文件中讀選項(xiàng):)




逐漸 2011-01-13 11:17 發(fā)表評(píng)論
]]>
Boost anyhttp://www.shnenglu.com/zhujian/archive/2011/01/11/boost_any.html逐漸逐漸Tue, 11 Jan 2011 06:16:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/01/11/boost_any.htmlhttp://www.shnenglu.com/zhujian/comments/138323.htmlhttp://www.shnenglu.com/zhujian/archive/2011/01/11/boost_any.html#Feedback0http://www.shnenglu.com/zhujian/comments/commentRss/138323.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/138323.html
1 boost::any a;  //定義any對(duì)象
2 a=std::string("boost any");  //any重載了模板賦值函數(shù)
3 a=3.1415;
4 a=15;
5  
6 std::string s("any type");
7 boost::any b(s);  //any的模板構(gòu)造函數(shù)
8 

從any對(duì)象中取出存放數(shù)據(jù)要借助普通模板函數(shù)any_cast,取回?cái)?shù)據(jù)也很簡(jiǎn)單.
1 string ss=boost::any_cast<std::string>(b);

如果類型不符any_cast會(huì)拋出一個(gè)bad_any_cast異常,該異常繼承自std::bad_cast.同時(shí)any對(duì)象有type()成員函數(shù),可以比較類型后再進(jìn)行類型轉(zhuǎn)換.
 1 
 2     if(a.type()==typeid(int))
 3     {
 4         int i=boost::any_cast<int>(a);
 5         //do something
 6     }
 7     else if(a.type()==typeid(std::string))
 8     {
 9         std::string s=boost::any_cast<std::string>(a);
10         //do something
11     }
12     else
13     {
14         try
15         {
16             double d=boost::any_cast<double>(a);
17             //do something
18         }
19         catch(std::bad_cast& bc)
20         {
21             std::cout<<"Oops!";
22             //do something
23         }
24     }
25 

說(shuō)明:any類成員函數(shù)empty()用于判斷對(duì)象中是否為空,在用any存放指針時(shí)要特別注意,any不保證指針?lè)强?即存放空指針時(shí)empty()返回還是false.看如下代碼片段便知:
 1     int *p=0;
 2     a=p;
 3     if(!a.empty())
 4     {
 5         cout<<"a is not empty.\n";
 6     }
 7     else
 8     {
 9         cout<<"a is empty.\n";
10     }
11 
輸出結(jié)果為 a is not empty.所以我們要額外判斷指針是否為空.
 1     if(!a.empty())
 2     {
 3         if(boost::any_cast<int*>(a) != 0)
 4             cout<<"a is not empty.\n";
 5         else 
 6             cout<<"null pointer.\n";
 7     }
 8     else
 9     {
10         cout<<"a is empty.\n";
11     }
12 

any存放類指針支持多態(tài).




逐漸 2011-01-11 14:16 發(fā)表評(píng)論
]]>
Boost progresshttp://www.shnenglu.com/zhujian/archive/2011/01/10/Boost.html逐漸逐漸Mon, 10 Jan 2011 11:20:00 GMThttp://www.shnenglu.com/zhujian/archive/2011/01/10/Boost.htmlhttp://www.shnenglu.com/zhujian/comments/138299.htmlhttp://www.shnenglu.com/zhujian/archive/2011/01/10/Boost.html#Feedback0http://www.shnenglu.com/zhujian/comments/commentRss/138299.htmlhttp://www.shnenglu.com/zhujian/services/trackbacks/138299.html 1 2 #include <boost/progress.hpp> 3 4 #include <iostream> 5 #include <vector> 6 7 using std::cout; 8 using std::endl; 9 using std::vector; 10 using boost::progress_display; 11 using boost::progress_timer; 12 13 int main() 14 { 15 vector<int> v; 16 int i; 17 for(i=0; i<10; i++) 18 v.push_back(i); 19 20 progress_display display(v.size()); 21 22 vector<int>::iterator it; 23 progress_timer elapsed; 24 for(it=v.begin(); it!=v.end(); ++it) 25 { 26 //do something 27 ++display; 28 } 29 30 cout<<"elapsed time: "; 31 return 0; 32 }
程序運(yùn)行結(jié)果截圖:
說(shuō)明:progress_display重載了operator++,progress_timer在定義時(shí)開(kāi)始計(jì)時(shí),對(duì)象析構(gòu)時(shí)輸出所耗時(shí)間.


逐漸 2011-01-10 19:20 發(fā)表評(píng)論
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品中文字| 亚洲一区在线播放| 1000部国产精品成人观看| 国产情侣久久| 国产欧美日韩专区发布| 国产精品一区二区久久| 国产欧美 在线欧美| 国产精品视频一| 国产视频亚洲精品| 韩国三级电影久久久久久| 国产一区二区三区直播精品电影| 国内精品久久久久国产盗摄免费观看完整版 | 欧美日韩在线不卡| 国产精品99免费看| 国产精品中文字幕欧美| 国产专区欧美精品| 亚洲国产精品激情在线观看| 亚洲精品资源| 亚洲欧美国产一区二区三区| 久久av一区二区三区亚洲| 六月天综合网| 亚洲国内精品在线| 亚洲色图综合久久| 欧美在线视频播放| 欧美激情亚洲综合一区| 欧美视频中文在线看| 国产人久久人人人人爽| 亚洲国产成人午夜在线一区| 一区二区久久久久| 欧美一区二区视频在线| 欧美电影在线观看| av成人免费| 久久精品国产亚洲aⅴ| 欧美成人在线免费观看| 国产精品久久久久久久久免费樱桃| 国产日韩精品视频一区| 91久久精品国产91性色tv| 亚洲影院在线| 免费观看一级特黄欧美大片| 亚洲精品视频一区二区三区| 亚洲欧美日韩精品久久久| 免费永久网站黄欧美| 欧美四级电影网站| …久久精品99久久香蕉国产| 亚洲午夜一区二区| 蜜臀99久久精品久久久久久软件 | 香蕉成人久久| 欧美风情在线| 国产一区二区在线免费观看| 日韩视频三区| 麻豆精品视频| 一区二区三区视频免费在线观看| 久久九九久久九九| 国产精品v欧美精品v日韩 | 欧美日韩国产三级| 国内精品久久久久久久影视蜜臀| 一本色道久久综合| 久久一区二区三区av| 在线视频一区二区| 女主播福利一区| 国产一区视频在线看| 国产精品99久久久久久久久| 欧美成人国产一区二区| 亚洲免费中文| 欧美日韩在线看| 亚洲国产网站| 久久久蜜桃一区二区人| 亚洲午夜精品一区二区| 欧美精品18+| 在线精品亚洲| 久久久亚洲欧洲日产国码αv| 夜夜嗨av一区二区三区网站四季av| 久久男人资源视频| 国产一区二区三区四区hd| 亚洲一区二区三区精品在线观看| 欧美福利视频网站| 久久久人成影片一区二区三区观看| 国产精品丝袜xxxxxxx| 一区二区三区 在线观看视频| 猫咪成人在线观看| 欧美在线播放高清精品| 国产精品私房写真福利视频| 亚洲午夜三级在线| 日韩视频免费在线观看| 欧美精品一区二区三区一线天视频| 精品二区视频| 久久婷婷国产综合国色天香| 性久久久久久久久| 国产精品美腿一区在线看| 亚洲一区二区三区色| 日韩天天综合| 欧美日韩国产成人高清视频| 亚洲精品少妇网址| 91久久精品国产91久久| 欧美成人精品一区二区| 亚洲狼人精品一区二区三区| 亚洲电影免费| 欧美激情一区二区三区蜜桃视频| 91久久精品一区二区别| 亚洲福利视频三区| 欧美精品激情blacked18| 亚洲精品一二| 99re66热这里只有精品3直播| 欧美日产国产成人免费图片| 亚洲视频一区二区免费在线观看| 99国产精品视频免费观看一公开| 欧美日韩中文另类| 欧美亚洲免费电影| 久久精品国产视频| 亚洲福利视频在线| 91久久国产精品91久久性色| 欧美日韩成人激情| 亚洲欧美伊人| 久久精品人人| 亚洲国产毛片完整版| 亚洲黄色影院| 欧美日韩国产成人| 亚洲人成人一区二区在线观看| 亚洲国产精品久久久久婷婷884 | 欧美夜福利tv在线| 国产日韩欧美一区在线| 久久久久久色| 久久久久免费| 亚洲黄一区二区三区| 亚洲成色www8888| 欧美va亚洲va日韩∨a综合色| 在线欧美日韩国产| 欧美激情1区2区3区| 欧美国产专区| 亚洲在线视频观看| 亚洲欧美日韩国产综合| 在线观看视频欧美| 亚洲第一在线视频| 欧美日韩亚洲一区二区三区在线观看| 亚洲社区在线观看| 亚洲在线观看免费| 黄色av一区| 另类图片国产| 欧美日韩在线三级| 欧美制服丝袜| 久久一区二区三区四区五区| 亚洲日本一区二区| 午夜精品一区二区三区在线播放 | 亚洲精品免费在线播放| 欧美日韩在线电影| 亚洲欧美日韩精品在线| 久久视频免费观看| 一本久久综合亚洲鲁鲁| 亚洲自拍电影| 在线观看中文字幕不卡| 日韩午夜在线电影| 国产一区二区三区精品久久久| 欧美国产精品日韩| 国产精品久久久久久久第一福利| 久久频这里精品99香蕉| 欧美黄在线观看| 久久亚洲一区二区| 欧美精品色网| 久久精品九九| 欧美极品aⅴ影院| 久久躁日日躁aaaaxxxx| 欧美日韩亚洲不卡| 老司机成人网| 欧美三日本三级少妇三99| 久久国产精品99精品国产| 欧美大成色www永久网站婷| 妖精成人www高清在线观看| 亚洲欧美在线网| 亚洲看片免费| 久久av二区| 欧美一激情一区二区三区| 欧美国产大片| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品亚洲综合一区在线观看| 老司机午夜精品| 国产精品扒开腿做爽爽爽视频| 免费人成网站在线观看欧美高清| 国产精品亚发布| 亚洲国产精品va| 狠狠色丁香久久综合频道| 99国产精品国产精品毛片| 亚洲毛片在线看| 久久国产毛片| 亚洲欧美一区二区三区久久| 欧美成人一品| 欧美自拍丝袜亚洲| 国产精品视频精品视频| 亚洲精品视频免费观看| 亚洲国产欧美在线人成| 亚洲欧美日韩一区二区三区在线 | 国产欧美一区二区三区另类精品| 亚洲肉体裸体xxxx137| 国产亚洲精品综合一区91| 亚洲一区二区在| 日韩视频免费在线| 蜜桃伊人久久| 免费在线看成人av| 亚洲成色www久久网站| 午夜日韩福利| 午夜老司机精品|