亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

DJGPP 2.04:DOS下32位C/C++編譯器套件搭建與使用指南

DJGPP 2.04:DOS下32位C/C++編譯器套件搭建與使用指南 簡介DJGPP 2.04 是一套面向 DOS 環(huán)境的開源 C/C 開發(fā)工具鏈主要解決在老式 PC、虛擬機或嵌入式場景中源碼編譯與程序構(gòu)建的問題適合復(fù)古計算愛好者、系統(tǒng)原理學(xué)習(xí)者以及需要在 DOS 下開發(fā)游戲或系統(tǒng)級軟件的開發(fā)者。該版本由 GNU 工具移植而來整合了 GCC 編譯器、匯編器、鏈接器、GNU Make、調(diào)試器 GDB、庫管理器及大量標(biāo)準(zhǔn)頭文件和庫文件可在沒有現(xiàn)代操作系統(tǒng)的條件下完成從編輯、編譯到鏈接的完整開發(fā)流程。整套壓縮包共 372 個文件以 h 頭文件、exe 可執(zhí)行程序、info 說明文檔以及 djl、lib、bat 等輔助文件為主壓縮后約 6.95MB體積緊湊便于在早期硬件環(huán)境部署。資源與《Linux0.01內(nèi)核分析與操作系統(tǒng)設(shè)計配書光盤》教學(xué)場景緊密相關(guān)同時附帶 man 手冊頁與示例代碼幫助讀者理解早期操作系統(tǒng)內(nèi)核、底層啟動流程及 DOS 平臺編程方式。目前已有 405 人學(xué)習(xí)下載對研究編譯工具發(fā)展史和操作系統(tǒng)教學(xué)均有獨特價值。1. DJGPP 2.04 是什么一個讓 32 位 C/C 在 DOS 里跑起來的編譯器套件DJGPP 2.04 這個名字在今天的開發(fā)者眼里很陌生但只要你碰 DOS 下的復(fù)古游戲、老式工業(yè)電腦或者想用現(xiàn)代 C 標(biāo)準(zhǔn)給老系統(tǒng)寫點正經(jīng)工具它就繞不開。它做的事是把 GCC、make、gdb 和 binutils 整個搬進 DOS 環(huán)境讓你在命令行下敲一條 gcc 命令就編譯出能在純 DOS 里運行的 32 位保護模式程序而不是 Turbo C 那種只能摸 640KB 內(nèi)存的 16 位產(chǎn)物。DJGPP 2.04 是這一系列的最后一個主流發(fā)布解決了一批老內(nèi)核的兼容性問題補齊了 C 標(biāo)準(zhǔn)庫在 DOS 下的可用度。適合它的場景很明確老硬件上的實用工具、DOS 演示和游戲開發(fā)、操作系統(tǒng)的教學(xué)實驗。它的目標(biāo)用戶不是要做現(xiàn)代 GUI 的人而是需要讓代碼在舊環(huán)境下可靠運行的人。2. 搭建 DJGPP 2.04 開發(fā)環(huán)境解壓、環(huán)境變量與第一個可執(zhí)行文件DJGPP 2.04 的安裝不是雙擊一個 exe 就完事它更像一套綠色軟件官方把整套工具鏈打散成一批 zip 包下載回歸 DOS 目錄結(jié)構(gòu)后解壓、設(shè)兩個環(huán)境變量就能用。這個流程二十多年沒變過反而成了它的優(yōu)點——不寫注冊表不留服務(wù)刪掉整個目錄就是卸載換機器遷移也只需要拷走整個目錄。2.1 下載與目錄規(guī)劃為什么堅持干凈的根目錄我一般會把所有 zip 包解壓到同一個根目錄比如 C:\DJGPP。這里的第一個坑是路徑里不能有空格DJGPP 自身的腳本和 GNU make 在解析帶空格的路徑時會切錯參數(shù)頭文件路徑拼接失敗報錯卻指向 stdio.h排查起來很繞。第二個坑是解壓時必須保留 zip 內(nèi)自帶的目錄層次很多人習(xí)慣右鍵“解壓到當(dāng)前文件夾”一下子把 bin、include、lib 全攤平在一個目錄里gcc 找不到標(biāo)準(zhǔn)庫各種 No such file 跟著來。解壓完成后檢查五個位置bin\gcc.exe、bin\g.exe、bin\make.exe、lib\libc.a、include\stdio.h。這五個在主體就算齊了。C 用戶還要確認 lib\libstdcxx.a 存在DJGPP 2.04 的 C 運行庫拆成 libstdcxx 和 libsupcxx 兩個包漏了其中一個鏈接階段會報一堆 undefined reference 到 operator new看不出是庫缺失還是代碼問題。提示不要圖省事下載別人精簡過的“綠色版 / 一鍵版”。DJGPP 工具鏈整體耦合編譯器、binutils、libc 之間對目標(biāo)文件格式的版本非常敏感混用精簡包會踩到 4.5 節(jié)的鏈接錯誤。2.2 配置 DJGPP 與 PATH兩個環(huán)境變量決定編譯器的認知DJGPP 2.04 靠兩個環(huán)境變量定位整個工具鏈一個是 DJGPP指向 djgpp.env 文件一個是 PATH指向 bin 目錄。Windows cmd 里的最小配置如下。set DJGPPC:\DJGPP\DJGPP.ENV set PATHC:\DJGPP\BIN;%PATH%第一行的邏輯是gcc、gdb、make 啟動后會讀取 DJGPP 變量指向的 djgpp.env這個 env 文件里寫好了默認 CPU 類型、默認編譯選項、庫搜索路徑和頭文件搜索路徑。變量沒設(shè)DJGPP 工具就不知道自己該按哪個平臺工作等價于一個不知道自己目標(biāo)的編譯器。第二行把 bin 塞進 PATH讓你在任何目錄下敲 gcc 都能被找到。最容易被忽略的是 DJGPP 這個名字必須全大寫工具鏈內(nèi)部按大寫變量名精確匹配cmd 的 set 不區(qū)分大小寫但傳給子進程時變量名是小寫就真的讀不到。我一般會直接把這兩個變量寫進 Windows 系統(tǒng)環(huán)境變量而不是每次開 cmd 重新 set。因為編譯老代碼時經(jīng)常同時開好幾個終端一個跑 make一個跑 gdb一個盯匯編輸出只在一個窗口 set 會漏掉另外兩個報錯時還以為編譯器壞了。寫完系統(tǒng)變量要記得重啟終端讓新進程重新加載環(huán)境當(dāng)前窗口里的舊 PATH 不會自動更新這是很多人配完環(huán)境變量發(fā)現(xiàn)不生效的第一個原因。2.3 最小編譯命令從 hello.c 到 hello.exe 的完整流程環(huán)境變量就緒后在工作目錄新建一個 hello.c。#include stdio.h int main(void) { printf(hello from DJGPP 2.04\n); return 0; }在命令行執(zhí)行編譯cd C:\DJGPP\WORK gcc -O2 -stdgnu99 -o hello.exe hello.c選項拆開看-O2 是常用的優(yōu)化級別對 DOS 目標(biāo)最穩(wěn)妥-stdgnu99 把 C 標(biāo)準(zhǔn)定到 C99 加 GNU 擴展DJGPP 的 stdio.h 對 C99 的覆蓋比 C11 完整老代碼也熟悉這套-o hello.exe 指定輸出名不寫的話默認生成 a.out在 DOS 下還得改名才能運行容易漏。編譯成功會多出 hello.exe。我跑生成的 exe 時被 Windows 彈過一次“不是有效的 Win32 應(yīng)用程序”這是正?,F(xiàn)象它是 MZ 頭的 DOS 可執(zhí)行程序頭部綁了一小段 DOS 擴展器 stubWindows 的 DOS 虛擬機不支持 32 位 DPMI 程序所以雙擊報錯不等于編譯失敗。想確認產(chǎn)物身份用 16 進制編輯器看前幾個字節(jié)MZ 頭后面不是 PE 頭而是 DOS 擴展器的實模式代碼。2.4 運行的秘密CWSDPMI 與 DOS 擴展器怎么把 32 位程序送進實模式系統(tǒng)要理解 hello.exe 為什么能跑在 DOS 里先得厘清運行模型。DOS 內(nèi)核只認識 16 位實模式程序CPU 被限制在 1MB 地址空間內(nèi)而 DJGPP 2.04 編譯出來的是 32 位保護模式代碼兩者之間隔著一層轉(zhuǎn)換這層就是 DOS 擴展器。DJGPP 使用的擴展器是 CWSDPMI一個 DPMI 服務(wù)程序。它的執(zhí)行順序是在 DOS 下敲 hello.exeDOS 按 MZ 格式把程序裝入內(nèi)存程序入口處是一小段實模式 stubstub 會在當(dāng)前目錄或 PATH 里找 CWSDPMI.EXE加載它再把 CPU 從實模式切到保護模式建立 DPMI 服務(wù)完成切換后才跳轉(zhuǎn)到真正的 32 位 C 運行時入口最后執(zhí)行 main。所以 hello.exe 不是一個獨立自足的文件發(fā)布時務(wù)必把 CWSDPMI.EXE 一起帶上否則換一臺沒有它的機器程序會在加載階段就退出界面都不給你一個。如果不想讓用戶帶外部文件可以用 bin 下的 stubedit.exe 把 CWSDPMI 靜態(tài)嵌進可執(zhí)行文件。stubedit hello.exe這個命令會打開一個底層的 stub 編輯界面在界面上把 cwsdpmi 的 stub 綁定到當(dāng)前 exe。綁定后文件會增大 10KB 左右但啟動時不依賴外部 CWSDPMI。常見做法是開發(fā)期用外部 CWSDPMI發(fā)布期靜態(tài)綁入兩邊都避免運行時缺文件。我自己的習(xí)慣是開發(fā)期也靜態(tài)綁定這樣每次在 DOSBox 里同步文件只拷一個 exe少一個遺漏點。2.5 用 DOSBox 做運行測試驗收編譯產(chǎn)物前的最后一步只有真正在 DOS 環(huán)境里跑一次才算驗收工具鏈。常見做法是裝一個 DOSBox把 C:\DJGPP 整個目錄掛載為 DOS 的 C 盤然后在虛擬機里執(zhí)行mount c c:\djgpp c: cd work hello.exe運行結(jié)果應(yīng)當(dāng)是打印出 hello from DJGPP 2.04然后正?;氐?DOS 提示符。如果程序沒有輸出就直接退出先看當(dāng)前目錄有沒有 CWSDPMI.EXE如果打印輸出后系統(tǒng)卡死多半是 DOSBox 的 CPU 核心與保護模式切換沖突把 dosbox.conf 里的 coredynamic 改成 corenormal 再試。這一章的終點是把代碼、編譯、運行三條鏈穿起來。鏈通了下一章聊工具鏈的高級用法才有依托。3. 用好 DJGPP 2.04 的完整工具鏈編譯選項、Makefile 與調(diào)試DJGPP 2.04 不只是 gcc 一家獨大它還帶了一套完整的 binutils 和調(diào)試器。學(xué)會把它們組合起來老平臺開發(fā)效率才追得上現(xiàn)代環(huán)境而不是每次重編一遍全項目。3.1 gcc 常用編譯選項-O2、-std 和 -march 在 DOS 目標(biāo)下怎么選DJGPP 2.04 的 gcc 是針對 i586 目標(biāo)構(gòu)建的默認指令集基線在 Pentium 一代附近。如果你把編譯產(chǎn)物拿到更老的 386/486 上跑默認選項生成的指令會讓老 CPU 直接非法指令異常。所以第一個要明確的是目標(biāo)硬件。只在 DOSBox 里跑用默認或 -marchi586 都行要兼顧 486 機器就加 -marchi486。一個常見編譯命令模板gcc -O2 -marchi486 -stdgnu99 -Wall -c video.c gcc -O2 -marchi486 -stdgnu99 -o game.exe main.o video.o input.o參數(shù)說明-O2 是性能與體積的平衡點-Os 在空間緊張時換體積-march 限制生成的指令集決定了產(chǎn)物能跑在什么檔次的 CPU 上-Wall 打開編譯警告老代碼遷移時靠它抓未聲明函數(shù)。需要留意 DJGPP 2.04 里 -stdgnu99 與 -stdc99 的差別不大但涉及內(nèi)聯(lián)匯編和 asm 關(guān)鍵字時gnu99 更省事老 C 代碼里的asm不會被嚴格模式攔下。還有一個經(jīng)常被忽略的選項組合是 -ffunction-sections 和 -fdata-sections。它把每個函數(shù)、數(shù)據(jù)段拆成獨立小節(jié)配合鏈接器的 --gc-sections 可以把沒用到的部分整體丟棄。對 DOS 下體積敏感的工具很實用尤其從老倉庫拉來的代碼經(jīng)常整個目錄都被編譯進去實際只用到其中一小部分函數(shù)。gcc -O2 -ffunction-sections -fdata-sections -c *.c gcc -o tool.exe *.o -Wl,--gc-sections第一行編譯時按函數(shù)和數(shù)據(jù)切分段落第二行鏈接時丟棄沒人引用的段。效果在控制臺工具上通常能省 20% 到 30% 體積代價是調(diào)試時符號表變大行號定位偶爾不準(zhǔn)。所以這個選項組我一般只用在發(fā)布前的最終構(gòu)建調(diào)試階段關(guān)掉。3.2 多文件項目一個可以直接抄的 Makefile 模板DJGPP 自帶 GNU make可以在 DOS 命令行下直接跑 make 命令。寫多文件工程時我通常從 min 依賴規(guī)則的 Makefile 開始。CC gcc CFLAGS -O2 -stdgnu99 -Wall -marchi486 TARGET game.exe OBJS main.o video.o input.o $(TARGET): $(OBJS) $(CC) -o $(TARGET) $(OBJS) main.o: main.c video.h input.h $(CC) $(CFLAGS) -c main.c video.o: video.c video.h $(CC) $(CFLAGS) -c video.c input.o: input.c input.h $(CC) $(CFLAGS) -c input.c clean: del $(OBJS) $(TARGET)這套規(guī)則講了兩件事顯式依賴和隱式命令。每條“目標(biāo): 依賴列表”后面帶 Tab 縮進的行是生成目標(biāo)的命令GNU make 執(zhí)行時先比較目標(biāo)和依賴的時間戳依賴比目標(biāo)新才重建目標(biāo)。clean 用的是 del 而不是 rm因為 DJGPP 的命令行環(huán)境沒有 rmWindows cmd 下 del 同樣有效。這里最經(jīng)典的翻車點是縮進用了空格而不是 Tabmake 會報 missing separator 然后直接停止我在這上面丟過不少時間。如果源碼文件很多可以考慮模式規(guī)則和自動推導(dǎo)但不建議新手一上來就用。DJGPP 2.04 在 DOS 下跑的 make 版本較老通配符和二次展開的行為細節(jié)跟新版不一樣踩到會很難查。先用寫全依賴的笨辦法項目穩(wěn)定后再優(yōu)化省下來的時間比省下的幾行字符值錢。3.3 用 gdb 調(diào)試 DJGPP 程序從黑匣子到斷點DJGPP 2.04 的 gdb 是 DOS 原生程序意味著你可以直接在 DOSBox 里啟動它調(diào)試另一個 DOS 程序。編譯時打開調(diào)試符號并關(guān)閉優(yōu)化gcc -g -O0 -o hello.exe hello.c gdb hello.exe進入 gdb 命令行后常用流程是(gdb) break main (gdb) run (gdb) next (gdb) print i (gdb) quitbreak main 在函數(shù)入口設(shè)斷點run 啟動程序在斷點停下后 next 是單步執(zhí)行print 打印變量當(dāng)前值quit 退出。對 DOS 程序來說最實用的是拿它查段錯誤run 之后如果看到 SIGSEGV用 backtrace 看?;厮莼灸芏ㄎ坏绞悄膫€函數(shù)寫穿了數(shù)組。注意 gdb 在 DOSBox 里運行也需要 CWSDPMI.EXE而且調(diào)試器本身要占內(nèi)存DOSBox 默認的 XMS 設(shè)置太低時先把 DOSBox 配置里的 memsize 調(diào)到 16 或 32 再跑。遇到難纏的內(nèi)存問題gdb 有一種現(xiàn)代環(huán)境里不常見的玩法直接在保護模式下訪問顯存和端口。你在 gdb 里用 x/wx 0xB8000 可以直接查看 VGA 文本緩沖區(qū)的內(nèi)容在調(diào)試圖形驅(qū)動時不需要額外打日志函數(shù)比插入一堆調(diào)試代碼干凈得多。3.4 用 binutils 做產(chǎn)物瘦身與檢查strip、objcopy 的實際場景DJGPP 2.04 自帶的 binutils 里日常最常用的三條是 strip、objcopy 和 strings。strip 去掉符號表把可執(zhí)行文件體型減下來strip -s game.exe對發(fā)布版本做這一步是基本禮儀一個帶完整調(diào)試符號的 DOS 程序體積能差一倍以上。-s 表示 strip all連重定位信息一起去掉副作用是 gdb 無法再對這個 exe 下斷點所以 strip 要放在最后階段調(diào)試期間不要碰。objcopy 在自制操作系統(tǒng)和引導(dǎo)程序場景出場。DJGPP 的鏈接器默認產(chǎn)出帶 DOS 擴展器的可執(zhí)行格式但你的內(nèi)核最終要交給引導(dǎo)器加載到固定內(nèi)存地址需要的是一段沒有文件頭、沒有重定位的純二進制。命令objcopy -O binary kernel.exe kernel.bin-O binary 把 COFF 段按內(nèi)存布局原樣導(dǎo)出生成 flat binary。這個文件沒有了 MZ 頭和保護模式 stub必須由引導(dǎo)代碼按約定地址加載并自行切換保護模式。用這個命令前建議先在鏈接腳本里把內(nèi)核段布局排好常見做法是讓 .text 起始地址等于期望的加載地址否則出來的 bin 會在開頭帶一坨填充數(shù)據(jù)加載時錯位。strings 是個被低估的檢查工具strings game.exe | grep -i error\|fail它把所有可打印字符串撈出來配合 grep 看程序內(nèi)置的錯誤提示不用運行就能排查資源文件路徑、配置文件格式這類問題。我在處理老游戲漢化時經(jīng)常用它確認文本是 ASCII 還是 GBK比盲改二進制穩(wěn)得多。4. DJGPP 2.04 避坑指南環(huán)境變量、路徑分隔符與內(nèi)存模型的典型翻車現(xiàn)場DJGPP 2.04 的報錯信息往往不像現(xiàn)代編譯器那么友好很多問題表現(xiàn)為“編譯不過”或“運行崩潰”實際根源卻藏在環(huán)境配置和內(nèi)存模型里。下面按我踩過的順序列出 5 個高頻坑每條按現(xiàn)象、原因、解決的順序說清楚。4.1 stdio.h not found環(huán)境變量 DJGPP 丟失的癥狀與修復(fù)現(xiàn)象gcc 一編譯任何 .c 文件立刻報stdio.h: No such file or directory但 include\stdio.h 明明存在。原因DJGPP 環(huán)境變量沒設(shè)置或設(shè)置了但指向的 djgpp.env 路徑不對。gcc 知道自己是 DJGPP 工具鏈但沒被告知去哪找標(biāo)準(zhǔn)頭文件。另一個隱蔽點是你把 djgpp.env 的名字寫錯比如 Windows 默認隱藏擴展名文件名真實是 DJGPP.ENV.txt指針就斷了。解決先用 echo %DJGPP% 確認變量存在且路徑正確再看文件管理器里有沒有被系統(tǒng)吞掉擴展名。我在 Windows 上習(xí)慣在 cmd 里執(zhí)行 dir C:\DJGPP\DJGPP.E* 看真實文件名比肉眼省心。配好這兩個變量后gcc -v 打印的 search 路徑里能看到 include 目錄一眼就能驗證工具鏈認知是否到位。4.2 Makefile 里文件路徑被反斜杠截斷路徑分隔符的坑現(xiàn)象Makefile 里寫 C:\DJGPP\LIB\libc.amake 報錯說找不到文件或把路徑截斷成 C: 加一串亂碼。原因GNU make 把反斜杠當(dāng)作轉(zhuǎn)義字符處理DOS 風(fēng)格路徑里的 \D、\L 會被吃掉一層。這個問題在 DJGPP 2.04 自帶的舊版 make 里尤其明顯。解決Makefile 內(nèi)部統(tǒng)一用正斜杠寫路徑比如 C:/DJGPP/LIB/libc.aWindows 和 DOS 的文件系統(tǒng)層都能識別正斜杠。需要傳給編譯器參數(shù)時也盡量用正斜杠只在用戶交互的命令行里保留反斜杠習(xí)慣。現(xiàn)在寫任何 DOS 項目 Makefile我第一件事就是全局替換反斜杠省得后面的坑連成串。4.3 長文件名支持LFN 開關(guān)與 8.3 短文件名的取舍現(xiàn)象程序在 DOSBox 里 fopen(config.dat, r) 正常放到純凈 DOS 6.22 上 fopen 返回 NULL或者文件讀到一半數(shù)據(jù)錯亂。原因DJGPP 2.04 通過 LFN 接口訪問長文件名DOS 默認沒開啟該接口時需要驅(qū)動程序支持。純凈 DOS 只有 8.3 短文件名而你的源代碼和資源文件在 Windows 下解壓時名字已經(jīng)拉長程序按長名字去找自然找不到。解決兩條路。一是給 DOS 加載 LFN 驅(qū)動但老機器環(huán)境不好說二是把涉及運行期資源訪問的文件名全部壓成 8.3 格式配置叫 config.cfg存檔叫 save.dat。我在移植老游戲時默認按短文件名規(guī)劃資源省掉一長串兼容性報告。4.4 C 異?;虼髷?shù)組段錯誤DPMI 內(nèi)存不夠時的現(xiàn)象與處理現(xiàn)象C 程序里 throw 一個異常程序直接崩潰或者 main 里聲明一個 10MB 的局部數(shù)組運行到函數(shù)入口就段錯誤。原因DJGPP 2.04 的 C 異常依賴 DPMI 提供的內(nèi)存管理CWSDPMI 分配給程序的堆大小默認從系統(tǒng)配置讀取DOSBox 默認內(nèi)存不足時異常處理棧和大的棧上數(shù)組都放不下。局部數(shù)組超過幾 MB 時往往超出內(nèi)核對堆棧段的預(yù)留運行時報段錯誤。解決給 CWSDPMI 配置更大的內(nèi)存上限。常見做法是改 dosbox.conf 的 memsize 到 64或者在發(fā)布前用 stubedit 設(shè)置程序需要的 DPMI 內(nèi)存池大數(shù)組改用 malloc 放堆不要放棧。我給老平臺移植代碼定的規(guī)矩是單塊棧數(shù)組不超過 64KB超過一律堆分配這條規(guī)矩救了不少次。4.5 undefined reference to __main工具鏈版本混用的典型癥狀現(xiàn)象鏈接時報 undefined reference to __main代碼里根本沒寫過這個符號。原因這是 DJGPP 特有的 C 運行時初始化符號。GCC 在 C 程序啟動時通過調(diào)用 __main 完成全局構(gòu)造器流程該符號由 libc.a 提供。問題是 binutils、libc 和 gcc 三者版本混搭時GCC 認為自己需要 __main而鏈接器鏈接的庫卻改了符號名或沒有導(dǎo)出目標(biāo)文件格式對不上最終鏈接失敗。解決嚴格按照同一套發(fā)布的 DJGPP 2.04 包安裝不要混用不同分支的 gcc 和 libc。檢查方法是用 nm 在 libc.a 里搜索符號nm libc.a | grep main確認存在后再查 gcc 的 specs 文件里的 crt 相關(guān)路徑是否指到同版本目錄。這個問題沒有快速補丁把環(huán)境清理干凈重裝全套是最省時間的做法比對著 ld 腳本折騰半天下班。5. 進階用法驗證編譯產(chǎn)物與移植老代碼的兩個實用習(xí)慣工具鏈跑順之后有兩件事值得固定成習(xí)慣拿到陌生 exe 先驗證遷移老代碼只動封裝層。這兩件事能幫你把“運氣好能過”變成“每次都能過”。5.1 驗證產(chǎn)物三種快速檢查手段我不太相信“剛才編譯過了”這句話。拿到一個 DJGPP 產(chǎn)物至少做三道檢查。第一道是 file 確認格式file game.exe輸出出現(xiàn) 32 位、DOS 可執(zhí)行、保護模式這些關(guān)鍵詞說明工具鏈目標(biāo)正確如果顯示 16 位 COM 或 EXE多半是環(huán)境里混入了其他 DOS 工具。第二道是 strings 掃內(nèi)嵌路徑strings game.exe | grep -i config\\如果在輸出里看到反斜杠形式的路徑程序在 DOS 下解析路徑時會出問題趁發(fā)布前改掉。第三道是完整啟動模擬發(fā)布前把 exe、CWSDPMI.EXE 和資源文件放進同一個目錄在 DOSBox 里從干凈機器模擬一次完整啟動。這步不能省我數(shù)不清多少次在開發(fā)機上有 CWSDPMI 所以沒暴露換目錄后程序直接神秘消失。5.2 把老 Turbo C 代碼遷到 DJGPP只動封裝層不動業(yè)務(wù)邏輯從 Turbo C 遷到 DJGPP 2.0490% 的工作集中在頭文件和平臺 API 替換。我給自己定的規(guī)則是造一個 target-config.h把平臺差異全壓進去。#ifndef TARGET_CONFIG_H #define TARGET_CONFIG_H /* Turbo C 的遠指針在 DJGPP 平坦內(nèi)存里不需要 */ #if defined(__DJGPP__) #include stdlib.h #define _fmalloc malloc #define _ffree free #else #include alloc.h #endif #endif這個頭文件的作用是業(yè)務(wù)代碼繼續(xù)調(diào)用 _fmalloc底層在 DJGPP 下被替換成 malloc。32 位保護模式的平坦內(nèi)存里所有指針都夠遠遠指針概念本來就該廢棄用宏映射一下業(yè)務(wù)代碼不用改。移植時我會先把編譯錯誤全部排干凈再逐個替換圖形和中斷部分最后跑回歸。圖形模式是另一個深水區(qū)保護模式訪問顯存需要映射gdb 設(shè)斷點查 VGA 緩沖比 printf 調(diào)試高效。這套流程走完一個項目基本就有了自己的移植模板。我現(xiàn)在拿到任何老代碼第一反應(yīng)是先找它的平臺依賴集中在哪幾個頭文件而不是急著編譯。這個習(xí)慣讓后來的移植工作順手不少希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天操夜夜操狠很操| 欧美性爱超碰97| 午夜一级免费毛片| 国内亚洲高清无码| 丝袜美腿91| 一区二区国产视频在线观看| 久久久久精| 无码日韩人妻av一| 一类无码操逼视频| av网站免费看| 大香蕉久久| 91色色综合| 亚洲s在线观看| 男人的天堂2010| 狠狠激情综合狠狠操中文字幕| 亚洲夜夜欢无码一区二区| 乱伦熟女专区| 欧美性爽xyxOOOO| 亚洲男人天堂AV| 欧美啪啪天堂| 亚洲情色综合网| 99re69综合| 久久久久久久极品香蕉视频| 五月天综合网| 中国黑人三级片网站上区| 日韩成人精品中文字幕| 私色综合网| 亚洲图片欧美91N| 91人妻Pr| 韩日无码在线观看| 97欧美性爱| 久久黄色视频一区二区三区| 日日操丁香五月天| 亚洲一欧洲中文字幕在线 | 91伊人久久在线| 精品无码一区二区| 免费农村成人少妇人妻Aa一区二区视频| 97色亚洲| 亚洲情色视频| 大香蕉免费3| 日韩操逼HD| 中国zzijzzijzzwww精品| 亚洲精品一二牛牛| 日韩成人在线性爱视频| 久操com| 久久精品国产亚洲AV片多多| 国产一级αv免费看片| 萌白酱自拍视频| 99视频这有这里有精品| 在线v中文字幕一区二区三区| 久久精品黄色| 手机在线A片| 亚洲图片日本AⅤ欧美在线| 国产精品久久久久无码Av网曝门| 97av在线观看| 久久‘黄片视频| 亚洲天堂人人妻| 一区二区国产视频在线观看| 国产91丝袜 在线播放| 亚洲一区在线观看欧洲| 一区二区三区视频在线观看免费| 亚洲精品白浆高清久久久久久| 国产麻豆一区二三区| 亚洲极品| 樱花蜜乳av| 国产激情av女片自拍| 影音先锋中文字幕日本好一区二区| 国产精品成久久久久午夜午夜| 日本 情色 1区2区3区| 乱人乱色一区二区三区免费| 一级性爱视频免费观看 | 曰本人妻人人澡人人夹| 九九亚洲视频| 欧美72网页| 蜜桃天美传媒AV一区二区三区| 2019AV天堂| 男人的天堂久久狠| 一级性爱视频免费观看| 国产欧美日韩在线不卡第一页| 国产欧美一级在线观看| 97视频在线观看播放与子乱对白在线……| 欧美躁死她一区二区| 欧美A√综合网| 东京热,男人的天堂| 尤物视频视频官网| 九九成人| 亚洲猛交| 色色色色网站| 97人人爱人人做人人乐| av天堂电影网| 久久亚洲婷婷| 欧美大干日韩| 人妻 中文 日韩| 嗯嗯嗯啊啊啊在线免费观看| 国产午夜福利合集| 国产精品探花在线| 日日噜噜夜夜久久亚洲一区二区 | 一区二区播放| 91九色网| 亚洲色图 91| 福利视频一区二区微拍| 性色高清在线| 男女猛烈无遮掩视频免费软件| 中文字幕精品免费一区二区| 91强奸乱轮| A啊啊在线观看| 不卡超碰护士AV在线免费播放| 柠檬AV导航| 伊人 俄罗斯 a v| 亚洲国产丝袜熟女av| 婷婷久久五月| 九九九九热| 日本狠狠干| 欧美美逼| 久久国产精品一级二级三级| 天天色图| 欧美高清第一页| 色情综合网| 99re99在线视频| 久热婷婷| 91色人妻| 国产免费一区| 国产熟女免费观看久久| 伦理日韩国产久久| 福利在线观看一区二区| 亚洲麻豆18发?| av无码精品久久久久| 亚热日本熟女| 999岛国大片| 日韩一级二级三级| 少妇高潮99p| 一级婬片120分钟试看| 亚洲18禁| 欧美黄色大片在线观看 | 天天综合网在线| 国产日韩精品人妻久久久久色欲网站| 免费看一级a性色生活片久久无| 热天堂一区二区| 天天看夜夜看日日干| 色欲久久99精品久久| 亚洲欧美大| 亚洲乱伦图片视频| 首页亚洲国产高跟丝袜诱惑视频| 天天综合网亚洲综合网| 五月婷婷丁香六月| 澳门黄片一香蕉视频| 欧美熟女妇同| 国产版a级片直播在线| 超碰在线日韩一区| 熟妇熟女一区二三区| 国产在线观看一区二区三区| 妇女视频网站| 人人操AV| 91视频伊人| 综合情欲网| 激情五月激情综合网| 亚洲不卡三级手机播放| 黄色十八禁| 亚洲宅男天堂| 91精品91久久久中77777| 久久久久久九九九| 热的中文 热的有码 热的国产| 东京热视频网| 久热精品在线| 亚洲限制级| 岛国片在线观看视频亚洲| 婷婷色色五月天福利| 在线 欧美 亚洲| 九九无码久久精品视频| 成人片在线播放| 免费观看日本操逼视频| 四虎影视国产精品| 好屌色综合| 91大胆欧美| 亚洲色图日韩精品| 在线看的av| 成人国产二区三区在线,男女精品。| 成人网址在线观看| 亚殴在线| **一级毛片国产| 国产丝袜欧美在线视频| 欧美日韩中文字幕人妻| 日本不卡在线二区三区| 天天爽入口| 蜜臀久久99精品久久久久免费观| 极品欧美一区二区三区| 边做饭边操逼逼| 高清无码91| silk lablo在线观看一区二区| 黑人精品一区二区在线播放| 久久久久久999| 久久是精品| 欧洲射精91| 夜夜肏2021| 99操逼| 最好看的中文字幕在线2018| 操操操五月天婷婷丁香影院| 极品销魂美女一区二区 | 91色碰| 丁香九月激情| 色婷婷电影网| 熟妇熟女一区二三区| 九九九九九九九精品视频| av强奸乱轮| 中文字幕在线免费观看2| 韩日欧亚a级| 超碰久草| 91精品丝袜久久久久久| 男人天堂网址| 在线观看一级α片刺激高潮视频| 99999这里都精品| 狠色婷婷久久一区二区三区_| www超碰| 欧美性天天影视| 久久久九97| 亚洲人成色9999精品久久 | 国产午夜视频| 伊人网在线点播| 久久精品国产亚洲粉嫩| 欧美在线啊啊| 先锋激情∨在线视频播放| 国产精品久久久久无码Av网曝门| 蜜臀网址在线| 后入式免费视频| 国产v亚洲v日韩v欧美v片另类| 亚洲综合校园春色| 熟妇人妻精品一区二区| 探花视频免费观看国产专区| 综合激情二| 日韩人妻有码免费视频| JULIA一区二区三区在线播放| 黄色免费网| 超碰成人公开| 天天插天天射| 啊啊啊啊二区好大| 久久久久久99999国产精品| 另类欧美综合| 亚欧免费| 久久激情网| 人妻密肉在线观看| 国产一区二区在线电影| 亚洲男人的天堂va亚洲男人社| 大胆91| 欧美老熟另类| 久久久久久无码人妻中文字幕| 在线视频一区二区传媒| 青青草字幕AV| 九九九色| 日韩精品一区二区三区色欲 | 长长久久曰曰夜夜成人网| 久久9久9久99久9久9| 天堂涩涩| 三级日韩一区二区三区| 久热这里| 日本最新1区2区3区| 九九九九九九九九九国产精品| q2午夜理论片夜色av| 久久一二三四| 97精品国产97久久久久久户外免费| 丁香六月啪| 亚州综合电影| 欧美性91| 国产乱伦性爱AV| 一区二区三区蜜桃成人撸久久东京热 | 日本视频在线观看污污污| 色爱综合网| 亚洲综合骚逼| 偷拍精品一区二区三区| 9久久精品| AV色图| 国产精品高潮呻吟av久久4虎| 成人五月天丁香激情综合| 亚洲黄色网址视频| av麻豆啪啪| 久久神马| 江都AV在线| 欧美偷拍| 日韩人妻精品久久久久| 啊啊在线| 任你爽视频| 欧美97av| 涩五月婷婷| 日韩综合第八区国产精品| 亚洲伊人a线观看视频| 欧美一区二区三区大综合| 欧美色97| 婷婷操逼| 国产丝袜啪啪| 国产热RE99久久6国产精品首| 久久99操天天日| 亚洲欧美日韩激情不卡| 久久日韩毛| 97久久国产| 激情久久久| 婷婷丁香人妻| av中文在线| 久久成人东京热人妻| 国产精选三级在线观看| 97操综合| 9久久精品| 凌辱美少妇久久aV| 欧美午夜精品久久久久久3D| 精品熟女呻吟久久91| 国产成人亚洲精品自产在线| 黄色视频高清无码网站| 大香蕉欧美国产日韩高潮| 老司机天天操| 中文日韩欧美熟| 在线国产一区二区av| 亚洲色天堂九9| 丁香五月婷婷基地| 国产无马在线| 天天爱综合网| 伊人亚洲国产一成人久久精品,久久| 麻豆AV一区二区| 精品国产三级av韩国在线| 日本一二区免费| 久久欲| 欲香欲色天天天综合和网| 中文字幕乱在线伦视频中文字幕乱码在线 | 欧美一区二区三区不卡高清视频| 在线观看国产黄色| 绯色一区二区三区不卡少妇| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美日本一区二区a人| 女同性恋中文字幕| 好爽,再快点啊哈嗯嗯嗯嗯| 国产亚洲日韩欧| 亚欧美综合网。| 六月天婷婷| 亚洲日韩在线a不卡99精品| 亚洲一区制服诱惑| 91ise欧美| 熟妇熟女亚洲天堂网| 中文字幕青青草| 久久久草成人网站久久久草成人久久久草久久久 | 亚洲人码13| 亚州国产精品乱| 亚洲色系另类精品国产| 99福利社| 天天爽夜夜欢视| JULIA一区二区三区在线播放| 亚洲限制级| 最近的最新的中文字幕视频| 五码视频在线观看| 国产久久天堂资源| 四虎在线免费视频| 加勒比在线视频| 亚洲制服欧美另类内射| 草莓精品视频在线免费观看| av毛片aaaaa免费看| 中日992视频| 欧美78| 精品人妻二区三区| 校园春色之综合网| 在线 制服丝袜中出 人妻| 成人aⅴ一区二区三区| 日本一区二区中文字幕久久| 日逼97| 日韩三级性| 色大师网站www永久网站视频| 午夜精品久久久| 欧美精品亚洲精品日韩传电影| www国产天美久久久| 久久男人天堂| 91第一页| 亚洲超碰97| 精品无码少妇| 丁香九月婷婷| 亚洲?V高清一区二区三区尤物| 蜜桃精品一区二区三区ww| 99操碰| 成人综合久久精品色婷婷| 国产91精品福利在线| 欧美偷拍区| 欧美一区二区三区互相| 日韩精品在线放| 丰满人妻一区二区三区| 国产99热| 热99这里有精品综合久久| 91人妻人人澡人人爽人人精品| 97视频观看| 欧美日不卡| 久久久久久亚洲精品不卡人乳 | 久久精品小视频| 97人人模人人爽人人| 免费黄色A片| 日本理论在线| 国产亚洲精品自在线亚洲情侣| 91av熟女人妻| www..com操老师| h无码动漫在线观看| 精品亚洲国产成人精品| 乱论91| 日本高清一区二区在线| 久久色情| 国产乱婷婷精品二区三区| 中文字幕日产av人| 香港日本韩国人妇99www.wccm20| 搡老女人老妇女老妇老熟女怎么读| 国产精品久久久久亚洲av| 国产精品一区二区在钱播放| 99色悠悠| 1024午夜激情男人的天堂| 色97国产69香蕉| 无码粉嫩白虎一线天b区| 操一操摸一摸| 精品偷拍13p欧美dodk视频| 国产九九九九九九九九| 日韩乱码Av| 天天干天天日天天射黄色片| 久久伊人东京热| 91天天看| 日本污ww视频网站| 插老姨肥穴| 久久久男人的天堂| 中国熟妇| 亚洲日韩精品一区视频在线| 99热精品在线| 九九九影院| 好吊色青靑草| 亚洲各类熟们中文字幕| 中文乱码99| 日本天堂在线播放| 综合亚洲欧美精品日韩?v| 日操粉逼逼| 欧日韩不卡视.频| 97碰碰日本乱偷人妻中文的| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 啊啊啊啊好多水| 国产在线能看的你懂的| 9色在线| 精品国产乱码久久久兰草影视| 久久25| 91热色| 国产精品精品系列在线观看| 激情五月天社区| 天天日天天射天天干| 亚州欧美在线| 九月丁香| 久久噜噜噜精品国产亚洲综合| 国产精品一二三| 五月婷婷六月丁香网址| 69综合网| 97精品网| 97人肏| 亚洲高清欧美总合| 无码日韩网站| 97国产精品久久久久| 豆花视频操逼网址| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 亚洲无码国产精品久久| 野狼激情网| 欧美在线第五页| 国产精品一区午夜福利| 欧美色图偷拍另类| 久久狠狠色噜噜狠狠狠狠97| 婷婷久久综合| 精品v日韩欧美国产| 国语人妻精彩刺激| 色与欲影视| a久久| 中文区中文字幕免费看| 久久婷五月| 超碰97日韩| 久久精品性| 亚洲做性| 色色色热| av天堂电影网| 伊人久久国产免费观看视频| 家庭乱伦国产精品| 女生自91网站| 久久久久久国产手机AV| 麻豆人妻偷人精品无码视频| 久久精品中文字幕无码l| 国产精品久久久久久久久久久久久久久 | 亚洲欧美另类小说| 香蕉一区二区三区在线视频| 狠狠婷婷亚洲中文综合久久| 白丝AV网站| 国产日韩精品无码去免费专区国产| 国产操偷| 欧美日韩狠狠爱| 99精品在线观看| 欧美96在线|欧| 67914亚洲精品| 草草电影院| 97香蕉人人乳| 久久99人妖视频国产| 亚洲图片欧美偷拍| 久草成人福利导航| 久操操AV电影| 91操熟妇| 粘花网06av视频| www.91理论| 91美女视频。| 超碰97男人| 久久精品中文字幕无码l| 超碰九九| 热久久九九热| 国产激情在线| 69av一区二区三区| 97视频在线观看网站| 五月婷婷丁香六月| 草草影院最新网址| 9丨久久九九九| 国产九区| 97在线免费看| 欧日a| 精品人妻一二三| 伦理日韩国产久久| 伊人久日| 人人操 欧美| 婷婷综合五月天| 欧美亚洲日本视频久久久| 亚洲精品97p| 国产极品999| 秋霞曰韩R级| 色综合国产在线观看| 999 久久久| 夂久色| 国产一区二区三区视频在线看| 国产做?爰片久久毛片?片美国| 亚洲视频,小说| 久久草在线综合视频| 在线日韩精品一区二区三区| 在线情色电影 91大| 最新加勒比丝袜在线| 中文字幕成人理论在线| 91大神精品长腿在线观看网站| xxx亚洲午夜天堂| 蜜乳AV一区二区三区四| 免费的黄片有限公司| 丝袜足交视频| 久久久无码精品人妻二区 | 狠狠色综合网| 无遮挡猛进视频免费无限观看| 十八禁电影伊人网| 久久久久久久久久久久久久久乱码 | 久久亚洲av成人无码国产| 美美91成人国产精品欧美精品久久久久久久 | 91蜜臀熟女| 一区不卡在线观看av| 女人综合网| 玖玖无码超碰| 青青草一区二区三区四| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美亚洲在线| 婷婷激情五月综合| 欧美天天综合站| 国产盗摄美女如厕大神作品在线观看| 人人做,人人操,人人摸| 亚洲资源一区| 大鸡巴久久| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 欧美碰碰综合色| 欧美激情一| 久久久免费视频18| 亚洲AV不卡在线观看| 日产成人久久| 亚洲情色综合网| 欧美激色| 日本三级韩国三级美三级91| 超碰无码五月97| 9ⅰ久久久天天| 日本不卡一区二区三区| 国产精品国产精品国产| 精品久| 最新日本中文字幕| 亚洲AV成人无码一二三久久| 国产最新小视频在线播放下载| 中文字幕精品三级久久久| 日韩精品人妻中文字有码在线| 五月天伊人| av优播| 欧美少妇第一页| 婷婷伊人一区| 2019午夜福利视频| 快播电影网日韩新片| 欲香欲色综合天天伊人| 欧美91在线| 久久久久久人妻一区精品色欧美| 国产精品操| 被男人吃奶很爽的毛片| 日本丝袜人妻内射| 久99热| 欧美成人精品一区二区三区| 熟女网站最新| 亚洲乱熟女一区二区| 色五月av| 尤物黄色在线观看网站| 成人av动漫在线观看| 人妻加勒比东京热| 亚洲色香| 欧综合网| 九九久久一区二区伦理| 激情五月综合| 九九热精彩视频| 欧美色图20P| 欧美不卡在线一区二区| 亚洲欧美经典一区二区| 欧色综合| 99999亚洲| 亚洲欧美综合区自拍另类| 九九色逼| 日本九九久久99| 校园春色五月天| 欧美另类综合久久| 91九久| 欧美亚洲清纯| 亚洲天堂中文字| 亚洲中文字幕噜噜噜久久久| 色偷综合| 国产第12页| 女同在线视频一区| 97在线欧| 国产熟女完整版中字| 天天狠| 久久风骚城市| 韩国成人精品久久久免费看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久岛国| 国产欧美亚洲精品a第2页| 日本午夜福利视频| 久久色精品视频在线| 亚洲欧美国产成人综合不卡| 偷拍在线观看视频| 国产偷拍网站| 久久婷婷五月天| 97国产中文| 美女一区二区国产精品| 精品999日本| 69av一区二区三区| 人妻天天爽夜夜爽爽| 男人天堂新在线| 91GD.COM| 久久久久久十| 色婷婷在线视频| 午夜亚洲| 久久婷婷五月| 另类欧美色| 丁香五月影院| 五十路三区在线| 五月天激情婷婷| 99久草| 99爱在线视频| 国产路线专区| 欧美熟妇视频| 在线人成亚洲视频免费观看| 日韩AV中文字幕电影| 黄片视频观看| 性老妇一区二区三区| 久久精品午夜国产亚洲AV无码| 人妻人人做人人澡人人爽欧美一区| 久久精品国产亚洲AV片多多| 嗯嗯啊啊的视频| 尤物一级在线免费观看| 男人成人黄色视频在线观看免费下载| 五十路熟女人妻一区二区在线观看| 久久精品 六十路 熟女 欧美| 久久一级无码精品毛片6| 日韩中文9| 亚洲欧美国产成人综合不卡| 天天综合,91入口| 色综合五月天| 亚洲麻豆av一区二区| 久久只有精品一区二区三区| 啪啪啪东京| 欧美青青草视频| 在线不卡视频| 加勒比伊人| 欧美少妇内射| 国产欧美日韩精品中文| 99热这里都是精品| 亚洲精品丝袜| 黄色视频特级毛片| 999精品乱码| 有码人妻系列| 久久精品国产72国产精品福利| 少妇500双飞99| 国产AV无码AV| 日本韩国五十路六十路七十路老熟女作爱视频网站| 大香蕉碰| 国产浮力影院第1页| 春色综合网| 97超碰巨乳| 丁香婷婷大香蕉| 日韩黄片影院| 漂亮人妻被强中文字幕hd| 亚洲免费精品一区| 国语av最新自产拍在线观看| 欧美天天| 精品国产乱码久久久影院| 青青青操| 9久久精品| 大香蕉黄色一级片免费看| 国产精品乱码久久久久久久久| 热99这里只有精品| 日韩欧美福利视频看看| 中文字幕精品三级久久久| 毛片17S| 亚洲成人综合在线| 夜夜天天噜狠狠爱2021| 国产强奸乱伦第1页| 国产外初女出血视频| 蜜桃臀 后入 一区 二区 三区 在线| 超碰久超碰久| 久久一区二区加油站| 亚洲不卡不卡中文字幕不卡| 9999免费精彩视频| 在线播放一级无码视频| 97欧美超碰| 高清无码学生妹高潮| 久久久久久久久久久999| 五月天丁香网| 欧美日韩性爱操大逼| 国产v片在线免费观看| 丰满人妻一区二区三区免费| 91网站在线播放| 欧美中文狠| 国产传媒1234区| 婷婷色一区| 大香樵伊人网| 99综合网| 99啪啪| 国产激情片在线观看| 欧美性爱1080p| 91人妻精华帖| 欧美日韩色综合网| 26uuu欧美日韩| 内射老妇BBWX0C0CK| 日本精品999| 97干97色| 久久久久亚洲Av无码专区老牛影视| 熟妇精品juliaannAV| 亚洲熟妇乱女区二区三区| 亚洲五月丁香花狠狠干一区二区三区 | 欧美激情区| 人妻第一页| 骚货操死你| 亚洲色图欧美色图在线播放| 久久9精品网站| 精品视频久久区| 玖玖超碰熟| 欧美图片校园春色| 四虎AV在线播放| 久操国产在线| 欧美激情久操网| A级片日韩欧美国产欧美视频精选观看| 亚洲drav色图| 精品人妻伦一区二区三区久久| 亚洲性爱高潮影院| 日本久久久久久久久| 国产精品天美传媒| 精品久久久av| 四虎免费看黄| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 日本天堂网| 国产60区。| 中文字幕第23区| 很狠操| 欧美一区二区三熟女剧情| 91中出在线| 国产60页| 国产精品女生av| 青娱乐日韩无码| 亚洲国产精品乱码在线观看| 色九月综合| 天天操天天日青青草超碰av| AV中文字幕三四五| 日本操逼视频免费| 18禁精品网站在线看| a在线视频免费观看| 96AV精品| 内射中国少妇高清视频免费视频 | 最新国内自拍av免费| 乱伦一区二区三区‘| 久久鲁干| 久久久久精| 国产视频小说| 蜜桃久久一区二区| 丰满人妻一区二区三区四区| 丝袜大香蕉| 自拍视频大全亚洲专媒视频/一区二区三区 | 九九热在线精品视频| 东北黄色电影| h色99999| 一区二区三| 99精品视频在线观看免费| 亚洲天堂区| 亚洲色图伊人网| 亚洲欧美情色| 蜜臀操逼黄色视频操的好爽| 少妇国产不卡| 欧美韩日精品99综合| 欧美一级黄色免费专区| 亚洲精品成人| 欧洲精品欧洲精品| 粉嫩av平台| 色优久久| 色天使AV天堂| 国产毛片久久久久久久| 人妻熟女午夜精品在线| 天天日美女的B| 亚洲国产另类在线中文| 激情五月综合| 黄色av播放免不| 老子午夜伦不卡影院| 99热只有| 日韩91网| 亚洲一区二区三区AV无码| 人人综合| 97干在线| 成人资源中文字幕在线观看天天| 久久精品国产精品亚洲艾通辽熟妇 | 日韩av不卡在线看| 国产四虎在线| 91天天综合日韩欧美| 免费簧片在线观看| 2017大香蕉国产精品久久| 日本精品999| 屌逼传媒| 色臀AV| 天天天天干| 9精品久久久久| 999岛国大片| 99热日| 日本色色色色色视频| 男人网站婷婷| 亚洲中文字幕久久人妻| 亚洲色性情三级| 日本高清免费一本视频在线观看| 精品人体无圣光凹凸| 天天综合欧美综合| 欧美国产日韩清纯唯美| 精品久久艹| 久久久久国产精品喷潮免费观看臀| 五月激情视频| 青青草大香蕉视频| 激情看片网站| 99色热| 一区二区偷拍拍视频| 97se亚洲综合自| 天天综合色电影| 九九九久久久| 色眯眯射| 插穴性爱视频在线观看| 精品国产久久乱码| 51一区二区三区| 另类图片五月天| 五月丁香综合网| 九九九九热| 白丝AV网站| 精品一区二区成人| 国产日韩中文字幕欧美| 五月天色色网站| 欧美综合另类| 男人的天堂欧美| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 青青草啪啪网| 乱伦av麻豆| 锕锕好爽 死我在线观看| 激情看片网站| 日本熟妇浓毛hdsex| 啊啊啊不要好爽日韩无码一区| 中文字幕一二三| 欧美亚洲丝袜美女电影| 大黄片做爱的大的| 伊人网在线点播| 很很干很很操| 午夜超爽| 久久久偷拍| 啊啊啊好舒服好爽啊啊啊视频| 久艹日日日| 久久久久久波多野吉衣高潮| 国产a级午夜毛片| 老熟女网站| 欧美国产有色电影| 99综合网| 国产一区免费午夜视频| 国产精品午夜福利| 在线天堂999| 国产浮力影院第1页| 78m啪啪啪| 韩国三级三级BD在线| 中文字幕 国产区| 日本乱人伦片中文三区| 国产自啪精品视频网站黑丝| 国产青一二三| 国产精品亚洲一区二区三区四区| 91麻豆天美国产| 五月天黄色激情视频| 3PAV乱伦视频| 少妇高潮九九九九九九九| 96AV久久久| 久久婷婷色| 熟女五十路一区二区三| 久这精品中文在线观看视频| 久久视频少妇美女| 啊a一区在线| 亚洲乱熟女一区二区三区大香蕉| 久草线上视频免费看| 不卡超碰护士AV在线免费播放| 夫妻天天操岛国视频| 青操影院| 欧美中文字幕男人天堂久久精品| 免费观看成人www精品视频| 蜜桃臀久久| 97精品久久久久中文字幕| 超AV色女| 五月丁香亭亭| 亚洲欧美日韩综合在线尤物 | 午夜理论片在线观看免费| 国产无码精品久久久久久| 78精品在线| 日韩大香蕉精品在线视频| 久久婷婷在线观看视频| 日韩精品一二三四| 性爱综合网| 激情五月天丁香社区| 秋霞久久亚洲精品成人| 日日操免费视频| 久久大黄片| 久操免费在线| 亚洲一区二区三区婷婷| 加勒比综合在线| 欧美色图自拍| 小电影欧美91| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 日本九九九九| 黄片在线免费在线观看| 欧美人妻一区| 日韩欧美俄罗斯A片| www.大香| 成人免费福利网站国产| 人人妻人射| 国产精品宅男免费| 欧美操逼熟女| 亚洲最大AV网| 九九性爱网| 色色五月天激情| 天天综合色| 爱爱动态120秒| 九九久久首页| 亚州色站 日韩电影| 18岁禁 茉莉成人久久| 中国小夫妻勾搭露脸淫荡对白| 探花激情视频| 九九人人操| julia高潮后不停追击中出| AV中文在线可看| 久久久999日本大片| 天天操女人| 亚洲欧美setu| 日韩色图 一区二区| 九九九九九九综合| 青青草好吊色| 国产丝袜欧美在线视频| 黄色AAAAA欧美| 色综合尤物| 欧美第一页性| 日日夜夜草草草| 日韩专区久久久| 97免费视频在线| 强被迫伦姧在线观看无码网站| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 91网站在线播放| 国内毛片四区| 2021国产成人精品久久| 免费少妇一区二区| 免费在线观看国内色片网站网址| 中文字幕一区二区三区字幕| ..日韩av毛片精品久久久| 91干熟女| 欧美性区| 91在线国产后入风骚翘臀美女素人| 欧美日韩国产电影| 亚洲双插| 操逼操2| 一级A片女人高潮叫床| 校园春色 男人天堂| 精品美女少妇一区二区三区| 夜夜国自区| 乱伦一二三区| 五月激情在线| 欧美暴力猛交| 啊啊啊爽爽| 欧美一级国产一级| 国产欧美日韩女同性恋ww喷水精品 | 97日亚洲欧美| 国产成人综合在线播放| 91美女丝袜诱惑视频| 少妇同性| 欧美色干| 免费中文在线| 2019AV天堂| 亚洲综合在线第一页| 久久一区二区高清免费| 久久久久久久 九九九九九九九| 嗯啊啊啊轻点视频 | 人妻蜜桃臀| 欧洲欧美视频一区二区| 欧美性爱五月天| 日本女人操逼| 欧美最婬乱婬爆婬性视频| 久久熟女嫩草成人片免费 | 天天综合97| 天天躁日日躁XXXXYY| 操人妻丝袜高跟| 国产精品乱码久久久久久久久| 春色91| 99性爱在线观看| 欧美 传媒 麻豆 日韩 偷拍| 九九九九九九九九九国产精品 | 日本人妻最新在线中| 深夜国产一区二区三区在线看| 丰满人妻av一区二区三区| 人妻大相焦在线| 1769成人国产精品视频| 婷婷成人五月天| 一本大道久| HEYZO高无码国产精品227| 亚洲淫色网中文| 久久性生大片免费观看性| 99色视频| 久久丝袜| 99操| 国产成人五月天丁香花| www.超碰在线| 99超碰网| 91超级碰| 新91视频.cmp| 超碰在线成人| 中文区中文字幕免费看| 操逼日韩无码 | 人妻社区男人天堂| 国产精品久久久久久久无码AV| yellow网站免费观看日韩高清无码| 2024人人操人人摸| 久久一二三四五六七八九区| 亚洲AV无码国产精品久久久久| 黄色AV影视| 欧美 亚洲 第一页| 欧美日韩情色一区二区| 日日摸天天爽夜夜欢| 花野真衣| 秋霞操逼片| 麻豆福利视频导航| 精品综合久久久久久五月天| AV天堂丝袜| 免费人成毛片乱码| 婷婷激情一区二区三区俺也去| 风月影院男女十八禁| 亚洲精品第一| 久久久三区二区一区| 综合色色婷婷| 国内一区二区免费| 91色黑人少妇| 国产高清无码一区三区二区| 性交一区二区在线播放| 人人操人人大香蕉| 91精品操美女| 久久久久久午夜男人的天堂| 亚洲开心网| 亚洲大色堂| 人人摸人人干人人拍97| 欧美日韩人妻精品系列一区二区三区| 亚洲精品乱码线路中文字幕| 久久大精品乱码视频人妻熟女| 啊啊啊爽爽| 男人的天堂在线2| 日本免费专区| 91蜜臀人妻中文字幕在线| 91男女啊啊啊| 久久国产乱子伦精品免费女人| 国产suv精品一区二区四区999| 东京热伊久| 嗯啊免费视频| 蜜桃视频成a人v在线| 色婷婷一区二区三区久久午夜成人不| 美国精品国产精品| 精品少妇一区二区三区| 高清不卡一二三区视频......| 人人妻人人爽| 亚洲欧洲色情高清| 欧美人人AAA| 亚洲码在线中文在线观看| 色香91| 亚洲s在线观看| 欧美成人黄网色网站| 亚洲色图综合| 黑人粗大V S日韩女优视频| 久无码| 久精品无码av一区二免费国产在线观看| 新视频sss国产| 婷婷五月天av| 亚洲AV秘 精品久久老牛影视| 伊人久久大香线综合无码| 久久亚洲婷婷| 欧美日韩国产三级黄色| 九九热精品视频六| 97超碰日韩| 日本熟妇色熟妇在线视频播放| 精品人妻一区二区三区在线视频不卡| 国产超碰人人爽人人做| 毛片久久| 日韩精品啪啪啪| 精品国产国产AV| 美女露胸露屁股| 亚洲色诱惑| 亚洲av综合色区无码一| 欧美巨大性舒爽顶到了| 嗯嗯啊啊啊好爽| ai欧美亚洲小说| 久久久99久9| 丁香五月激情五月| 亚洲超碰AV| 免费一级特黄特色大片在线观看看 | 91中文字幕在线观看| 91伊人大香蕉| 亚洲国产欧美日韩人妻日中文| 操b在线观看| 久久精品熟妇丰满人妻99| 91天堂丝袜美腿| 日韩中文字幕精品一二三事国产精品| 久久综合激情| 亚洲AV无码黄色强奸| 密乳AV免费观看| 无码免费在线观看黄色片| 九九综合九九综合| 天天操妹子| 精品少妇一区二区| 九久久精品| 国产suv精品一区二六| 亚洲熟妇综合久久久久久| 91爰爱欧美| 欧美成人综合| 无码男人天堂| 欧美91久久久久| 亚洲的天堂网| 久久人妻少妇| 精品女同一区| 久肏视频字幕| 亚洲丨在线| 72av视频| 久久久日本电影| 久久啊啊| 男人天堂电影院| www国产无码| 一级性爱视频免费观看| 极品欧美一区二区三区| 久久透逼视频| 欧美亚洲一级在线观看| 日本操色导航| 国产懂色精品国产av| 日韩无码专区| 成人夜夜爽| 啊啊啊啊啊在线视频| 热久日综合| 久久精品成人一区二区三区蜜臀|