国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

C++ graphics.h/graphics.lib 繪圖與雙緩沖實(shí)戰(zhàn)

C++ graphics.h/graphics.lib 繪圖與雙緩沖實(shí)戰(zhàn) 簡(jiǎn)介這份壓縮包面向?qū)W習(xí) C 圖形繪制的初學(xué)者、課程實(shí)驗(yàn)者以及需要補(bǔ)全 BGI 圖形庫(kù)環(huán)境的開(kāi)發(fā)者提供 graphics.h 頭文件與 graphics.lib 庫(kù)文件的配套組合用于解決編譯鏈接階段缺少圖形接口聲明和預(yù)編譯實(shí)現(xiàn)的問(wèn)題并適配常見(jiàn)的 Windows 編譯環(huán)境。包內(nèi)共 2 個(gè)文件分別為 1 個(gè) .h 頭文件和 1 個(gè) .lib 庫(kù)文件整體約 11KB體積輕量、類型簡(jiǎn)潔便于直接放入項(xiàng)目目錄并按需配置包含路徑與鏈接依賴。已有 3591 人學(xué)習(xí)或下載說(shuō)明其在 C 圖形編程入門場(chǎng)景中具有一定參考價(jià)值。頭文件可用于了解窗口初始化、坐標(biāo)設(shè)置、基本圖形繪制、顏色管理、文本輸出及事件處理等接口聲明庫(kù)文件則承載對(duì)應(yīng)預(yù)編譯實(shí)現(xiàn)配合 initgraph、rectangle、line、outtextxy 等典型調(diào)用讀者可據(jù)此搭建簡(jiǎn)單的圖形窗口與繪圖示例理解圖形庫(kù)的鏈接方式、基礎(chǔ) API 使用思路以及圖形會(huì)話的初始化與關(guān)閉流程。1. 一個(gè) .rar 里的 graphics.lib把 C 畫(huà)圖從控制臺(tái)黑框拉到能看見(jiàn)的窗口第一次做 C 課程設(shè)計(jì)的人卡點(diǎn)往往不在算法而在屏幕上怎么出現(xiàn)一條線??刂婆_(tái)只能 printf 字符換到框架又要先配一整套工程兩周工期根本不夠折騰。這個(gè)下載包里最核心的就是兩樣?xùn)|西一個(gè)graphics.h頭文件和一個(gè)graphics.lib靜態(tài)庫(kù)接口是 BGI 風(fēng)格的老派圖形 API——initgraph開(kāi)窗口、line畫(huà)線、outtextxy寫(xiě)字、getmessage收鼠標(biāo)鍵盤事件一個(gè)main函數(shù)就能跑出帶界面的結(jié)果。它適合趕課設(shè)、做圖形學(xué)入門作業(yè)、寫(xiě)小型可視化 Demo 的人也適合想把繪制循環(huán)攥在自己手里、而不是被框架回調(diào)牽著走的熟手。下面按拆包、掛接、繪圖循環(huán)、交互、排錯(cuò)的順序把它拆成能照著復(fù)現(xiàn)的步驟。2. 拆包與掛接graphics.h 與 graphics.lib 在工程里怎么落地先把選型理由說(shuō)清楚不然后面每一步都會(huì)覺(jué)得別扭。這套東西本質(zhì)上是一個(gè)薄封裝它把 Windows 下的窗口創(chuàng)建、GDI 繪圖調(diào)用、消息循環(huán)壓縮成十幾個(gè)函數(shù)用一套過(guò)程式的 API 暴露出來(lái)。相比直接寫(xiě) Win32 SDK你省掉兩百行窗口過(guò)程代碼相比上 Qt 或其它框架你省掉編譯一整棵依賴樹(shù)的時(shí)間。代價(jià)是它的能力邊界很窄——沒(méi)有控件、沒(méi)有布局、沒(méi)有硬件加速畫(huà)幾千個(gè)圖元還行做動(dòng)畫(huà)粒子多了就會(huì)掉幀。判斷標(biāo)準(zhǔn)很簡(jiǎn)單你要的是屏幕上能畫(huà)、能點(diǎn)、能動(dòng)選它你要的是做一個(gè)正經(jīng)桌面軟件別選它。2.1 目錄怎么擺include 與 lib 分離我不喜歡把.h和.lib跟源碼混在一個(gè)目錄里工程大了以后自己都分不清哪個(gè)頭文件是第三方帶進(jìn)來(lái)的。常見(jiàn)做法是按下圖這種三層結(jié)構(gòu)擺放源碼、頭文件、庫(kù)文件各歸各位project/ ├── include/ │ └── graphics.h # 第三方頭文件只讀不放源碼 ├── lib/ │ └── graphics.lib # 靜態(tài)庫(kù)或?qū)霂?kù) ├── src/ │ └── main.cpp └── CMakeLists.txt這樣擺的好處是編譯器的-I和鏈接器的-L各指一個(gè)目錄換機(jī)器或者打包給別人時(shí)路徑規(guī)則不用改。參數(shù)說(shuō)明include/對(duì)應(yīng)編譯器頭文件搜索路徑lib/對(duì)應(yīng)鏈接器庫(kù)搜索路徑兩者不能混用——把頭文件丟進(jìn)lib/目錄編譯器不會(huì)去那里找.h報(bào)的錯(cuò)是fatal error: graphics.h: No such file or directory很多人第一反應(yīng)是庫(kù)壞了其實(shí)只是路徑?jīng)]指對(duì)。還有一件事必須先確認(rèn)這個(gè).lib到底是靜態(tài)庫(kù)還是導(dǎo)入庫(kù)。判斷方法很笨但有效——如果壓縮包里除了.lib還有一個(gè)同名的.dll那.lib多半是導(dǎo)入庫(kù)程序運(yùn)行時(shí)必須把.dll拷到.exe同目錄如果只有.lib那就是靜態(tài)庫(kù)鏈接進(jìn)去就完事產(chǎn)物是單個(gè)可執(zhí)行文件拷走就能跑。這一步?jīng)]搞清后面會(huì)出現(xiàn)我這邊能跑交上去老師那邊雙擊沒(méi)反應(yīng)的經(jīng)典事故。提示靜態(tài)庫(kù)和導(dǎo)入庫(kù)的鏈接參數(shù)完全一樣區(qū)別只在運(yùn)行期。交付前把.exe單獨(dú)拷到一個(gè)空目錄雙擊一次能起來(lái)才算真的沒(méi)問(wèn)題。2.2 命令行鏈接g 與 MSVC 兩套寫(xiě)法先用命令行編譯一次比直接開(kāi) IDE 更能看清到底鏈接了什么。g 這一套MinGW-w64 環(huán)境大致是這樣g src/main.cpp -o demo.exe \ -I./include \ -L./lib \ -lgraphics -lgdi32 -luser32 -limm32 \ -stdc17 -municode逐項(xiàng)說(shuō)明-I./include告訴編譯器去哪找graphics.h-L./lib告訴鏈接器去哪找graphics.lib-lgraphics是庫(kù)名注意 g 的規(guī)則是-l后面跟去掉lib前綴和.lib/.a后綴的名字所以graphics.lib對(duì)應(yīng)-lgraphics寫(xiě)成-lgraphics.lib會(huì)直接報(bào)找不到。-lgdi32 -luser32 -limm32是這套圖形接口在底層依賴的系統(tǒng)庫(kù)GDI 負(fù)責(zé)實(shí)際繪制user32 負(fù)責(zé)窗口和消息imm32 負(fù)責(zé)輸入法消息。漏掉其中任何一個(gè)報(bào)錯(cuò)都是未定義引用且錯(cuò)誤信息里出現(xiàn)的函數(shù)名你根本沒(méi)在自己代碼里寫(xiě)過(guò)——這是最容易被誤判成庫(kù)版本不對(duì)的一類問(wèn)題。-municode只在頭文件聲明的是寬字符版入口時(shí)加加了還報(bào)undefined reference to WinMain就把這個(gè)參數(shù)去掉再試。MSVC 的cl寫(xiě)法邏輯一樣語(yǔ)法不同cl /EHsc /std:c17 /I include src\main.cpp ^ /link /LIBPATH:lib graphics.lib gdi32.lib user32.lib imm32.lib注意/I和/link的分界/I屬于編譯器選項(xiàng)/link之后全部交給鏈接器/LIBPATH:是鏈接器的庫(kù)搜索路徑。把graphics.lib寫(xiě)在/link前面cl會(huì)把它當(dāng)源文件處理報(bào)cannot open input file。這個(gè)坑我在第一次配環(huán)境時(shí)踩過(guò)排查了半小時(shí)才發(fā)現(xiàn)是參數(shù)位置問(wèn)題。2.3 CMake 工程化把鏈接參數(shù)寫(xiě)進(jìn) CMakeLists命令行能跑通之后建議立刻轉(zhuǎn)成 CMake不然每換一臺(tái)機(jī)器就要重敲一遍參數(shù)出錯(cuò)概率極高。一份最小可用的CMakeLists.txtcmake_minimum_required(VERSION 3.16) project(gfx_demo CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 頭文件目錄只影響編譯階段 include_directories(${CMAKE_SOURCE_DIR}/include) # 庫(kù)目錄只影響鏈接階段 link_directories(${CMAKE_SOURCE_DIR}/lib) add_executable(gfx_demo src/main.cpp) # 私有鏈接graphics 是主庫(kù)后面三個(gè)是它依賴的系統(tǒng)庫(kù) target_link_libraries(gfx_demo PRIVATE graphics gdi32 user32 imm32)邏輯說(shuō)明include_directories和link_directories是全局作用域的老寫(xiě)法小工程夠用工程再大一點(diǎn)應(yīng)該換成target_include_directories和target_link_libraries里的完整路徑避免污染其它 target。PRIVATE的意思是這個(gè)依賴不向使用gfx_demo的下游目標(biāo)傳遞對(duì)可執(zhí)行文件來(lái)說(shuō)永遠(yuǎn)該用PRIVATE。一個(gè)容易忽略的點(diǎn)link_directories在 CMake 里必須在add_executable之前調(diào)用才生效而且不同生成器Ninja 與 Visual Studio 生成器對(duì)它的處理略有差異。如果 CMake 配置成功了但鏈接還是找不到庫(kù)直接把.lib的絕對(duì)路徑寫(xiě)進(jìn)target_link_libraries最穩(wěn)target_link_libraries(gfx_demo PRIVATE ${CMAKE_SOURCE_DIR}/lib/graphics.lib gdi32 user32 imm32)絕對(duì)路徑寫(xiě)法犧牲了一點(diǎn)可移植性但換來(lái)的是排錯(cuò)時(shí)不用懷疑是不是路徑又沒(méi)生效。在把工程交給別人之前我一般先保證它能跑再考慮優(yōu)雅。3. 從 initgraph 到 FlushBatchDraw一個(gè)不閃爍的繪制循環(huán)掛接成功只是第一步真正決定體驗(yàn)的是繪制循環(huán)怎么組織。這一章按開(kāi)窗口 → 畫(huà)東西 → 刷新 → 收尾的順序走一遍每一步都給出可跑的代碼和參數(shù)含義。3.1 initgraph 的三個(gè)參數(shù)與窗口坐標(biāo)系#include graphics.h int main() { // 640x480 的窗口第三個(gè)參數(shù)是擴(kuò)展標(biāo)志位一般傳 0 或直接省略 initgraph(640, 480, 0); setbkcolor(WHITE); // 設(shè)置背景色注意不會(huì)立即生效 cleardevice(); // 用當(dāng)前背景色清屏這一步才真正刷上去 setlinecolor(BLACK); line(0, 0, 639, 479); // 從左上角畫(huà)到右下角 getchar(); // 停住窗口等待一次輸入 closegraph(); // 釋放資源、關(guān)閉窗口 return 0; }參數(shù)說(shuō)明initgraph(width, height, flag)的前兩個(gè)參數(shù)是客戶區(qū)寬高不含標(biāo)題欄和邊框所以傳 640×480 得到的窗口在屏幕上會(huì)比 640×480 略大。第三個(gè)參數(shù)在不同分支里含義不一致有的版本用作樣式標(biāo)志有的版本干脆重載成兩參數(shù)版本——最可靠的做法是打開(kāi)graphics.h看函數(shù)聲明別照著網(wǎng)上抄。setbkcolor只改內(nèi)部狀態(tài)必須跟一次cleardevice()才能看到效果這是新手最容易困惑的一處明明設(shè)了背景色窗口還是黑的。坐標(biāo)系默認(rèn)原點(diǎn)在左上角x 向右遞增y 向下遞增這跟數(shù)學(xué)課本的直角坐標(biāo)系是反的。如果做函數(shù)圖像、物理軌跡這類東西setorigin(x, y)可以把原點(diǎn)挪到窗口中心之后畫(huà)的就是標(biāo)準(zhǔn)笛卡爾坐標(biāo)setorigin(320, 240); // 原點(diǎn)移到窗口中心 setaspectratio(1, -1); // y 軸翻轉(zhuǎn)向上為正 line(-100, 0, 100, 0); // 現(xiàn)在畫(huà)出來(lái)是一條水平線y0 在窗口正中setaspectratio(1, -1)里的-1是把 y 軸方向鏡像過(guò)來(lái)。這兩個(gè)函數(shù)必須成對(duì)使用只調(diào)setorigin不調(diào)setaspectratio圖像會(huì)整體上下顛倒畫(huà)正弦曲線得到的是反的排查起來(lái)很費(fèi)時(shí)間。3.2 顏色、線型與基本圖元顏色用RGB(r, g, b)宏自己算也可以用預(yù)定義常量。線型通過(guò)setlinestyle控制填充靠setfillcolor配fill*系列函數(shù)setlinecolor(RGB(0, 120, 215)); setlinestyle(PS_SOLID, 2); // 實(shí)線線寬 2 像素 rectangle(50, 50, 250, 200); // 只描邊不填充 setfillcolor(RGB(255, 200, 0)); fillcircle(400, 150, 60); // 有邊框有填充的圓 solidcircle(400, 300, 40); // 只有填充無(wú)邊框 // 多邊形先給點(diǎn)數(shù)組再一次性畫(huà) POINT pts[3] { {100, 400}, {200, 300}, {300, 400} }; setfillcolor(RGB(120, 200, 120)); fillpolygon(pts, 3);參數(shù)說(shuō)明setlinestyle(style, thickness)第一個(gè)參數(shù)是線型枚舉PS_SOLID實(shí)線、PS_DASH虛線、PS_DOT點(diǎn)線第二個(gè)參數(shù)是線寬單位像素但虛線類線型在多數(shù)實(shí)現(xiàn)里線寬只能是 1傳 2 會(huì)靜默退化成實(shí)線——這個(gè)行為沒(méi)有報(bào)錯(cuò)只能靠肉眼發(fā)現(xiàn)。fillpolygon(POINT*, int)第二個(gè)參數(shù)是頂點(diǎn)個(gè)數(shù)數(shù)組必須至少這么多元素越界不會(huì)崩但會(huì)畫(huà)出詭異的形狀。rectangle和fillrectangle的區(qū)別值得單獨(dú)記一句前者只描邊后者只填充想要填充加描邊必須兩個(gè)都調(diào)順序是先f(wàn)illrectangle再rectangle反過(guò)來(lái)邊框會(huì)被填充色蓋住一半。這個(gè)細(xì)節(jié)在畫(huà)柱狀圖、按鈕這類元素時(shí)天天用到。3.3 雙緩沖BeginBatchDraw 三件套的調(diào)用時(shí)機(jī)直接在循環(huán)里cleardevice()再逐個(gè)畫(huà)圖元畫(huà)面一定閃。原因是每次繪圖調(diào)用都直接寫(xiě)到了窗口表面清屏和重繪之間存在一個(gè)肉眼可見(jiàn)的時(shí)間窗。解決辦法是批量繪制initgraph(800, 600); BeginBatchDraw(); // 開(kāi)啟批量模式之后的繪制先寫(xiě)進(jìn)內(nèi)存緩沖 int x 0; while (x 800) { cleardevice(); // 清的是后臺(tái)緩沖用戶看不見(jiàn) setfillcolor(RGB(220, 60, 60)); solidcircle(x, 300, 30); FlushBatchDraw(); // 把整幀一次性貼到窗口上 x 4; Sleep(16); // 約 60 幀/秒 } EndBatchDraw(); // 必須調(diào)用否則緩沖資源不釋放 closegraph();邏輯說(shuō)明BeginBatchDraw()之后所有繪制都落在離屏緩沖上FlushBatchDraw()是唯一把緩沖內(nèi)容提交到屏幕的動(dòng)作EndBatchDraw()收尾并釋放緩沖。三者必須成對(duì)只寫(xiě)前兩個(gè)不寫(xiě)最后一個(gè)程序退出時(shí)會(huì)殘留資源FlushBatchDraw放在循環(huán)里一幀只調(diào)一次調(diào)多次等于白開(kāi)雙緩沖。一個(gè)血淚經(jīng)驗(yàn)FlushBatchDraw之后再調(diào)用cleardevice清的是已經(jīng)提交的畫(huà)面會(huì)造成單幀閃爍正確順序永遠(yuǎn)是清屏 → 畫(huà)完全部元素 → 提交。如果畫(huà)面里有一部分靜態(tài)內(nèi)容比如坐標(biāo)軸、標(biāo)題欄不想每幀重畫(huà)可以只清動(dòng)態(tài)區(qū)域用setfillcolor配solidrectangle覆蓋舊位置比整體清屏快得多。3.4 關(guān)閉窗口與資源回收closegraph()負(fù)責(zé)銷毀窗口、釋放 GDI 對(duì)象、恢復(fù)正常控制臺(tái)。放在main的 return 之前或者放在每個(gè)提前退出的分支里。如果程序里有return直接從循環(huán)中跳出而沒(méi)走closegraph窗口會(huì)殘留到進(jìn)程結(jié)束調(diào)試時(shí)看到關(guān)不掉的黑窗口多半就是這個(gè)原因。穩(wěn)妥的寫(xiě)法是把繪圖主體放進(jìn)一個(gè)函數(shù)initgraph和closegraph成對(duì)出現(xiàn)在同一個(gè)作用域內(nèi)void run() { initgraph(800, 600); // ... 全部繪制邏輯 ... closegraph(); } int main() { run(); return 0; }這樣即便中間拋異常?;赝藭r(shí)也至少保證run里的局部對(duì)象被析構(gòu)。嚴(yán)格來(lái)說(shuō)closegraph不會(huì)因?yàn)楫惓W詣?dòng)執(zhí)行需要 RAII 包裝才能做到萬(wàn)無(wú)一失但對(duì)課程設(shè)計(jì)這個(gè)量級(jí)成對(duì)寫(xiě)在一個(gè)函數(shù)里已經(jīng)能擋住九成問(wèn)題。4. 交互接進(jìn)來(lái)鼠標(biāo)鍵盤消息、文字渲染與幀率控制畫(huà)面動(dòng)起來(lái)之后下一步是能響應(yīng)操作。這一章講三個(gè)東西怎么取消息、怎么寫(xiě)中文、怎么控制節(jié)奏。三者疊在一起才是一個(gè)能演示的程序。4.1 getmessage 與 peekmessage 的區(qū)別這類圖形庫(kù)提供兩套取消息的方式行為完全不同選錯(cuò)了程序要么卡死要么狂占 CPU。ExMessage msg; // 阻塞式?jīng)]有消息就停在這里等適合等用戶點(diǎn)一下再繼續(xù)的場(chǎng)景 while (getmessage(msg)) { if (msg.message WM_LBUTTONDOWN) { // msg.x / msg.y 是相對(duì)窗口客戶區(qū)的坐標(biāo) setfillcolor(RGB(0, 160, 220)); solidcircle(msg.x, msg.y, 20); FlushBatchDraw(); } if (msg.message WM_KEYDOWN msg.vkcode VK_ESCAPE) break; // ESC 退出 }getmessage在無(wú)消息時(shí)會(huì)阻塞所以它可以直接當(dāng)主循環(huán)用——程序閑下來(lái)就停在那里CPU 占用接近零。代價(jià)是動(dòng)畫(huà)沒(méi)法做因?yàn)橐坏┻M(jìn)到這個(gè)函數(shù)就不返回除非有輸入。需要邊動(dòng)畫(huà)邊響應(yīng)就得換成非阻塞的int x 0; BeginBatchDraw(); while (true) { // 先把消息隊(duì)列抽干一條不留 while (peekmessage(msg)) { if (msg.message WM_KEYDOWN msg.vkcode VK_ESCAPE) goto done; if (msg.message WM_LBUTTONDOWN) x msg.x; // 點(diǎn)哪兒球就跳到哪兒 } cleardevice(); setfillcolor(RGB(220, 60, 60)); solidcircle(x, 300, 30); FlushBatchDraw(); x (x 3) % 800; Sleep(16); } done: EndBatchDraw(); closegraph();參數(shù)說(shuō)明peekmessage(msg)取一條消息就返回隊(duì)列空時(shí)返回 false不阻塞getmessage(msg)隊(duì)列空時(shí)掛起等待。兩個(gè)函數(shù)都可以帶第二個(gè)參數(shù)做消息過(guò)濾比如只取鼠標(biāo)消息傳EX_MOUSE只取鍵盤傳EX_KEY過(guò)濾能減少無(wú)謂的判斷。注意peekmessage的 while 循環(huán)必須放在每幀開(kāi)頭并且抽干如果只取一條就開(kāi)始畫(huà)消息會(huì)積壓表現(xiàn)為點(diǎn)了很多下只有第一下生效。ExMessage結(jié)構(gòu)里的字段要看頭文件確認(rèn)常用的是message消息類型、xy鼠標(biāo)坐標(biāo)、lbuttonrbutton按鍵狀態(tài)、vkcode虛擬鍵碼、wheel滾輪增量。4.2 文字輸出字體、對(duì)齊與中文亂碼寫(xiě)字用outtextxy但字體、大小、顏色都要提前設(shè)settextcolor(RGB(30, 30, 30)); setbkmode(TRANSPARENT); // 背景透明否則文字帶一塊底色 settextstyle(24, 0, L微軟雅黑); // 高度 24寬度自適應(yīng) outtextxy(20, 20, L幀率: 60 FPS); outtextxy(20, 60, L點(diǎn)擊畫(huà)布放置圓點(diǎn));參數(shù)說(shuō)明settextstyle(height, width, face)的height是字符高度像素width傳 0 表示按字體比例自適應(yīng)傳具體值會(huì)強(qiáng)制拉伸字形導(dǎo)致變形一般不要傳。第三個(gè)參數(shù)是字體名必須是寬字符串寫(xiě)成微軟雅黑在某些配置下會(huì)編譯失敗。setbkmode(TRANSPARENT)這一行幾乎不能省默認(rèn)是不透明模式文字背后會(huì)帶一塊背景色方塊疊在圖形上非常難看。中文亂碼是這一類項(xiàng)目的高頻故障根源是字符集。源文件存成 UTF-8編譯器按 GBK 解析L中文就變成一堆問(wèn)號(hào)。處理辦法有兩條要么統(tǒng)一源文件編碼和編譯器編碼MSVC 加/utf-8g 加-finput-charsetUTF-8 -fexec-charsetUTF-8要么干脆把界面文字換成英文。趕工期的時(shí)候第二條路的性價(jià)比往往更高。4.3 幀率Sleep 掐時(shí)間還是固定步長(zhǎng)上一節(jié)的Sleep(16)是最樸素的限幀手段它的問(wèn)題是精度差——Windows 下Sleep的實(shí)際休眠時(shí)間通常比請(qǐng)求值多 1 到 15 毫秒取決于系統(tǒng)計(jì)時(shí)器分辨率。跑到 60 幀勉強(qiáng)夠想要穩(wěn)定 30 幀以上又不想畫(huà)面抖動(dòng)得自己算時(shí)間差#include chrono using namespace std::chrono; auto last steady_clock::now(); double acc 0.0; while (true) { auto now steady_clock::now(); double dt durationdouble(now - last).count(); last now; acc dt; // 邏輯更新用真實(shí)時(shí)間差不受幀率波動(dòng)影響 // 這里省略具體更新重點(diǎn)是 dt 這個(gè)量 cleardevice(); // ... 繪制 ... FlushBatchDraw(); // 目標(biāo) 16.6ms 一幀超了就補(bǔ)沒(méi)超就等 auto cost durationdouble(steady_clock::now() - now).count(); if (cost 0.0166) Sleep(static_castDWORD((0.0166 - cost) * 1000)); }邏輯說(shuō)明用steady_clock而不是system_clock因?yàn)楹笳邥?huì)被系統(tǒng)時(shí)間調(diào)整影響做動(dòng)畫(huà)計(jì)時(shí)時(shí)必須單調(diào)遞增。dt是上一幀到這一幀的真實(shí)秒數(shù)所有跟時(shí)間相關(guān)的量位移、旋轉(zhuǎn)角度都乘以它這樣幀率掉下去動(dòng)畫(huà)速度也不會(huì)變——這就是所謂幀率無(wú)關(guān)。很多課設(shè)里小球在別人電腦上跑得飛快、在自己電腦上慢吞吞就是位移寫(xiě)成了每幀固定值。注意Sleep(0)不等于不睡它會(huì)讓出當(dāng)前時(shí)間片在緊循環(huán)里反而可能比Sleep(1)更耗 CPU。真正想跑滿幀就別睡靠垂直同步或者手動(dòng)判斷時(shí)間差。5. 鏈接與運(yùn)行排查五條最常見(jiàn)翻車記錄這一章全是現(xiàn)象描述按看到什么 → 為什么 → 怎么辦寫(xiě)。這些坑我在不同機(jī)器、不同編譯器上反復(fù)遇到過(guò)順序基本按出現(xiàn)頻率排。5.1 現(xiàn)象滿屏未解析的外部符號(hào)函數(shù)名自己沒(méi)寫(xiě)過(guò)原因鏈接器只拿到了graphics.lib沒(méi)拿到它依賴的系統(tǒng)庫(kù)。圖形接口內(nèi)部調(diào)用了 GDI、user32 的函數(shù)這些函數(shù)在系統(tǒng)庫(kù)的導(dǎo)入庫(kù)里不顯式鏈接就找不到。解決按報(bào)錯(cuò)信息里的函數(shù)名前綴判斷缺哪個(gè)庫(kù)——帶Gdi、CreatePen、BitBlt的補(bǔ)gdi32帶CreateWindow、GetMessage、RegisterClass的補(bǔ)user32帶Imm的補(bǔ)imm32。CMake 里就是target_link_libraries那一行加上去命令行就是-lgdi32 -luser32 -limm32。還有一種情況是所有函數(shù)都報(bào)未解析那說(shuō)明.lib根本沒(méi)被鏈接上檢查-L路徑和庫(kù)名拼寫(xiě)。5.2 現(xiàn)象雙擊 exe窗口一閃就沒(méi)了原因main執(zhí)行完直接返回了initgraph之后的繪制還沒(méi)來(lái)得及顯示進(jìn)程就退出了?;蛘吒[蔽的一種——.lib是導(dǎo)入庫(kù)運(yùn)行時(shí)找不到配套的.dll加載階段就失敗窗口創(chuàng)建都來(lái)不及。解決先確認(rèn)代碼里有沒(méi)有讓程序停住的東西最土但有效的辦法是在closegraph()前加一句getchar()或者在主循環(huán)里加一個(gè)等待 ESC 的分支。排除代碼原因后把.dll拷到.exe同目錄再試。判斷是不是 DLL 缺失可以打開(kāi)命令行在 exe 目錄下運(yùn)行一次缺失時(shí)系統(tǒng)會(huì)彈一個(gè)明確的錯(cuò)誤框。5.3 現(xiàn)象畫(huà)面劇烈閃爍尤其是有大量圖元的時(shí)候原因沒(méi)有開(kāi)雙緩沖或者開(kāi)了但調(diào)用順序錯(cuò)了。還有一種情況是每幀都在setbkcolor之后再cleardevice等于每幀多刷一次全屏。解決確認(rèn)BeginBatchDraw在循環(huán)外調(diào)一次FlushBatchDraw在循環(huán)內(nèi)調(diào)一次EndBatchDraw在退出前調(diào)一次。再檢查清屏和繪制的順序必須是清 → 畫(huà) → 提交。如果圖元數(shù)量上千光靠雙緩沖也不夠得減少每幀重繪面積把靜態(tài)部分畫(huà)到一張內(nèi)存圖像上反復(fù)貼。5.4 現(xiàn)象中文顯示成亂碼、問(wèn)號(hào)或者方框原因三種可能一是源文件編碼和編譯器輸入編碼不一致二是用了窄字符版本的輸出函數(shù)卻傳了中文三是字體名指定的字體系統(tǒng)里沒(méi)有回退到默認(rèn)字體后中文缺字形。解決先統(tǒng)一編碼源文件保存為 UTF-8編譯加/utf-8或-finput-charsetUTF-8再確認(rèn)outtextxy的字符串是L...寬字符形式最后換一個(gè)確定存在的中文字體或者干脆先用英文把功能跑通再回頭處理字體問(wèn)題。方框和問(wèn)號(hào)要區(qū)分開(kāi)——問(wèn)號(hào)是編碼問(wèn)題方框是字體缺字形兩種故障的修法完全不同。5.5 現(xiàn)象32 位配置能編過(guò)切到 64 位鏈接失敗原因.lib是 32 位的跟 64 位的編譯目標(biāo)架構(gòu)不匹配。靜態(tài)庫(kù)對(duì)架構(gòu)敏感位數(shù)不一致時(shí)鏈接器會(huì)直接報(bào)模塊計(jì)算機(jī)類型不匹配。解決把工程配置切回 x8632 位再編。如果非要 64 位就得找對(duì)應(yīng)架構(gòu)的庫(kù)文件沒(méi)有的話只能改配置——在項(xiàng)目設(shè)置里把目標(biāo)平臺(tái)改成 Win32CMake 里就是cmake -A Win32 ..。這個(gè)錯(cuò)在換電腦、換 IDE 默認(rèn)配置時(shí)特別容易出現(xiàn)因?yàn)楹芏嗄0迥J(rèn)建的是 64 位工程。提示排錯(cuò)時(shí)先看報(bào)錯(cuò)發(fā)生在哪個(gè)階段。編譯階段報(bào)錯(cuò)是頭文件和語(yǔ)法問(wèn)題鏈接階段報(bào)錯(cuò)是庫(kù)和架構(gòu)問(wèn)題運(yùn)行階段崩潰是資源和邏輯問(wèn)題。三個(gè)階段混在一起猜效率會(huì)低很多。6. 驗(yàn)收一個(gè)繪圖 Demo三條線跑通再交付寫(xiě)完代碼不等于能交。我習(xí)慣用一個(gè)最小驗(yàn)收清單過(guò)一遍三條線繪制、交互、幀率每條都有可觀察的判據(jù)不靠感覺(jué)。檢查項(xiàng)判據(jù)不合格的典型表現(xiàn)繪制完整性靜態(tài)元素每幀都在正確位置無(wú)殘留拖影、舊圖元沒(méi)被覆蓋雙緩沖生效快速移動(dòng)的物體邊緣干凈邊緣有鋸齒狀撕裂交互響應(yīng)連續(xù)點(diǎn)擊十次十次都有反應(yīng)只響應(yīng)第一次退出路徑ESC、點(diǎn)關(guān)閉按鈕、AltF4 都能正常退進(jìn)程殘留、黑窗口關(guān)不掉獨(dú)立運(yùn)行exe 拷到空目錄雙擊能起換機(jī)器就報(bào)缺文件中文顯示標(biāo)題、按鈕文字無(wú)問(wèn)號(hào)無(wú)方框全是???驗(yàn)收里最容易被跳過(guò)的是獨(dú)立運(yùn)行這一條。在自己機(jī)器上一切正常是因?yàn)殚_(kāi)發(fā)環(huán)境的 PATH 里恰好有需要的 DLL而別人機(jī)器上沒(méi)有。我的做法是每次改完代碼先把build目錄里的 exe 單獨(dú)拷到桌面一個(gè)空文件夾雙擊跑一遍能起來(lái)再繼續(xù)。這一步花不了一分鐘但攔下過(guò)好幾次交付前才發(fā)現(xiàn)的問(wèn)題。再往上一層如果你的 Demo 要交給別人繼續(xù)改建議把窗口尺寸、顏色、幀間隔這些數(shù)字全部提到文件頭部做成常量別散落在代碼中間const int WIN_W 800; const int WIN_H 600; const int FRAME_MS 16; // 目標(biāo)幀間隔 const COLORREF BG RGB(245, 245, 245); const COLORREF FG RGB(220, 60, 60);這樣別人調(diào)參不用滿文件搜索數(shù)字也避免改了一處漏了另一處??雌饋?lái)是小事但一個(gè)散落著魔數(shù)的繪圖程序接手的人第一件事就是重寫(xiě)。最后說(shuō)一個(gè)我自己的習(xí)慣。凡是用這類庫(kù)做的東西我一定會(huì)在main的第一行加一句日志輸出把窗口尺寸和庫(kù)的路徑打出來(lái)closegraph之前再打一句正常退出。聽(tīng)著很笨但程序閃退時(shí)這兩行輸出能立刻區(qū)分根本沒(méi)進(jìn)主流程和跑到一半崩了比開(kāi)調(diào)試器快。從那以后我每次配新環(huán)境都強(qiáng)制走一遍命令行編譯 → 空目錄雙擊 → 看兩行日志的流程沒(méi)再出現(xiàn)過(guò)交付當(dāng)天才發(fā)現(xiàn)鏈接不上這種事。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产女人操逼视频| 99只有精品| 国产女人成人精品视频| 毛片视频白嫩| 欧美论理片| 国产97亚洲| 免费视频观看60秒| 国产亚洲精品一区二区三区| A级毛片在线看免费| 中日亚韩免费视频| 亚洲综合婷婷| 欧美熟妇人体| 日韩精品怡红院| 日本幼女18+| 中文字幕精品探花视频| 精品高清一区二区三区三州| 欧美99| 亚洲AV免费在线观看| 97超碰亚洲| 蜜桃午夜视频一区二区 | 好淫网一二三视区| 国产蜜臀精品一区二区尤物| 欧美精品69性爱| 综合国产影视三级| 91蜜桃婷婷狠狠久久综合9色| 国产精品久久久久久夜夜夜| 大香蕉性欧美| 国产精品成人久久一区二区三区| 人妻中文在线| 国产麻豆一区二三区| 亚洲激情视频| 中文字幕jul-617人妻熟女| 中亚av| 亚洲成人一二三区| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 台湾佬激情综合| 九九av| 欧美精品,四区。五区| 91福利网在线观看| 再深点灬舒服灬太大了添视频| 新久久AV| 五月天久久婷婷亚洲 | 亚洲日韩AV视色| 色悠久久久av| 中文AV制服乱伦| 日本久久天堂| 玖玖大干人妻| 免费福利视频中文字幕| 蜜色网色哟哟| 天天天干977| 免费1级a做爰片观看| 18禁的网站在线| 熟妇一区二区三区| 午夜精品久久久久久久99| 日日夜夜免费| 激情五月综合网| 97自拍一区| 亚洲毛片基地专区| 91碰碰碰| 国产偷人伦激情在线观看| 丰满人妻av一区二区三区 | 性爱网站一区二区| 男人的天堂2010| 18精品一二区| 亚州操逼网| 免费视频在线观看啊啊啊啊啊| 九草九九九| 日本Xx性爱| 青青草成人视频在线观看二区| 国产一级高清免费观看| 国产馆极品诱惑| 国产丝袜啪啪| 国产精品大香蕉| 日韩精品一区,二区 九九...老司机| 无码区蜜乳| 久久激情五月| 欧美97在线欧| 色月天AV导航| 激情婷婷综合久久| 蜜桃视频精品一区二区三区| 国产无码精品久久久久久| 中文字幕日韩国产传媒欧美精品| 国色综合天| 色情五月丁香| AV乱伦国产| 欧美性爱精品七区| 刺激性视频黄页| 亚洲综合九九| 青青草在线成人视频| 国产无码精品久久久久久| 啊啊啊啊嗯嗯嗯用力好爽 | 青青草视频导航官网| 一起草三级AV电影在线观看 | 国产精品人妻无码久久久老鸭窝| 亚州伊人色综台| 99夜夜操| 99热只有这里有精品| 男人久久精品| 白嫩国模丰满一二三区| 亚洲中文sv| 成人精品在线| 亚洲牲交| 日本精品国产视频| 熟妇xxxxx性春色| 亚洲天堂另类美腿| 噜噜噜在线视频| 国产精品久久久久久久久久久久久久久久 | 84YTCOM性无码| 日韩99神马视频播放片在线播放| 色激情综合网站| 熟妇女人妻呻吟久久AV| 日韩精品国产一区二区| 亚洲精品国产熟女久久久| 久久久久9| 4虎在线观看| 超碰亚洲欧美日韩无| 高清国产精品福利网站| 午夜福利在线视频1000| 秋霞一级视频在线观看免费| 九九九九精| 97亚洲综合电影| 亚洲性高潮| 91久久久久久久久久久| 国产高清免费不卡av| 激情文学小说一区二区| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 免费成人在线观看91| 欧洲精品久久| 亚欧国产无码精品在线| 午夜理论片在线观看免费| 国产原创精品| 国产亚洲日韩欧| 人妻熟女一区二区| 青娱乐日韩无码| 国内毛片欧美香蕉精品| 久久久久人| 超碰久热| 婷婷五月天AV| 欧美性色欧美| 亚洲成人性爱在线观看| 91日日| 久久鲁夜| 美女诱惑爱爱| 欧美亚州手机在线| 亚洲,日韩,欧美,成人播放| 欧洲亚洲人人爽爽视频| 97舔舔| 精品性爱| 91美女精品| 综合网久久| 欧美特大黄一级片片免费| 成人性交午夜免费片| 超碰1024久久| 丁香五月激情五月| 中文字幕亚洲热播人妻| www.亚洲黄色| 亚州性色| 久久亚洲日韩国产欧| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 国产有码一区| 色婷婷综合网站| 日本成人A片免费看| 日韩啪啪视频| 抽插一区二区视频| 91美女看B| 九九av| 日韩中文字幕人妻视频| 伊人热综合| 国产精品不卡一区二区三区| 婷婷六月色| 国产91啪| 国模私拍一区二区三区神乳| 羞涩视频| 美女好片色日本| 欧美韩国你懂得在线 | 国产综合日韩伦理| 91成人亚洲色图| 欧美少妇性乱| 好看的91视频| 日本免费不卡二区| 好吊色一区| 国产乱码久久| 天堂蜜桃无码视频一区二区| 免费一级视频特黄色大片| 久久国产免费激情视频| 男女日B国产| 97亚洲综合| 欧美草草高清日韩视频| 欧美后入式| 欧美激情另类一区二区| 美女刺激久久国产欧美| 欧美日韩亚洲天堂| 蜜臀AV一区二区三区| 国产第二页| 欧美伦乱爱| 夜夜高潮夜夜爽| 日韩欧美麻豆大片| 北条麻妃99精品青青久久| 日韩成人免费电影| 五月综合久久| 国产日韩在线播放| 国产精品麻豆成人av| 欲香欲色| 91N综合网| 日韩欧美三级| 激情文学亚洲| 午夜九九| 日韩欧美三级| 久草资源在线| 天天综合官网| 男同专区一区二区三区在线| 亚洲深夜福利| 超碰99re| 欧美色女人| 国产在线能看的你懂的| 最新亚洲人成网站在线影院| 天天艹天天日| 黄色毛片A片| 蜜臀操逼黄色视频操的好爽| 亚洲成?V人片在线观看福利| 色婷婷香蕉| 大香蕉九九| 久久久久夜夜夜夜| 97久久网| 97精品一区二区视频| 岛国免费视频在线| 成人性爱高清视频免费看| 日韩精品永久在线观看| 91丝袜美女国产| 成人夜夜爽| 美日韩一卡二卡三卡免费人妻精品| 激情自拍 校园春色| 青青国产精品在线| 老师充足的奶水小说| 久久九七| 91成人社区| 欧洲性人爱视频| 人妻蜜桃臀| 大色综合| 国产日韩在线播放av| 久操网线| 91狠| 在线视频一区二区传媒| 1000午夜黄色| 天久久久噜噜噜久久国产精品爽爽 | 日本天堂在线播放| 九九热av| se吧提供91精品国产91久久久久久 | 国产高潮AA片免费看| 九九九九九九九精品视频| 欧美亚洲激情小说| 欧美色图人妻| 九色黄站| 八人操人人摸人人看| 成人AV在线电影| 亚洲限制级在线| 色踪合AV| 啊啊啊啊啊啊在线| 手机在线中文字幕国产| 婷婷综合网| 亚洲成人精品久久久| 骚货 中文字幕 av| 永久电影三级在线观看| 久操网无码在线| 精品婷婷| 妇女视频网站| 91青青| 久久透逼视频| 日本三级韩三级99久久| 超碰98综合网| 免费成人自拍视频在线| 家庭乱伦国产精品| 国产久久久久久久久一区二区| 日本一区二区电影网站| 欲色综合| 欧美日韩日产免费网站看| 亚洲操逼无码| 91美女在线视频| 2017天天操天天日| 久久美女国产| 欧美有码亚洲中文字幕一区二区三区四区 | 熟女色综合久久| 日本久操视频| 自拍啪啪视频| 欧美亚洲色图另类国产| 日韩成人电影AV| 亚洲成人色情五月天丁香花| 97色在线视频| 在线国产探花| 中文字幕综合人妻| 好色综合| 久久伊人大香蕉| 女人的天堂大香蕉网| 国产传媒一区二区三区| 色爱综合网| 欧美国产一区二区三区麻豆传媒| 999综合网| 国产成人久久久精品免费AV| 人妻美腿丝袜日韩| 色综合天天| 亚洲18禁| 992视频一区| 国语av最新自产拍在线观看| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 欧美综合色综合| 手机看片日韩人妻| 2025亚洲男人天堂| 色香综合| 能看的AV| 亚洲欧美在线丝袜| 亚洲AV噜噜狠狠网址蜜桃动漫| xxx亚洲午夜天堂| 久久久久久久91| 最新日韩黄片| 人人爽夜夜玩视频| 亚洲高清无码在线桃色| 人人妻人人色| 中文字幕丰满子伦无码专区在线视频最新 | 入口操逼网站| 四虎在线免费视频| 人人看欧美性爱| 久久久久9999妇女| 亚洲精品国产无码高清| 五月天综合网| 欧美日韩电影成人在线| 日本 免费 一区二区三区 久久香蕉 | 成人a v在线播放免费| 久久麻豆一区二区| 少妇无码999| 免费精品福利在线观看| 欧美瑟综合| 超碰人人干| 青青草在线视频播放器| 任你爽视频| 久久久久久人| 丁香六月激情| 看全色黄大色大片免费视频| 夜夜高潮夜夜爽| 黑人免费福利视频| 91麻豆天美国产| 无码人妻精品一区二区三区99不卡| 在线天堂999| 97视频在线看| 97中文天堂| 26uuu最新| 亚洲精品骚逼| 女人与公拘交酡2020视频| 色眯眯射| 中文字幕第23区| 夜夜骑操视频| 国产无马视频| 97天天插| 激情丁香五月婷婷| 日本操逼aaaaa| 神马久久久久久久久久| 精品成人动漫一区二区| 夜夜高潮夜夜爽国产伦精品| 日韩人妻播放| 亚洲久9| 精品国产乱码久久久久久影片| 久久久新亚洲AV| 少妇与黑人高潮在线| 日韩极品无码B| 麻豆一区二区三区精品| 强奸乱伦αv片| 97 国产精品| 亚洲男人天堂Av| 久久在线观看免费视频| 久久精品人妻一区二区| 91精品久久久久久综合五月天| 欧美 日韩第一性色| www.激情| 精品久久无码午夜福利| 久久久久久中文| 日韩三级视频一区二区三区| 一区二区三区黄色片a| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 再深点灬舒服灬太大了好硬好爽| a级免费在线观看| 黄色视频特级毛片| 午夜在线播放| 久久超碰大香蕉| 免费观看网黄| 天天操妹子| 欧美三级免费伊人| 成人八戒网站| 97干97色| 国模久久在线| 中文字幕一二三区| 久久久国产成人一区二区三区在线 | 国产精品无码av| 9久9久9久9久视频网站| 97在线欧洲| 国产免费一区在线观看| 黑人精品XXX一区一二区| 热热色综合网| 91久久午夜无码鲁丝片久久人妻| 手机看av网站在线看| 日本一区二区中文字幕久久| 伊人视频| 艳尻美人妻| 屌色在线97视频| 黑人嘿嘿嘿超爽免费视频| 99re超碰| 免费97视频| 欧美不卡在线美女| 91站街按摩店老熟女熟女| 国产精品久久久无码aV去| 精品在线78| 77国产精品| 亚洲天堂女优在线| 国产亚州日韩欧美看片| 国产AV激情无码久久无码| 亚洲欧洲激情卡通另类文学四射小说网站 | 九九九热| 97精品国产精品免费观看| 亚洲色图久久成人| 一级久久性爱视频| 日韩综合无码色欲vv| 丰满人妻-区二区三区免费看 | 国产成人午夜视频网址| 欧美色九九| 激情四射熟女丝袜| 日夜干射色啊| 自拍盗摄一区| 亚洲天堂中文字幕无码男同| 午夜精品视频777| 中国国产精品一区视频| 日本在线观看网址| 九久精品| 久草免费在线视频| 欧美丝袜91| 污电影在线观看| 九九九久久久久| 欧美日韩理论一区| 美女诱惑1区2区| 色婷婷导航| aaaa黄片| 欧美亚洲一级在线观看| 秋霞操逼片| 91在线免费精品视频| 97av在线观看| 欧美 亚洲| 久久大香蕉97| 欧美97网| 欧美在线电影| 日韩本不卡视频在线观看 | 91老妇女| 一卡二卡在线播放| 淫纸中9区| 色原狠狠天天天| 后入式福利| 天天综合网亚洲综合网| 91在线一起| 青青久久久| 2020天天色综合| 熟妇一区,二区,三区。| 欧美96在线|欧| 欧美三四五区| 欧美激情精品| 美女黄网| 亚州一区二区| 欧美成人免费在线观看| 午夜精品久久一区二区| 91春色| 3PAV乱伦视频| 国产大陆天天艹| 亚洲欧洲av影音| 精品蜜乳AV免费观看| 熟妇综合一区二区三区| 国产一区二区成人av在线播放| 国产狂喷潮在线精品| 日韩极品无码B| 美国精品国产精品| 久操网视频| 黄色网址在线免费观看| 日韩午夜啪啪视频| 日韩欧美视频青青| 任我爽在线视频免费观看| 久操网视频| 天天干1区2区在线| 秘书高跟黑色丝袜国产91在线| 久久久96精品| 蜜桃AV天堂| 美女久久久久久久久久久| 欧美少妇色图| 翔田千里AⅤHD无码| 超碰在线香蕉| 国产精品亚洲美女久久久久| 色蜜AV| 亚洲欧美天堂在线| 久久、1234| 日韩特一级久久| 国产欧美另类久久久精品课程| 亚洲天堂男人| 91在线超高颜值国产| 日本精品一区二区中文字幕| 一本一道人妻久久一区二区三区| 天天弄欧美| 亚州大图综合色图| 99热在线播放| 人人性爱视频免费| 男人a天堂手机在线版| 国产亚洲精品自在线亚洲情侣| 啊啊啊不要好疼视频| 操b网站亚洲无码| 伊人午夜福利视频| 97干在线| 国产性爱在线视频一区二区| 九九久久首页| 青青草大香蕉视频| 丝袜美腿制服人妻二区中文字幕| 久久婷婷欧美| 日韩视频啪啪| 欧亚韩国999| 东北女人性交| 欧亚无码视频| 欧美日韩狠狠爱| 男女性无套 免费九一| 亚洲第2页| 91爱综合| 夜夜操夜夜高潮夜夜爽国产精品区| 999精品女人| 国产女乱淫真高清免费视频| 大香蕉免费乱伦视频| 床上啊啊啊一区二区三区| 欧美日韩第一页| 中文字幕第页| 久久宗合亚洲| 色汉综合| 一级久久久久久久久久久| 啊啊啊啊啊啊啊国| 亚洲综合色在线| 大粗鳼巴久久久久| 日韩免费高清大片在线| 黑人无码一区二区| 你草精品在线视频| 国产精品久久久久久久久久久久久久吹 | 国产深喉| 97超碰磁| 人人乐大香蕉| 亚洲天天天| 日韩av不卡在线看| 日韩美女久久一区二区三区| 久久久久成人网| 一级黄色视频网| 伊人大香蕉在线| 亚洲色婷婷综合久久一区二区三区| 中国AV美女| 内射日韩大臀美女| 玖玖久久久| 亚洲乱码尤物193YW| 啊啊啊好舒服好爽啊啊啊视频| 99精品无码| 97人妻免费中文字幕| 国产白丝在线| 色五月婷婷麻豆在| 韩国轻伦国内自拍一区| 91精品无码人妻系列| 无码操逼天堂| 国产亚洲深夜激情| 无码99| 91制服丝袜| 易易A毛视频| 国产免费一区2区3区| 五月天婷婷综合网| 99在线精品观看视频中文 | 国产精品高朝久久久久久久| 人人潮人人摸| 热久久国产精品视频大陆精品| av三级电影在线播放| 五月婷婷六月丁香| 成年在线视频日本亚洲在线视频区精品江靖宇公司| 午夜电影在线观看无码专区| 免费成人在线熟妇网| 国产美女销魂在线观看不卡| 欧美大香蕉97| 收看日本人日bb| 久久熟妇五十路一区| 亚洲欧美另类激情小说| 久操99| 色五月AV| 久妇网| 天天综合91| 爱我干综合| 深夜激情| 色99在线| 97在线看| 欧美 亚洲 大香| 夜夜操美女| 夜夜嗷嗷一区二区| 涩涩这里只有精品视频| 91精品国产乱码| 97任你吞精| 在线免费试看60秒| 国产精品自在自拍视频| 桑老女人九区| av天堂影视中文在字幕在线中文| 一起草视频在线| 青青草自拍视频在线播放| 美女被啪到深处抽搐视频| 亚洲操人| 国产av青草| 天美精品原创av片国产| av天天在线观看| 成人免费性爱视视| 精品亚洲俞拍视频一区| 五月天激情网图片| 亚洲天堂无码| 色一射色一射| 日韩精品一区二区高清| 欧美 牲| 精品毛片久久久精品毛片| 丝袜美腿操av| 日韩一999精品| 26uuu偷拍亚洲欧洲综合| 操逼无毒无码免费视频| 91操碰| 亚洲一区日韩精品中文字幕 | 超碰成人最新最好看| 亚洲国产精品久久久久婷婷老年| 久久婷五月| 精品无码久久久久久久杏吧| 久久草视频污视频| 99热精品在线播放| 色吧5亚洲| 伊人网在线观看| 伦理片秋霞免费影院| 91色色网站| 精品二999| 免费观看的av| 日韩综合成人免费视频| 骚鸭AV| 亚洲欧美性生活| 人人摸.人人色| 亚洲精品1区| 久久侵犯人妻爽爽爽| 嫩呦国产一区二区三区AV| 亚洲成人在线乱码色午夜| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲日本韩国极品一区二区| 久久五月天婷婷丁香中文字幕| 亚洲天堂久久| 久久精品老司| 天天综合色| 久久性爱精品一区| 欧姜老司机| 久久超碰、| 91亚洲电影| 婷婷五月天无码| 91超碰碰在线| 在线观看综合精品亚洲| 天天日天天操VV| 五月天婷婷成人网| 精品人妻一区二区视频| 亚洲欧美伦综合| 亚洲综合一| 十八禁网站在线| 久久一区二区高清免费| 国产后入| 亚洲在线A| 久久久久亚洲一区女同性恋中文字幕| 丰满欧美放荡少妇在线| 亚洲熟女av中文字幕| 国产九九九九九九九九| 精品无码欧美三级| 亚洲第一页色网| 大屁股xxxxx| 熟女精品一区二区三区| 伊人丁香五月婷婷| 国产传媒日韩欧美| 亚洲资源吧| 色天堂综合| 久久久久精| 91精品久久久久久77777| 26uuu性| 夜草网站| 欧州91高潮| 亚洲色图片区| 人人爽夜夜玩视频| 久久视网78| 激情丁香五月婷婷| 1769精品一区二区三区| 欧美色图亚洲色| 96久久久久久久| 欧亚韩国999| 亚洲无限观看| 操b网站亚洲无码| 欧美少妇一区二区三区| 98一区二区精品| 色九九综合| 免费伦费视频在线观看| 欧美一区二区三区四区综合| 日产欧美电影一区二区三区| 天天综合91| 亚洲欧洲激情卡通另类文学四射小说网站| 国产97色在线 | 亚洲| 日韩不卡一二三四| 青久操| www鬼畜国产男人的天堂| 五月丁香啪啪啪| 亚洲天堂 视频你懂的| 91小视频| 自拍偷拍 日韩无码| 亚洲国产精品成人综合| 久 久无码人妻AV| 手机在线大香蕉| 久久久偷拍| 91精品国产91熟女| 婷婷8月天青娱乐| 天天色综合影视网| 欧美午夜熟妇黑人精品91| 蜜桃香蕉久草精品在线| 色99色| 欧美一区二区亚洲天堂| 91人人臊| 色色婷婷丁香| 日日狠狠久久偷偷色综合免费| 色色99| 97人妻免费中文字幕| 亚洲av影音先锋| 国产家庭乱伦网址| 97国产成人精品免费视频| a级免费在线观看| 99热这里只有精| 欧美色网| 色吧5亚洲| 国产精品分类在线观看| 欧美日韩大黄片| 久久精品国产AV一区二区三区| 国产日韩欧美操逼视频 | 亚洲熟伦熟妇AV无码春色| 日本精品中文字幕视频| 国产又黄又爽又刺激久久久久久 | 日韩婷婷| 开心激情婷婷| 久久久久久性爱片| 99综合自拍| 97色涩| 国产精品久久久久久久久久二区三区| 日韩无码服务区| 加勒比海人人操超碰在线| 亚洲国产精品无石码久久| 综合色欧美| 日韩三级在线观看网站| 免费久久一级毛片大黄| 韩国成人精品久久久免费看| 亚洲日韩美国人妻| 亚洲激情在线| 国产精品久久久视频| 高跟伊人julia ann| 欧美 亚洲 综合 制服 另类| 亚洲中文sv| 九九九色| 亚洲啪啪视频一区二区| 超碰AV在线| 国产白领连续中出在线观看| 超碰碰激情97+久| 亚洲在线A| 麻豆三极片| 91快色色色色色| 操逼操操操91| 亚洲成人一二三区| 男人的天堂久久狠| 蜜臀99久久国产| 狼人狠干| 91一起操| 超碰久热| 丝袜无码a片| 91女色| 无码外流操逼视频| 日本女人操逼| 欧美在线官网| 色踪合AV| 日本精品五区| 在线强奷到舒服的无码视频| 99超碰色| 五月天亚洲网| a片自拍直播视频| 人人操人人操草草| hd成人一区二区在线| 人妻夜夜爽天天爽麻豆三区网站 | 无码伊人久久大杳蕉中文无码| 国产女上位好爽在线| 亚热日本熟女| 人妻一区视频| 男女91| 欧美色色色| 人妻在线大香蕉| 日韩猛交| 思思热国产高清| 人妻中文字幕日韩电影| 97精品国产97久久久久久户外免费| 91中文精品日韩欧美在线| 国产AV线| 国产操逼网站亚洲一级黄色| 国产精品久久久久久久久AV大片| 国产日韩精品一区二区三区| 殴美色网| 色欲蜜臀AV| 看看小穴| 天堂亚洲欧美| 日本成人免费一区二区三区| 黑人操一区二区| 一区二区三区欧美激情| 97一区二区三区视频| 秋霞色色影院| 亚洲丝袜二区| 精品女同一区二区三区| 久久美女国产| 宗合情欲网| 97超碰香蕉| 日本三级中国三级99人妇网站| 伊人亚洲综合| 亚洲图片激情综合另类| 国产精品久久久久绯色| 资源新线在线天堂| 亚洲Av无码成人精品国产| 天天躁狠狠躁av| 欧洲亚洲国产综合在线| 九九热精品在线| 91男女| 国产精品久久久久亚洲av| 色999偷自拍拍| 欧美少妇人妻| 国产在线76页| 亚州欧美在线| 中文自拍欧美影视| 美女91色黄18| 久久激情亚洲精品无码?V| 久操在97| 天天操人人操狠狠插| 香蕉久久精品| 被男人吃奶很爽的毛片| 夜夜夜久久| 香港日本韩国人妇99www.wccm20| 一级性爱视频免费观看| 97爱爱爱综合| 草草草视频在线免费看| baisiav| 亚洲情色视频| 国产免费大片| 精品视频一区二区| 91 在线亚洲| 日本视频在线中文字幕| 欧美大香蕉卡久久| 日韩肏逼视频| 色情亚洲日本成人| 婷婷干黄色| 色爱欲亚洲| 欧美天天干| 九九自拍伦理| 亞洲久久直播| 亚洲色婷婷综合久久一区二区三区| 日本护士高潮| 九九九成人| 在现视频女上位好爽| 男人的天堂 在线一区| 夜夜操老骚逼视频网站| 成人无码电影在线观看网| 中文字幕十五区| 男人a天堂手机在线版| 91老妇女| 五月激情小说| 91美女视频| 成人久久精品| 丁香五月综合| 97超级久久| 久久熟女人| 大香蕉乱级| 久久久∴| 91精品国产高清久久久久久,亚洲成人 | 97精品国产| 伊人国产视频| 久草网站免费在线观看| 久久噜噜噜精品国产亚洲综合| 精品国产片亚洲一区| 亚洲男人天堂视频| 天天色播亚洲综合网站| 久久精品无码一区二区三区| 欧美三级一级| 精品国产一区二区三区四区在线看| 亚洲男人综合网| 岛国毛片手机在线观看| 日韩视频小说在线观看| 国产欧美亚洲精品a第2页| 天天操妹子| www.99热在线只有精品| 亚洲精品影视老司机| 97操B| 大吊色| 国产尤物AV尤物在线观看不卡| 精品人妻一区二区三区四区| 欧中日成人免费影视| 人人操人人搞人人草| 亚91网| 成人色女网| 香蕉人人操tv| 天天干嫩逼网| 天天插夜夜爽| 日韩av乱伦| 国产一区二区在线播放量| 美女91色黄18| 女优免费一区二区永久| 另类小说综合网| 97欧美日韩综合| 91精品人妻一区二区三区蜜桃臀| 一区三区啪啪| 美女裸体无遮挡永久免费观看网站| 免费超碰97久久| 青青草操逼逼视频| 岛国片在线播放| 欧美91变态| 亚洲色入欧美| 亚洲欧美大| 日本视频在线观看污污污| 欧美日韩另类激情图片| 中文字幕丝袜人妻| 日韩在线观看中文字幕视频| 日韩精品高清资源在线| 妺妺跟我一起洗澡没忍住| 亚洲欧美日韩中文播放| 久久久久九九九| 999久久久久久久精| 久久有碼| 中文有码9| 欧美性爱第一区| 欧美色偷偷| 不卡超碰护士AV在线免费播放| 男女激烈网站最新| 国产一区在线看| 久久久99999久网站| 黄页大片在线观看| 91天堂色男人的天堂| 国内偷拍精品一区二区| 欲香欲色综合天天伊人| 中文字幕女同在线| www.99热| 大香蕉伊然在亚洲91| 嗯啊不要啊在线| 深夜激情无码| 国产无码精品无码| 久久久婷| 青青久日| www.婷婷六月天| 亚洲无码AV九九九| 成人av毛片在线观看| 狠狠爱AV| 亚洲国产精品乱码在线观看| 黄色av一区二区在线| 91天天| 国产av高清版| 激情九月婷婷| 99热在线观看| 吖在线不卡一区二区国产剧情| 黄色成年| 久久99干一本高清| 欧美变态激情网| 亚洲情色在线| 肉丝网站91| 91视频国品一二三区| 丁香婷婷大香蕉| 国人欧美精品一区二区| 乱论91| 少妇一区二区三区高速| 亚洲无码 国产无码| 97日韩| 97在线免费视频观看| 欧美狠狠狠| 九九九久| 欧美日韩美女精品久草一区二区三区| 欧美久久人妻少妇一区二区| 91中文精品日韩欧美在线| oumeisetu综合| 亚洲欧美精品91| 亚洲激情av| 97久久超碰| 亚洲欧美国产其他二区| 色欲蜜臀AV| 全免费a敌肛交毛片免费| 久久一区二区高清免费| 青椒国产97在线熟女| 中文字幕精品一区欧美| 伊人专区一区二区三区| 日韩精品在线放| 13小男生GAY自慰脱裤子| 国产精品分类在线观看| 被窝影院午夜看片无码| 1769一区| 日本一久是| 精品九九九九九九九九九| 久草男人天堂| 人妻五十路在线| 嗯嗯,好大,好爽,好骚| 98精品国产乱码久久久久久| 白 大 人妻 区 在线| 久久大陆| 天天操美美| 久久久免费懂色| 青青草黑寡妇男人天堂| 91啪9色| 玖玖资源中文字幕制服丝袜| 青女在线| 欧美综合色综合| 亚洲乱熟女一区二区| 变态综合色| 特色a在线上| 麻豆视频一区二区| 超碰在线人人射| 亚洲精品自拍| 激情网色| 国产AV高清AV无码| 一区二区三区精品黑丝白丝酒店对鸡| 密桃99999| 麻豆国产尤物AV| 蜜臀AV一区二区三区激情综合| 久久九七| 夜夜嗨一区二区三区三州加勒比| 国语精品av| 精品国产一区探花在线观看| 久久久一区二区三区三州| 成人免费在线网站| 九九久久综合| 中文字幕日韩国产传媒欧美精品| 日韩99神马视频片| 国产麻豆一区二三区| 久久精品国产亚洲av水密被窝| 亚洲天堂精品日韩电影| 福利操逼| 温婉少妇玩3p| 噜噜噜狠狠色综合| 人妻天天爽夜夜爽爽| 日韩人妻精品中文字幕| 欧亚日本情色| juliaann欧美丝袜办公室| 色五月AV| 强奸乱伦大香蕉| 999在线电影香蕉| 欧美熟妇操操视频| 亚洲熟妇白浆无码AV| 亚洲在线a| 亚洲国产成人福利在线观看| 欧美日韩操逼嗦吊| 色综合久久88色综合久久天天| www.婷婷六月天| 久久嫩草国产成人一区| 97色欧州| 色偷偷2020免费视频播放| 久久专区| 欧美另类精品xxxx| 国产精品一二三区福利| 久久大线蕉一区| 欧姜老司机| 无码免费在线观看黄色片| 亚洲精品成人| 九九久久国产精品| 久久亚洲天堂| 毛片久久| 无码 有码 国产18p| 97免费在线视频在线观看| 激情四射五月天| 天天噜| 欧美日韩在线国产在线| 嗯嗯啊啊啊好舒服| 色香91| 国产一区二区成人av在线播放| 国产又操| 97在线免费看| 久久97视频| 飘花国产午夜精品不卡| 狠狠狠狠狠| 98福利在线视频| 欧美极品美女aaaaaa级黄片| 人人妻人人狠人人| 亚洲综合有玛| 亚洲a色| 亚洲二区精品在线观看| 99老司机精品视频在线观看| 人妻啊啊人妻啊啊| 97久久国产亚洲精品超碰热| 日韩有码 一区二区三区| 99久久婷婷国产综合精品草原| 亚熟hd视频在线| 99热| 5278欧美一区二区三区| 97精品综合久久网| 深喉吞精| 婷婷AV一区二区三区| 好吊色一区| 亚洲欧美日韩中文播放| 亚洲高清无码免费观看视频| 国产十八禁视频| 神马久久久久| 日本狠狠干| 日本天天干天天日一区| 国产野战露脸在线播放| 欧美中文字幕男人天堂久久精品| 97久久久网站| 日本熟妇人妻中出视频| 91AV天堂| 国内毛片欧美香蕉精品| 久久超碰爱| 亚洲色图欧美色图综合| 国产精品无码av| 中文字幕天天操| 操操操五月天婷婷丁香影院| 精品视频久久久久九九九九9999| 欧美综合网站999| 美女写真| 91久久国外网| 无码操逼视频一下| 久9久| 蜜臀99久久精品久久久懂爱| 夜夜爽爽爽| 中文字幕人妻丝袜乱一区三区| 国产精品一区二区 尿失禁| 嫩草影院永久在线制服丝袜| 精品人妻1区| 中文久久一区| 100啪啪视频大全| 婷婷综合在线观看| 国产一国产一级毛片古装| 麻豆久久久一区二区| 蜜臀久久99精品久久久久久| 99久在线精品99re8热| 亚洲精品电影| 91超级碰| 2017天天插| 婷婷99狠狠躁天天躁| 9Ⅰ超碰| 亚洲少妇喷视频看| 久久97| 色哟哟国产精品免费网址| 91免费看一区二区三区 | 国产福利合集| 天无日色综合| 色波多| 亚洲欧美大| 黄片www视频免费| 91爽啪| 三久久久四久久久久| 欧美日韩国第一区| 人妻精品视频一区二区三区| 色九月综合| 八戒无码国产午夜福利| 无码男人天堂| 思思热影视| 亚洲色图8| 丁香九月婷婷| 91东北熟女| 日韩99神马视频播放片在线播放| 午夜男女爽爽爽影院视频| 人妻精品一区二区全免费| 日韩黄色av中文字幕| 伦理弟一页| 成人国产精品三级A片| 欧美人妖内射| 色五月婷婷网| 日韩欧美大片免费高清啪啪| 亚洲视频,小说|