• <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>

            歲月流轉,往昔空明

            C++博客 首頁 新隨筆 聯系 聚合 管理
              118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks

            #

            在上一篇剛剛寫完以后,群里面的一個前輩看了看了以后笑了笑。他說,你怎么到現在都不知道什么叫三層架構。我說,不是三層,而是四層。

            界面 / 界面邏輯 /?業務邏輯 / 數據。?

            在桌面領域來說,業務邏輯和數據往往是聯系起來的。所以這里的三層架構實際上是界面 / 界面邏輯+中介 / 業務邏輯。之前的錯誤就在于不小心把業務邏輯和界面邏輯混為一談了。

            在此要狠狠的感謝一下李錦俊(老李的博客)和猴子二位前輩^_^;猴子是界面專家,他對界面開發了如指掌,我的WTL是從他那里才知道的,也是跟他學的,Windows的界面編程遇到的問題他也給我了詳細、明確的解答;老李實踐經驗豐富,他指出了我的編程知識里面很多不合理和理論實際脫節的地方。要不是他們,估計我現在還在苦苦的瞎想呢。
            posted @ 2006-12-13 19:54 空明流轉 閱讀(1269) | 評論 (4)編輯 收藏

            但是,隨后的幾個程序也是如此,不盡人意。其間我也是一直在讀關于Command模式和一些程序的代碼,但是就是沒有能夠領悟到應該怎樣完成我的程序才算是個較優的選擇。

            其間問了一些朋友,但是他們給的答復都是,要多寫代碼才能理解,有時頓悟是很重要的。

            實際上,這一切都源自于我對MVC那淺薄的認知。當然,現在也是很淺薄的。我錯誤的將邏輯控制與界面控制都非常單純的交給了Control這個部分,從而讓本來屬于業務和界面控制的代碼在M-C處被混合后又不自然的割裂開來。

            為什么會做這個失誤的判斷,我想了很久。

            從現在來看,我覺得是因為自己過于重視“耦合”而輕視了內聚。盡管在分成兩層以后,邏輯和界面之間的耦合度降低了,但是程序邏輯自身和界面邏輯都不同程度的引入了黏合部位的內容而影響程序的結構。

            在總結了以往的經驗和教訓以后,我現在開始在新的程序里面嘗試將程序分成三層。界面一層,界面控制一層,這一層基本上是純粹的窗口設計代碼,以及一些必要的提交到下一層的通知;邏輯-界面的通訊與界面控制一層,這層的職責是加工界面獲取的信息,在界面控件間協調控制,并處理消息通知邏輯層,可以視作是視圖的“文檔”;最后一層是邏輯層。

            當然,目前僅僅在幾個小程序中采用了這樣的設計,也不太清楚副作用究竟怎么樣,所以只是說給大家提供一個借鑒而已。至于最重要的經驗,那就是,有時候,不能太看重“耦合”了,還是應該關注一下,對象本身的內聚性如何。
            posted @ 2006-12-12 22:53 空明流轉 閱讀(1204) | 評論 (3)編輯 收藏

            如上所言,現在回過頭來想一想,寫不出來好代碼也純屬報應。偏偏那時候不曉得這么個道理,反而是拉不出屎來怨茅坑。

            好端端的Delphi 5被我罵了個狗血噴頭。

            現在回過頭來想一想出了它的那個狂慢的且盡提示些雞肋信息的智能感知和代碼自動完成功能,還有那拙劣的,有著丑陋的斜體中文和永遠都不能支持Tahoma字體的IDE讓我覺得不能忍受以外,Delphi沒什么不好的。但是就是因為這點原因,連帶著BCB也遭了殃。

            當然這是在看到了MFC的麻煩以后我才會感覺到的好處。VCL用起來實在是太爽了。

            隨后在高三下和大一的時候也就開始看一些軟件工程和面向對象方面的資料。大一下的時候開始看設計模式和軟件過程。

            只是熟悉我的人都知道,我這個人紙上談兵的毛病真不是一般的重。讀了那么多的書,從來就沒想過該到了改善一下自己寫的Win界面程序框架的時候了。其實別說這么高深的東西我不會用,就連匈牙利命名,我都用得不太好。這主要是前面想的名字后面就忘了當時怎么取得了。無奈是我的英語太差所致。當然,再差我也不太會用漢語拼音去給變量取名字。那丫就是折騰自己。起過了,看不懂。

            到了大二,要開始交作業了。我又不是計算機或者相關專業,要求也不高,就是用VB隨便弄點什么工程程序就K.O.。照理說VB很簡單。但是我不太喜歡VS6的界面,正好那段時間又開始跟一個前輩學WTL,有界面高手愿意用業余時間知道我,我當然不能浪費這么個機會。于是開始用它寫了一個很簡單的隨機地形生成器。

            這對我的界面程序經歷來說,是一條分水嶺。從那個程序開始,我開始在學習,如何將界面邏輯和程序邏輯區分開。

            但是實際上這次實踐并不是很成功。我在設計框架時,沒能考慮的很周全,因此只做出了兩層的結構。這樣一方面,程序邏輯為了照顧界面,做出了不少的與邏輯關系并不密切的接口,而界面為了容納自身的全部邏輯,以及與程序邏輯黏合,也有大量的非內聚代碼充斥其中。這不得不讓我開始考慮一些更好的程序設計的辦法和方案。

            posted @ 2006-12-12 10:18 空明流轉 閱讀(1080) | 評論 (3)編輯 收藏

            我接觸程序的時間也不算長,也不算太短。從高一開始接觸Pascal,完全是為了競賽。只是最后這競賽也沒吃到什么好果子。高一下的時候有些經不住Win32窗口程序的誘惑,開始擺弄Delphi。但是無奈當時水平實在太差(連類和對象都分不清楚),肯定也就寫不出來什么像樣的程序。

            高三開始學習C++,也是從 cout << "Hello World!" << endl 開始的。

            所以許多年來,我一直都局限于程序自身,但是從來就沒有完整的沒有什么Bug的完成一款桌面程序。從Delphi,到C++Builder,到VB,到MFC,到WTL,到Python,莫不是如此。

            究其原因是因為我一直以來就沒怎么深刻理解Windows消息機制,每次寫Win32程序都要對界面琢磨半天,可能還要搞大量的Prototype來證明方案的可行;寫完了又花費大把大把的時間去調試界面程序。而且又往往會在使用的時候才發現問題。

            早先用Delphi的時候,我犯了一個極度愚蠢的錯誤,就是錯誤的把程序的界面框架當作了程序框架。換句話說,一個最明顯的情況也就是,把所有的代碼/邏輯都放在了EventHandler里面。這樣做的壞處不言而喻。稍微有點工程意識的,都知道這樣做是很不好的。邏輯按照邏輯,界面邏輯按照界面邏輯,這之間應當是松耦合的。
            posted @ 2006-12-11 22:55 空明流轉 閱讀(1909) | 評論 (8)編輯 收藏

            最近考研緊迫。
            只是我還是沒能頂住誘惑,仍然不時琢磨一下畢業設計的問題。

            畢業設計我覺得自己十有八九是要弄個什么程序的。然后就在考慮界面和語言的事情。
            現在供我選擇的也不是很多,Delphi,C++,Python,VB,C#。

            一貫不喜VB,自己的VB也不是太好,向我的VB工作范圍僅限于VBA那點活計;
            C#吧,剛剛學,.net用的也不行,要是對付畢業設計,估計還要費一番心力,僅作備用。。。
            Delphi,以前學的就不好,很久沒摸過了又,基本上忘干凈了。
            C++,太麻煩。。。

            然后發現自己看起來知道的不少,其實都他媽淺嘗輒止。
            遂想找個更方便的。然后想起來Python,寫起來挺方便,格式也挺好看。下載了wxPython。才發現自己不是一般的菜。一個晚上過去了都沒弄出來一個像樣的窗口。
            而且還出現了幾個莫名的錯誤。PyScripter的IDE樣子挺好,但是穩定性不行。

            寫了一段代碼,死活過不去,對話框正確的顯示關閉,但是進程就是不結束。看起來是死循環了。
            import?wx

            class?MyApp(wx.App):
            ??
            def?OnInit(self):
            ????self.dlg?
            =?wx.Dialog(None)
            ????self.dlg.ShowModal()
            ????self.Destroy()
            ????
            return?True

            if?__name__?==?'__main__'
            ??app?
            =?MyApp()
            ??app.MainLoop()

            要是把Dialog改稱Frame就正常了。
            或者也可以把Dialog放在MainLoop之前也可以。

            原因未找到。不過至少大家在寫得時候別讓Dialog作為主窗口就沒事。估計可能是由于Dialog的消息機制跟Frame有些區別。。。也希望高人指點。
            posted @ 2006-12-09 21:21 空明流轉 閱讀(905) | 評論 (2)編輯 收藏

            昨天同學的機器中了一個病毒,忙了一個多小時終于解決了。此病毒Kaspersky 2006-12-4病毒庫無法檢測出。

            病毒癥狀:系統啟動并運行一段時間以后,出現進程cmd.exe,并極度占用CPU。

            原因:cmd以/c的方式執行%temp%\_xiaren.bat 并循環刪除 %TEMP%\HELP.EXE,從而造成進程長時間大量占用CPU。

            解決方法:
            1. 使用具有管理員權限的帳號進入安全模式,推薦為命令行狀態的安全模式,且不使用已經中毒的帳戶。
            2. 開啟命令行。
            3. 進入中毒帳戶的temp文件夾,先使用dir/a察看并確認存在兩個病毒文件help.exe和helper.exe,使用命令del/a help.exe的方式刪除這兩個文件。如果查找的到文件卻提示無法刪除,請先用attrib -r -h -s help.exe的命令處理help.exe 和 helper.exe,再使用del help.exe刪除它們。
            4. 進入D盤,按照上述方法刪除myplay.pif和autorun.inf文件。
            5. 在注冊表項中搜索值myplay.pif,并將所對應的項刪除。

            posted @ 2006-12-04 10:30 空明流轉 閱讀(1447) | 評論 (0)編輯 收藏

            以下是目錄。。。也許會對大家編排文檔有幫助。。。


            ├─Graphics
            │??├─Scene
            │??├─Themes
            │??├─APIs
            │??├─ATI
            │??├─Demo
            │??├─Global?Illumination
            │??├─Shader
            │??├─Fundamental?Math
            │??├─Texture?and?Pixels
            │??├─Light?and?Shadows
            │??├─Polygon?and?Model
            │??└─NV
            │??????├─SIGGRAPH_2005
            │??????├─EG_2004
            │??????├─SIGGRAPH_2002
            │??????├─GDC_2003_Presentations
            │??????├─GDC_2006_Presentations
            │??????├─GDC_2K_Presentations
            │??????├─SIGGRAPH_2001
            │??????├─GDC_1999
            │??????├─GPU?Gems?
            2?樣稿
            │??????├─Tech?Presentation
            │??????│??├─
            2001
            │??????│??├─
            2003
            │??????│??├─2004B
            │??????│??├─2004A
            │??????│??├─
            2005
            │??????│??└─
            2006
            │??????├─SIGGRAPH_2006
            │??????├─Papers
            │??????├─GDCE_2003_Presentations
            │??????├─GDC_2004_Presentations
            │??????├─SIGGRAPH_2003_Presentations
            │??????├─SIGGRAPH_2004_Presentations
            │??????├─GDC_2005
            │??????├─I3D_2005
            │??????├─6800_Leagues
            │??????├─ChinaJoy
            │??????├─CEDEC_2006
            │??????├─GDC_2002_Presentations
            │??????└─GDC_2001_Presentations
            ├─Net
            │??├─Socket
            │??├─WebService
            │??├─Deployment?and?Hardware
            │??├─Security
            │??└─Protocal
            │??????├─TCP_IP
            │??????└─RPC
            ├─Database
            │??├─Management
            │??└─Development
            ├─UI
            │??├─Windows?Forms
            │??├─Web?GUI
            │??└─3D?GUI
            ├─Framework
            │??├─COM
            │??├─CORBA
            │??└─DotNet
            ├─Programming?Language
            │??├─C?and?C
            ++
            │??├─C#
            │??├─GPGPU
            │??├─Delphi
            │??├─Script?Language
            │??├─Assembly
            │??└─Market?Language
            ├─AI
            ├─Security
            ├─General?Algorithm
            ├─Enterprise?Solution
            ├─Optimization
            │??├─Intel
            │??└─AMD
            └─OS?Development?and?Management
            ????├─Windows
            ????└─Unix?and?Linux
            posted @ 2006-12-03 22:46 空明流轉 閱讀(1763) | 評論 (2)編輯 收藏

            NVDIA CUDA
            ---------GPU計算的革命

            NVIDIA CUDA技術是基礎的新的計算架構,這個架構將使用GPU來解決一些消費、商業和技術工業領域復雜的計算問題。CUDA(計算標準設備架構)技術將通過革命性的計算架構來使用NV的gpu的強大的處理能力,從而給數據密集型的應用提供了完全不受限制的全新的計算能力。該架構將通過標準的c語言來提供大量的高性能指令以及簡潔的程序開發方式,從而允許開發者創建一個解決辦法,該辦法將消耗更少的時間為數據密集型的處理提供足夠精確的解答。

            什么是CUDA?

            使用了CUDA的GPU計算通過標準的C語言將下一代NV GPU的總多計算特性結合到一起。在這之前的GPU是基于“流式著色程序”的,CUDA則使用C語言,通過“線程”來創建應用程序,這類似于CPU上的多線程程序。相比較于僅能有很少線程同時工作的多核CPU的而言,NV GPU的特性可以讓CUDA同時執行數千個線程,這將令我們的應用能處理更多的信息流。

            CUDA所提供的最重要的創新在于,它使得工作在GPU上的線程可以協作解決問題。在線程間通訊實現以后,CUDA將允許應用程序更加高效的執行。由NV GPUs的支持,CUDA有一個直接在GPU上的并行計算緩存,它用于保存頻繁使用的信息。在GPU上保存信息可以讓計算線程即刻得到共享數據而不是去漫長的等待off-chip的DRAM上的數據。它能讓用戶實時的計算出復雜問題的答案。

            通過CUDA應用程序所能獲得的好處

            CUDA GPU運算廣泛適用于需要處理大量數據的應用。例如,在游戲中我們可以使用CUDA來讓GPU承擔整個物理計算,而玩家將會獲得另他們感到驚奇的性能和視覺效果。另外,用于產品開發和巨量數據分析的商業軟件也可以通過它來使用一臺工作站或者服務器完成以前需要大規模的計算系統才能完成的工作。這一技術突破使得客戶可以任何地方進行實時分析與決策。同時,一些以前需要很先進的計算技術來達到的強大計算能力的科學應用程序,也不再受限在計算密度上;使用CUDA的計算可以在現有的空間里為平臺提供更強大的計算性能。

            為何使用CUDA?

            性能:NV GPU為數據密集型的應用提供了超乎想象的性能。CUDA給了我們一個標準的、廣泛使用的解決方案來給予新的應用前所未有的計算能力。
            兼容性:使用CUDA C-Compiler開發的程序將向后兼容NV的GPU。開發人員在GPU計算方面所做的投資將立刻在現有GPU的性能上得到回報,同時也將一定會在NV以后的高性能技術中獲得收益。
            生產力:開發者現在可以使用工業化的標準的C語言來使用他們所希望獲得的GPU的計算能力。CUDA提供了完整的開發解決方案,這一方案整合了CPU和GPU,這將令開發人員非常迅速地為他們的客戶提供最新的特征和更多的價值。
            伸縮性:使用CUDA開發的應用程序在性能和特性上可以應用于全線的NV的GPU,從嵌入式GPU到使用多GPU的高性能專業圖形解決方案。CUDA事實上已經可以在從大型的計算設備到個人消費級產品的任何層次的系統中運行。

            使用CUDA的軟件開發

            CUDA開發包是一個完整的使用GPU的軟件開發方案。在SDK包含了標準的FFT和BLAS庫、使用NV GPU的C編譯器和運行時驅動。CUDA運行時驅動是與常用的同DX和GL協同工作的驅動獨立的。同時CUDA對Linux和XP的支持也是相同的。

            技術特性

            CUDA為線程計算提供了一個統一的硬件和軟件解決方案來使用支持CUDA的GPU

            可支持CUDA的GPU為高性能計算提供并行數據緩沖和線程執行管理器的支持

            可以在GPU上使用的標準C語言

            提供了標準數值庫FFT和BLAS

            為計算提供了獨立的CUDA驅動

            優化了GPU和CPU之間的數據通信路徑

            CUDA驅動可以在圖形設備之間互操作

            支持 LINUX 與 XP 操作系統

            從高性能的專業圖形解決方案到移動和嵌入式GPU均能使用

            為高計算密度程序內建多GPU支持

            為程序開發和優化提供硬件調試的性能測試的支持

            posted @ 2006-11-20 11:55 空明流轉 閱讀(4493) | 評論 (7)編輯 收藏

            CUDA

            NVIDIA CUDA
            Revolutionary GPU Computing
            NVIDIA? CUDA? technology is a fundamentally new computing architecture for the GPU to solve complex computational problems across consumer, business, and technical industries.? CUDA (compute unified device architecture) technology gives data-intensive applications access to the tremendous processing power of NVIDIA graphics processing units (GPUs) through a revolutionary computing architecture unleashing entirely new capabilities.? Providing orders of magnitude more performance and simplifying software development through the standard C language, CUDA technology enables developers to create solutions for data-intensive processing to produce accurate answers, in less time.?


            If you are interested in developing with CUDA please join our
            registered developer program to get started.


            What is CUDA technology?

            GPU computing with CUDA technology is an innovative combination of computing features in next generation NVIDIA GPUs that are accessed through a standard ‘C’ language.? Where previous generation GPUs were based on “streaming shader programs”, CUDA programmers use ‘C’ to create programs called threads that are similar to multi-threading programs on traditional CPUs.? In contrast to multi-core CPUs, where only a few threads execute at the same time, NVIDIA GPUs featuring CUDA technology process thousands of threads simultaneously enabling a higher capacity of information flow.

            One of the most important innovations offered by CUDA technology is the ability for threads on NVIDIA GPUs to cooperate when solving a problem.? By enabling threads to communicate, CUDA technology allows applications to operate more efficiently.? NVIDIA GPUs featuring CUDA technology have a Parallel Data Cache that saves frequently used information directly on the GPU.? Storing information on the GPU allows computing threads to instantly share information rather than wait for data from much slower, off-chip DRAMs.? This advance in technology enables users to find the answers to complex computational problems in real-time.


            What applications benefit from CUDA?

            CUDA GPU computing is suitable for a wide range of applications that process massive amounts of information.? For example, game applications take advantage of CUDA technology by leveraging the NVIDIA GPU to run the entire physics computation, letting gamers experience amazing performance and visual effects.? In addition, commercial software applications used for product development or large data analysis, previously required a large scale computing system to run applications, can now benefit from using a standard workstation or server enabled with CUDA technology.? This breakthrough in technology enables customers to make real-time analysis and decisions from anywhere.? In addition, scientific applications which require the most intensive technical computing capability are no longer constrained by compute density; computing with CUDA provides a platform with a higher level of performance from the same space requirements.


            Why Use CUDA technology?

            Performance. NVIDIA GPUs offer incredible performance for data-intensive applications.? CUDA technology provides a standard, widely available solution for delivering new applications with unprecedented capability.

            Compatibility. Applications developed with the CUDA C-compiler are compatible with future generation GPUs from NVIDIA.? Developers investing in GPU computing will immediately benefit from the performance of current GPUs and be confident in NVIDIA’s future investment in high performance technology for GPU computing.

            Productivity. Developers wanting to tap into the NVIDIA GPU computing power can now use the industry standard “C” language for software development.? CUDA provides a complete development solution that integrates CPU and GPU software to enable developers to quickly provide new features and greater value for their customers.

            Scalability. Applications developed with CUDA technology scale in performance and features across the full line of NVIDIA GPUs from embedded form factors to high performance professional graphics solutions using multiple GPUs.? The power of CUDA performance is now available in virtually any class system from large, computing installations to consumer products.?


            Developing with CUDA

            The CUDA software development kit (SDK) is a complete software development solution for programming CUDA-enabled GPUs.? The SDK includes standard FFT and BLAS libraries, a C-compiler for the NVIDIA GPU and a runtime driver.? The CUDA runtime driver is separate standalone driver that interoperates with OpenGL and Microsoft? DirectX? drivers from NVIDIA.? CUDA technology is equally supported on both the Linux and Microsoft? Windows? XP operating systems.


            Technology Features

            ??Unified hardware and software solution for thread computing on CUDA-enabled NVIDIA GPUs

            ??CUDA-enabled GPUs support the Parallel Data Cache and Thread Execution Manager for high performance computing

            ??Standard C programming language enabled on a GPU

            ??Standard numerical libraries for FFT and BLAS

            ??Dedicated CUDA driver for computing

            ??Optimized upload and download path from the CPU to CUDA-enabled GPU

            ??CUDA driver interoperates with graphics drivers

            ??Supports Linux and Windows XP operating systems

            ??Scales from high performance professional graphics solutions to mobile and embedded GPUs

            ??Native multi-GPU support for high density computing

            ??Supports hardware debugging and profiler for program development and optimization


            If you are interested in developing with CUDA please join our registered developer program to get started.

            posted @ 2006-11-19 20:19 空明流轉 閱讀(1277) | 評論 (0)編輯 收藏

            Scenario 3:Communication --- 和我類似的人

            這次用戶大會的主題,叫做“Communicating Our World”,中文主題叫“GIS——溝通世界的語言”。會議之前如果有預約的話,在現場能得到一些資料,會議論文集,一個記錄本,一個包,一只筆。記錄本的封面,寫了中文的會議主題,筆身上則印刷了英文的會議主題,相輔相成。

            李老爺子和Uncle Jack各自都說的自己的話題,我這種小輩聽都聽不懂,倒是會議主持和經理陳子坦同志很強調的,我記住了:會議中的講座和演示不是最重要的,最重要的是,交流,業界人士之間的交流和溝通。

            然后就把大把大把的鈔票塞到您老的口袋里,我心里面其實是這樣想的。

            話是這么說,但是要真動起嘴來還真有些拘謹,尤其是我這種小P孩樣,別人還不都愛理不理的。事實也差不多就是如此。

            為什么說差不多呢,因為這次參加的3000+的人里面,有很多都是北京的高校的學生,所以放眼望去,平均年齡還是不高的。女生不少,美女沒見著。

            真正在會后有點交流的,就是跟一北大新一代GIS實驗室的和一個武大重點室畢業的,因為都還是學生或剛畢業沒多久,所以還是比較投味的。(我是這么感覺,估計人家就比較厭倦,因為我實在太菜了)然后三個人就好端端的痛罵了一番國內的GIS業界和一些該死的保守的技術。說是說三個人,其實我也就是一聽眾,兩位前輩在,我就只有聽取教誨的份。他們的反應就是:

            1. 現在的GIS,行業應用都在做,但是公眾用戶的應用(例如導航什么的)做的還是太少,因此GIS沒有一條完整的產業鏈(缺乏最下游的廠商和客戶);
            2. GE(google earth)給GIS學術界和GIS廠商兜頭一瓢冷水,他們才發覺,行業應用不是全部;
            3. 民用的數據太少,由于國家的保密政策所限,實際可以用于民用系統的大中比例尺數據幾乎是零,僅有的數據供應商都是按照GE的方式提供數據;
            4. 行業還是浮躁了一點,沒有心思作技術,為應用而應用;
            5. Mobile GIS,隨著中國的3G的成熟,市場前景不錯。
            6. 大規模的民用服務,性能是嚴重瓶頸。

            差不多就是這樣了。不過,面對這個問題,不同的人存在著不同的觀點。不過這些都不重要,有反思,就會有發展。我也和他們一樣在尋求解答,只是,在這一點上,他們比我所處的位置更高,也就看得更遠。

            羨慕,些許嫉妒,總是希望有一天,能和他們站在同樣的舞臺上,引吭高歌。

            posted @ 2006-11-13 19:59 空明流轉 閱讀(398) | 評論 (0)編輯 收藏

            僅列出標題
            共12頁: First 4 5 6 7 8 9 10 11 12 
            久久久精品2019免费观看| 久久www免费人成看国产片| 久久综合成人网| 久久99精品国产99久久| 久久精品国产亚洲一区二区| 久久国产精品99精品国产987| 国产综合久久久久久鬼色| 国产亚洲欧美精品久久久| 成人久久久观看免费毛片| 久久www免费人成看国产片| 久久精品免费大片国产大片| 伊人久久大香线蕉av不变影院| 精品无码久久久久久尤物| 国产麻豆精品久久一二三| 久久久久国产精品三级网| 久久综合九色综合网站| 99国内精品久久久久久久 | 伊人久久大香线蕉综合影院首页| 久久毛片一区二区| 精品久久久久久久久午夜福利| 亚洲国产成人久久综合碰碰动漫3d| 日韩一区二区三区视频久久| 亚洲国产精品无码久久久蜜芽| 国产亚州精品女人久久久久久| 久久人人爽人人爽人人片AV东京热| 国产精品久久久亚洲| 久久伊人中文无码| 日韩精品久久久久久| 色欲久久久天天天综合网| 久久亚洲国产成人影院网站| 日本三级久久网| 久久成人精品视频| 97精品伊人久久大香线蕉app| 久久人人爽人人人人片av| 国产免费久久精品丫丫| 国产精品久久国产精麻豆99网站| 色88久久久久高潮综合影院| 少妇熟女久久综合网色欲| 亚洲国产日韩欧美久久| 伊色综合久久之综合久久| 日批日出水久久亚洲精品tv|