日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

C1083報(bào)錯(cuò)修復(fù):msinttypes補(bǔ)齊stdint.h,跨平臺編譯不再卡殼

C1083報(bào)錯(cuò)修復(fù):msinttypes補(bǔ)齊stdint.h,跨平臺編譯不再卡殼 簡介在 Visual Studio 系列編譯器中缺少 C99 標(biāo)準(zhǔn)頭文件 stdint.h 與 inttypes.h 會觸發(fā) fatal error C1083: 無法打開包括文件根本原因是 VC 對 C99 標(biāo)準(zhǔn)支持不完整。這份修復(fù)包專門針對該報(bào)錯(cuò)整理面向使用 VS2008 或其他老版本 VC 進(jìn)行 C/C 項(xiàng)目開發(fā)、需要引入標(biāo)準(zhǔn)整數(shù)類型定義的程序員。包內(nèi)共 3 個(gè)文件包括兩個(gè)頭文件與一個(gè)更新日志文本頭文件提供了 int8_t、uint32_t 等標(biāo)準(zhǔn)整數(shù)類型的聲明與平臺兼容定義日志則記錄了版本變更信息整體僅 17KB只包含修復(fù)所需的全部內(nèi)容足以直接解決該編譯錯(cuò)誤且不需要額外依賴。資源已有 333 人學(xué)習(xí)下載體積小巧、針對性強(qiáng)適合在編譯報(bào)錯(cuò)時(shí)快速定位解決對時(shí)間緊張的項(xiàng)目排障尤其友好。通過該包不僅能獲得可直接復(fù)用的缺失頭文件還能了解舊版 Windows SDK/VC 在 C99 支持上的限制與補(bǔ)全思路對維護(hù)老項(xiàng)目或跨平臺代碼有實(shí)用參考價(jià)值。1. 從C1083報(bào)錯(cuò)說起這個(gè)資源到底是干什么的兩年前我接手一個(gè)跨平臺網(wǎng)絡(luò)庫的移植代碼在Linux上跑得好好的一挪到Windows上編譯控制臺直接蹦出一行刺眼的fatal error C1083: stdint.h。當(dāng)時(shí)第一反應(yīng)是“缺頭文件裝個(gè)SDK就行”折騰半天發(fā)現(xiàn)根本不是那回事——老版本的MSVC壓根沒實(shí)現(xiàn)C99的stdint.h而代碼里到處是uint32_t、int64_t。后來從某嵌入式論壇看到msinttypes-r26這個(gè)補(bǔ)丁包解壓后把路徑一配置編譯直接通過。這份資源本質(zhì)上是一個(gè)頭文件包專門幫老編譯器補(bǔ)上標(biāo)準(zhǔn)整數(shù)類型頭文件解決的就是“C1083且錯(cuò)誤指向stdint.h”這類問題。適合所有在Windows上編譯開源代碼、做跨平臺移植、或者維護(hù)老舊C/C工程的開發(fā)者。2. stdint.h為何會在Windows上缺席C標(biāo)準(zhǔn)與編譯器的差距2.1 MSVC對C99支持的緩慢歷史C語言標(biāo)準(zhǔn)在1999年就提出了stdint.h和inttypes.h里面定義了帶固定寬度的整數(shù)類型比如int32_t、uint64_t還有格式化宏P(guān)RId64。這套頭文件在Linux、macOS、各種嵌入式編譯器里早就普及了但Windows平臺上的老牌C編譯器一直停留在C89/C90的舒適區(qū)對C99特性的支持能拖就拖。直到VS2010那一代才真正內(nèi)置了stdint.h之前的版本全都需要外部補(bǔ)丁。即使到了VS2010之后部分變體仍然在“有”和“沒有”之間反復(fù)橫跳讓人頭疼。為什么老牌編譯器這么抗拒C99常見理由是ABI兼容性和歷史代碼的穩(wěn)定性。Windows上有大量老程序依賴long類型32位、int類型32位的默認(rèn)行為如果按照C99的嚴(yán)格定義引入stdint.h可能會讓一些隱式類型轉(zhuǎn)換出現(xiàn)警告甚至錯(cuò)誤。再加上Windows自己的SDK頭文件里也定義了一套類似的類型比如INT32、UINT64沖突風(fēng)險(xiǎn)極高。所以廠商選擇了“不主動實(shí)現(xiàn)”讓開發(fā)者自己去想辦法。msinttypes就是這個(gè)場景下的產(chǎn)物。它最初是某個(gè)開源愛好者為了解決自家嵌入式項(xiàng)目的編譯問題而寫的后來不斷修復(fù)邊界情況r26版本就是其中的一個(gè)穩(wěn)定提交。它不編譯、不鏈接就是兩個(gè)頭文件加幾個(gè)輔助文件把C99標(biāo)準(zhǔn)里定義的類型和宏原樣翻譯成老編譯器能識別的typedef和#define。用上之后源碼里就不用再到處寫“#ifdef WIN32 typedef ...”這種丑陋的兼容層了。實(shí)際使用中你會發(fā)現(xiàn)很多開源項(xiàng)目在Windows上編譯失敗很大比例都是栽在stdint.h上。比如某個(gè)用C語言寫的物聯(lián)網(wǎng)協(xié)議棧內(nèi)部大量使用了uint16_t來解析報(bào)文在Linux上編譯順暢一拿到Windows上就報(bào)C1083新手往往會誤判成“SDK沒裝好”反復(fù)重裝環(huán)境最后發(fā)現(xiàn)只是缺一個(gè)頭文件。這種血淚經(jīng)驗(yàn)經(jīng)歷過一次就能記住。2.2 stdint.h在跨平臺代碼里的實(shí)際價(jià)值先來看為什么跨平臺代碼離不開stdint.h。C標(biāo)準(zhǔn)只保證了char、int、long這些基礎(chǔ)類型的最小范圍并沒有承諾它們在每個(gè)平臺上的位寬。在主流平臺上int通常是32位long在Linux 64位下是64位但在Windows 64位下仍然是32位。這意味著同樣的代碼在Linux上運(yùn)行正常換到Windows上就可能出現(xiàn)結(jié)構(gòu)體大小不對、序列化格式錯(cuò)亂、位運(yùn)算結(jié)果異常等玄學(xué)問題。stdint.h提供了三組東西固定寬度整數(shù)類型intN_t/uintN_t、最小/最快寬度類型int_leastN_t、int_fastN_t、以及一些輔助宏INT_MAX、PRId64等。使用這些類型程序的行為就不會跟隨平臺自動漂移。比如定義一個(gè)網(wǎng)絡(luò)包頭結(jié)構(gòu)體用uint32_t字段替代unsigned int就能確保它在所有編譯環(huán)境下都是4字節(jié)而不是有的平臺4字節(jié)、有的平臺8字節(jié)。還有一點(diǎn)容易被忽略intptr_t和uintptr_t是用來保存指針值的整數(shù)類型。在32位程序里它是32位在64位程序里它是64位。如果你在做哈希或者把指針當(dāng)作數(shù)值運(yùn)算這個(gè)類型就是標(biāo)準(zhǔn)答案。在老編譯器上這些類型全都要靠自己typedefmsinttypes一次性幫你補(bǔ)齊。2.3 三種替代方案對比面對缺少stdint.h的編譯器你其實(shí)有三條路可以走。我根據(jù)自己的維護(hù)經(jīng)驗(yàn)列一張對比表方案優(yōu)點(diǎn)缺點(diǎn)適用場景自己寫一個(gè)自定義stdint.h完全可控?zé)o外部依賴容易寫錯(cuò)類型寬度需要維護(hù)只有一個(gè)臨時(shí)工程代碼量極小用msinttypes補(bǔ)齊標(biāo)準(zhǔn)實(shí)現(xiàn)直接可用社區(qū)驗(yàn)證過需要額外引入文件不能自動更新絕大多數(shù)跨平臺移植和開源代碼編譯升級編譯器或換用其他工具鏈治本后續(xù)無需擔(dān)心C99特性可能牽動老項(xiàng)目ABI成本高新項(xiàng)目或允許改動編譯環(huán)境的場景我一般會推薦第二種。原因很簡單自己寫stdint.h你得考慮32位/64位、要不要兼容無符號、還要定義各種宏細(xì)節(jié)多到容易翻車。而且一旦有多個(gè)源碼目錄每個(gè)工程都塞一份自定義頭文件維護(hù)起來就是噩夢。msinttypes經(jīng)過多年修補(bǔ)對老編譯器的兼容性做得比較完善r26這個(gè)版本我用了幾年沒出過岔子。選擇它還有一個(gè)隱性好處源碼不用再寫一堆“#ifdef _MSC_VER”繞道代碼了。整個(gè)工程在一個(gè)統(tǒng)一的頭文件視角下編譯后續(xù)如果想切換到新編譯器直接把msinttypes從包含路徑里移除就行代碼不需要?jiǎng)?。這種“后悔藥”的效果經(jīng)歷過老工程現(xiàn)代化改造的人都懂。再說說和標(biāo)準(zhǔn)C語言的對應(yīng)關(guān)系。stdint.h還定義了一組寬度宏比如INT8_C、INT16_MAX這些在初始化常量時(shí)非常有用。例如你想定義一個(gè)恰好等于INT32_MAX的宏常量直接寫#define LIMIT INT32_C(2147483647)比起手動算0x7FFFFFFF更清晰。msinttypes里也完整實(shí)現(xiàn)了這些宏而且針對老編譯器可能不支持的部分做了變通。如果你之前只關(guān)注了類型定義忽略了這些宏那在寫可移植代碼時(shí)可能會踩坑。另外inttypes.h里還有strtoimax、strtoumax等函數(shù)聲明以及printf格式宏P(guān)RId32、PRIu64。在Windows上用printf打印長整型常用的做法是%I64d但這些是非標(biāo)準(zhǔn)擴(kuò)展。用了inttypes.h就可以寫PRId64代碼在Linux和Windows上都能編譯不用再為格式化字符串傷腦筋。這個(gè)細(xì)節(jié)在移植串口調(diào)試代碼時(shí)尤其常見。3. msinttypes-r26上手三步配好編譯器包含路徑3.1 解壓看結(jié)構(gòu)里面到底有什么下載下來的壓縮包體積很小解壓后一多半是說明文檔和測試代碼真正核心的文件只有兩個(gè)stdint.h和inttypes.h。我以r26版本為例列出常用的文件清單文件作用stdint.h定義全部整數(shù)類型和大小限制宏inttypes.h定義格式化宏和轉(zhuǎn)換函數(shù)聲明LICENSEBSD風(fēng)格的開源許可README使用說明和版本歷史這里的文件結(jié)構(gòu)很干凈不需要額外安裝腳本。你需要做的就是把整個(gè)解壓目錄加入編譯器的頭文件搜索路徑。一個(gè)常見的做法是把該目錄復(fù)制到工程目錄下的third_party/msinttypes或者放到一個(gè)公共的依賴庫目錄里比如D:\dev\include。復(fù)制好之后建議用文本編輯器打開stdint.h確認(rèn)文件開頭包含“#ifdef _MSC_VER”之類的條件編譯代碼。msinttypes在內(nèi)部會根據(jù)_MSC_VER宏判斷編譯器版本再決定是否啟用typedef。比如在VC6這樣的老古董上它走一套完全不同的定義。如果你用較新的編譯器它也會自覺避免和系統(tǒng)自帶的stdint.h沖突。3.2 通過IDE屬性頁配置包含路徑最常見的使用方式是在Windows IDE里打開項(xiàng)目屬性進(jìn)行配置。操作路徑是項(xiàng)目右鍵-屬性-C/C-常規(guī)-附加包含目錄。點(diǎn)開編輯框手動輸入msinttypes所在的目錄路徑或者點(diǎn)旁邊的下拉按鈕選“編輯”再點(diǎn)文件夾圖標(biāo)瀏覽目錄。配置完成后記得先把語言標(biāo)準(zhǔn)設(shè)置成“未設(shè)置”或C89兼容模式否則某些IDE可能強(qiáng)行走新的頭文件搜索邏輯。這里有個(gè)容易忽略的點(diǎn)附加包含目錄的作用范圍是當(dāng)前項(xiàng)目配置不是全局的。如果你同時(shí)維護(hù)Debug和Release兩個(gè)配置并且都在用老編譯器兩邊都得添加一次。我見過有同事只改了DebugRelease還在報(bào)C1083糾結(jié)了半天最后發(fā)現(xiàn)是這條路沒走全。建議在屬性頁頂部的“配置”下拉框選擇“所有配置”一勞永逸。配置完成后清理并重新編譯整個(gè)工程。如果原來的報(bào)錯(cuò)是“未找到stdint.h”此時(shí)應(yīng)該消失。如果還報(bào)錯(cuò)看看錯(cuò)誤消息里的文件路徑是否指向了別的位置的stdint.h。這里容易中招的是項(xiàng)目里某個(gè)第三方庫也帶了一個(gè)stdint.h并且它的目錄在附加包含目錄列表里排在更前面那編譯器找到的就不是msinttypes的版本。關(guān)于這個(gè)路徑配置還有一個(gè)小技巧把msinttypes目錄放在附加包含目錄列表的最前面。這樣能保證優(yōu)先級最高避免和其他庫頭文件混戰(zhàn)。列表順序在屬性頁里可以直接上下移動值得養(yǎng)成習(xí)慣。3.3 通過命令行cl.exe直接配置不進(jìn)IDE直接用命令行編譯的情況也非常多。比如用cl.exe配合Makefile、批處理腳本或CMake。此時(shí)只需要多傳一個(gè)/I參數(shù)告訴編譯器在哪里找頭文件。cl /I D:\dev\include\msinttypes /Tc test_stdint.c這里的 /I 是附加包含目錄的短參數(shù)后緊跟目錄路徑。如果路徑有空格必須用雙引號包起來。/Tc 表示把后續(xù)文件當(dāng)作C語言源碼編譯如果想編譯C代碼改成 /Tp 或直接給.cpp擴(kuò)展名。執(zhí)行后如果沒報(bào)錯(cuò)會在同目錄下生成test_stdint.obj文件。有些項(xiàng)目用的是nmakeWindows下的make工具那就在Makefile里設(shè)置CFLAGS變量加上該路徑。示例CFLAGS /nologo /ID:\dev\include\msinttypes /W3這里 /W3 是警告級別按需調(diào)整。在Makefile里寫路徑時(shí)要注意反斜杠和引號的轉(zhuǎn)義習(xí)慣nmake對這些相對寬松但遇到空格時(shí)一定要引號閉合。如果你是在PowerShell或CMD里臨時(shí)測試不想加進(jìn)工程配置也可以直接用環(huán)境變量INCLUDE來臨時(shí)注入。命令行設(shè)置方式如下set INCLUDE%INCLUDE%;D:\dev\include\msinttypes這個(gè)命令的作用范圍是當(dāng)前控制臺窗口不會改動系統(tǒng)級配置適合快速驗(yàn)證。Windows的編譯器在查找頭文件時(shí)會先查命令行參數(shù)指定的路徑再查環(huán)境變量INCLUDE所指的路徑。所以如果你的INCLUDE已經(jīng)包含了一個(gè)有stdint.h的地方可能不生效這時(shí)需要檢查順序。3.4 集成到CMake工程用CMake組織的跨平臺工程配置msinttypes比手動改項(xiàng)目屬性要優(yōu)雅得多。你不需要碰IDE的界面只要在CMakeLists.txt里加上一行include_directoriesinclude_directories(${PROJECT_SOURCE_DIR}/third_party/msinttypes)這行代碼把msinttypes目錄加入所有編譯目標(biāo)的頭文件搜索路徑。需要確保該目錄實(shí)際存在于源碼樹中并且路徑名稱與目錄真實(shí)名稱一致。如果你的構(gòu)建系統(tǒng)是從網(wǎng)上下載依賴還可以考慮用FetchContent模塊在配置階段自動下載但這里不建議因?yàn)轭^文件本身不依賴網(wǎng)絡(luò)直接隨源碼分發(fā)更省事。CMake中還有一個(gè)細(xì)節(jié)MSVC的編譯器在編譯C文件時(shí)會自動開啟C89模式編譯C時(shí)不會受到影響。如果你的CMake項(xiàng)目里同時(shí)有C和C文件并且在C代碼中也用了stdint.hmsinttypes是可以起作用的因?yàn)镃里同樣會include頭文件。唯一要注意的是如果你設(shè)置了標(biāo)準(zhǔn)庫強(qiáng)制使用Windows DLL運(yùn)行時(shí)即/MD或/MT開關(guān)那msinttypes和這些宏是獨(dú)立的互不影響。如果項(xiàng)目還使用了預(yù)編譯頭PCH記得在預(yù)編譯頭文件如stdafx.h里#include stdint.h否則每個(gè).cpp文件單獨(dú)include也可以但會拖慢編譯。工程里如果已有預(yù)編譯頭而你在某個(gè).cpp里直接#include stdint.h某些IDE會提示需在預(yù)編譯頭之后include此時(shí)調(diào)整一下順序即可。4. 驗(yàn)證stdint.h生效從編譯通過到類型寬度一致4.1 一個(gè)專門驗(yàn)證固定寬度類型的示例代碼配置完成后直接拿一個(gè)大項(xiàng)目編譯風(fēng)險(xiǎn)太大我習(xí)慣先寫一個(gè)最小的驗(yàn)證文件專門檢驗(yàn)頭文件有沒有生效、類型寬度是否符合預(yù)期。#include stdio.h #include stdint.h #include inttypes.h int main(void) { printf(sizeof(int32_t) %zu\n, sizeof(int32_t)); printf(sizeof(uint64_t) %zu\n, sizeof(uint64_t)); printf(sizeof(intptr_t) %zu\n, sizeof(intptr_t)); int32_t a INT32_C(100); uint64_t b UINT64_C(0x1122334455667788); printf(a % PRId32 , b % PRIx64 \n, a, b); return 0; }這段代碼里用到了三組東西固定寬度類型sizeof檢查、INT32_C宏常量、以及PRId32/PRIx64格式化宏。如果頭文件路徑正確編譯后會輸出類似這樣的內(nèi)容sizeof(int32_t) 4 sizeof(uint64_t) 8 sizeof(intptr_t) 4 a 100, b 1122334455667788注意第三行如果編譯出來的程序是32位的intptr_t就是4字節(jié)如果是64位會是8字節(jié)。這行輸出能幫你確認(rèn)編譯目標(biāo)環(huán)境。格式化宏P(guān)RId32在Windows的老編譯器上會展開成“d”PRIx64會展開成“I64x”這兩個(gè)宏正是inttypes.h里的關(guān)鍵內(nèi)容。4.2 通過編譯日志確認(rèn)頭文件實(shí)際路徑有時(shí)候編譯通過了但心里還是不踏實(shí)想知道編譯器到底用的是哪個(gè)目錄下的stdint.h。這時(shí)候可以采用預(yù)處理指令強(qiáng)制輸出路徑信息。最簡單的方法是讓編譯器生成預(yù)處理文件。cl /I D:\dev\include\msinttypes /E test_stdint.c preprocessed.txt這里的 /E 是預(yù)處理后輸出到標(biāo)準(zhǔn)輸出重定向到文本文件。打開preprocessed.txt搜索“stdint.h”就會看到完整的頭文件路徑。例如#line 1 D:\\dev\\include\\msinttypes\\stdint.h這一行說明編譯器確實(shí)使用了你指定的msinttypes版頭文件。如果你看到路徑是某個(gè)Windows SDK目錄或者項(xiàng)目目錄下的其他頭文件那就說明搜索順序有問題需要回到第3章調(diào)整路徑順序。除了 /E還可以在代碼里用#pragma message直接把頭文件路徑打印到編譯輸出窗口。這個(gè)方法適合在IDE里使用因?yàn)榫幾g器輸出會直接顯示在“輸出”面板中不用生成中間文件。#ifdef _MSC_VER #pragma message(using msinttypes stdint.h) #endif把這段放在一個(gè)共同的私有頭文件里或者直接放在測試代碼頂部編譯時(shí)就能看到提示。注意#pragma message是編譯器擴(kuò)展不是標(biāo)準(zhǔn)C語言所以外面包了一層條件編譯避免其他編譯器報(bào)錯(cuò)。4.3 在Makefile和批處理腳本里復(fù)用的細(xì)節(jié)如果你的工程是用Makefile組織的或者你更喜歡批處理腳本一鍵編譯驗(yàn)證邏輯也可以嵌進(jìn)腳本里。我自己的習(xí)慣是寫一個(gè)check_stdint.bat腳本在配置階段自動運(yùn)行上面的預(yù)處理命令并檢查輸出里是否出現(xiàn)了預(yù)期的路徑標(biāo)記。echo off cl /I D:\dev\include\msinttypes /E test_stdint.c tmp_pre.txt findstr /C:msinttypes\stdint.h tmp_pre.txt nul if errorlevel 1 ( echo [FAIL] stdint.h not from msinttypes exit /b 1 ) echo [OK] stdint.h found from msinttypes del tmp_pre.txt這個(gè)腳本的邏輯很簡單用findstr檢查預(yù)處理輸出里是否包含“msinttypes\stdint.h”字符串找到了就返回成功否則輸出失敗并退出。批處理通過errorlevel判斷可以在構(gòu)建流水線里集成。對于使用GCC或Clang但也在Windows上交叉編譯的場景同樣可以用#error預(yù)處理指令做更硬的驗(yàn)證。例如在測試代碼里加入#ifndef INT32_MAX #error stdint.h does not define INT32_MAX #endif當(dāng)INT32_MAX沒有被定義時(shí)編譯直接終止并顯示錯(cuò)誤信息。這種編譯期驗(yàn)證方式比人工看日志更快適合自動化集成。注意這里的宏定義名必須和實(shí)際頭文件一致msinttypes里確實(shí)定義了這些宏。5. 避坑指南C1083之外的五種常見翻車現(xiàn)場這一章是重頭戲我根據(jù)自己踩過的坑和幫同事排查的經(jīng)驗(yàn)整理了五條最容易遇到的錯(cuò)誤。5.1 坑1和其他庫自帶的stdint.h打架現(xiàn)象編譯時(shí)報(bào)一堆標(biāo)準(zhǔn)庫頭文件重復(fù)定義錯(cuò)誤錯(cuò)誤列表中全是“redefinition of typedef ‘int32_t’”、“missing type specifier”等字樣錯(cuò)誤數(shù)量能達(dá)到幾十條。原因項(xiàng)目里某個(gè)第三方庫自己攜帶了一個(gè)stdint.h或者系統(tǒng)SDK的新版本已經(jīng)包含了該頭文件。由于多個(gè)目錄都存在stdint.h編譯器按照搜索順序找了一個(gè)不期望的版本兩個(gè)標(biāo)準(zhǔn)庫的內(nèi)容彼此沖突。解決找到工程中所有名為stdint.h的文件確認(rèn)msinttypes的目錄是否在搜索列表最前面。可以在屬性頁中調(diào)整順序或者通過在C/C命令行中加入?yún)?shù)指定強(qiáng)制使用msinttypes的路徑。如果第三方庫的頭文件必須優(yōu)先那就只能手動把庫自帶的stdint.h改名并把庫源碼里對應(yīng)的#include聲明一并修改。更穩(wěn)妥的辦法是用編譯開關(guān)查看預(yù)處理搜索路徑先確認(rèn)到底誰被優(yōu)先找到了。5.2 坑2類型寬度和預(yù)期不一致現(xiàn)象代碼編譯通過但運(yùn)行時(shí)的結(jié)構(gòu)體大小、序列化字節(jié)數(shù)和Linux同事不一樣調(diào)試半天發(fā)現(xiàn)uint32_t變成了8字節(jié)。原因某些老的msinttypes版本在特定編譯器上沒有正確區(qū)分指針類型的寬度導(dǎo)致定義錯(cuò)誤。也可能是因?yàn)榫幾g器選項(xiàng)里啟用了/arch:IA32或強(qiáng)制4字節(jié)對齊等設(shè)置讓類型對齊發(fā)生變化。解決先用第4章的驗(yàn)證程序打印sizeof確認(rèn)寬度。如果確實(shí)是頭文件定義問題檢查是否使用了正確版本r26對64位和32位分別做了分支處理。再檢查編譯選項(xiàng)里是否定義了_WIN32或_WIN64宏msinttypes內(nèi)部依賴這些宏做位寬分支。在編譯命令行中手動添加/D_WIN64可以強(qiáng)制走64位路徑。我遇到過最詭異的一次是工程屬性里的“平臺工具集”被誤設(shè)成了32位導(dǎo)致所有源文件都被當(dāng)作32位編譯加上/D_WIN64之后反而報(bào)宏重定義最后發(fā)現(xiàn)是工具集版本不匹配。5.3 坑3C代碼能編譯但C代碼報(bào)錯(cuò)現(xiàn)象同一個(gè)工程.c文件編譯正常.cpp文件卻報(bào)“stdint.h: No such file or directory”或語法錯(cuò)誤錯(cuò)誤行指向頭文件內(nèi)部的某個(gè)宏。原因老編譯器在編譯C時(shí)對C99頭文件的支持路徑不同。msinttypes的頭文件內(nèi)部包含了一些條件編譯比如“#ifndef __STDC_LIMIT_MACROS #error ...”這個(gè)錯(cuò)誤只在C中觸發(fā)因?yàn)镃標(biāo)準(zhǔn)規(guī)定這些宏默認(rèn)不暴露。解決在C源文件包含stdint.h之前先定義必要的宏。一般處理是在工程屬性中加上預(yù)處理器定義/D__STDC_LIMIT_MACROS /D__STDC_CONSTANT_MACROS這兩個(gè)宏是C標(biāo)準(zhǔn)里用來把C99的宏暴露給C的開關(guān)。msinttypes也遵守這個(gè)約定。加上之后C代碼中就能正常使用INT32_MAX和UINT64_C等宏了。如果仍報(bào)錯(cuò)檢查頭文件內(nèi)部是否還有__STDC_FORMAT_MACROS需要定義用于獲取printf格式化宏。這個(gè)宏在C里同樣默認(rèn)關(guān)閉忘記加的話PRId64會直接缺定義。5.4 坑4路徑配置正確但還是提示找不到stdint.h現(xiàn)象項(xiàng)目屬性里明明加了附加包含目錄編譯時(shí)依然報(bào)C1083。原因三種典型原因。一是配置的是“調(diào)試信息”而不是“包含路徑”二是配置的路徑下沒有對應(yīng)的文件比如解壓后把文件夾嵌套了一層三是IDE緩存問題清理不徹底。解決先用系統(tǒng)文件搜索確認(rèn)完整路徑比如D:\dev\include\msinttypes\stdint.h確實(shí)存在。然后檢查屬性頁的“附加包含目錄”填寫是否就是該目錄不要把“include\msinttypes”多寫或少寫。還要關(guān)注配置類型如果是同一個(gè)工程包含靜態(tài)庫和DLL項(xiàng)目每個(gè)子項(xiàng)目都要各自配置。最后嘗試關(guān)閉IDE重開或者清理中間文件。我甚至見過有人把路徑寫成了“D:\dev\include\stdint.h”少了msinttypes這一層自然找不到。這個(gè)坑看似低級但忙亂的時(shí)候很容易犯。5.5 坑5inttypes.h中的格式化宏導(dǎo)致printf警告現(xiàn)象用PRId64打印int64_t變量時(shí)編譯器報(bào)格式字符串參數(shù)類型不匹配的警告。警告級別開得越高報(bào)得越多甚至直接導(dǎo)致編譯失敗。原因老編譯器對printf系列的格式化檢查識別不了自定義宏或者宏展開后是“I64d”這種非標(biāo)準(zhǔn)格式編譯器的警告級別過高時(shí)會產(chǎn)生警告。這個(gè)警告不影響生成但會讓追求0警告的工程無法通過。解決把警告級別從/Wall降到/W3或者在包含inttypes.h之前定義__STDC_FORMAT_MACROS宏。在老編譯器上也可以直接使用系統(tǒng)擴(kuò)展格式符號比如printf(value%I64d\n, (long long)value);不過這樣就犧牲了可移植性。我的做法是在工程級統(tǒng)一加一個(gè)頭文件提前定義好宏并設(shè)置#pragma warning抑制掉特定的警告編號。記住一個(gè)原則寧可多花十分鐘把所有格式化宏檢查一遍也別等到集成測試時(shí)才發(fā)現(xiàn)日志亂碼。6. 進(jìn)階驗(yàn)證用靜態(tài)斷言確保類型寬度不再漂移6.1 在編譯期鎖死寬度當(dāng)你給老工程配上msinttypes之后編譯通過只是第一步我更建議在代碼里加上編譯期靜態(tài)斷言把類型寬度徹底鎖死。C語言中沒有標(biāo)準(zhǔn)靜態(tài)斷言可以用typedef數(shù)組技巧typedef char assert_int32_size[ (sizeof(int32_t) 4) ? 1 : -1 ];如果int32_t不是4字節(jié)這個(gè)typedef會定義一個(gè)長度為-1的數(shù)組導(dǎo)致編譯錯(cuò)誤。C99后的編譯器可能支持_Static_assert但老編譯器不支持所以這個(gè)技巧更穩(wěn)。把它放在一個(gè)公共頭文件里所有模塊都會檢查到。6.2 用預(yù)處理宏輸出當(dāng)前環(huán)境在排錯(cuò)時(shí)經(jīng)常需要確認(rèn)當(dāng)前編譯器模式。以下代碼可以把關(guān)鍵宏打印在編譯輸出中#ifdef _MSC_VER #pragma message (MSVC version: STRINGIFY(_MSC_VER)) #endif需要配合一個(gè)字符串化宏#define STRINGIFY(x) #x這條pragma只在MSVC下生效GCC對應(yīng)的是#warning但也不妨礙體驗(yàn)。加上之后每次編譯都能看到版本號省去猜謎時(shí)間。6.3 我的自查流程從那以后我每次把一個(gè)新工程移植到Windows都會強(qiáng)制走一遍這個(gè)流程先跑一個(gè)最小的stdint驗(yàn)證程序確認(rèn)類型寬度再檢查INT32_MAX、PRId64這些宏是否可用最后用上面的靜態(tài)斷言把類型鎖死在公共頭文件里。等這一套做完我才敢繼續(xù)編譯主體代碼。經(jīng)歷過因?yàn)橐粋€(gè)類型寬度不一致導(dǎo)致整個(gè)協(xié)議棧解析錯(cuò)亂的事故就再也不想省這一步了。希望這些細(xì)節(jié)能幫到你讓你在Windows上遇到stdint.h問題時(shí)少走我當(dāng)初的彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美综合色图片| 久久久女人| 91 国产丝袜在线播放-百度| 久7色| 国产51色综合久久免费| 亚洲欧洲综合成人av一区| av影片在线观看不卡| 欧美综合天堂| 老司机福利青青草| 亚洲情色欧美| 亚洲一区二区三区不卡国产欧美| 啊啊啊啊啊舒服| 蜜桃久久一区| 亚洲综合第一页| 国产午夜福利电影免费在线观看 | 成人日本视频人妻在线| 久久99亚洲精品久久99果| 精品人妻一区二区三区四区不卡在| 成人A片男人的天堂| 最新精品久久蜜桃| 成人三级片一区二区三区视频| 97干在线视频| 久久久免费的精品| 超碰久久性爱| 黄久久| 大JI巴好深好爽又大又粗视频| 亚瑟国产精品久久无码| 人妻少妇久久久| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 偷拍 亚洲 欧美| 91强在线播放| 九九在线视频| 久久一级无码精品毛片6| 欧美精品精品一区二区| 奸色色 男人天堂 天天射| 五月天色图| 久久97资源 网| 国产一级舔足在线观看| 青青草视频这里只有精品| 91欧美www| 欧美一区二区三区四区综合| 秋霞网无码| 九九这里只有精品| 91色亚洲| 欧州一区二区三区四区| 日韩电影在线观看网址| 视频在线观看免费一区二区三区| 国产三级日产三级韩国三级| 超碰在线人妻| 精品国产www久久| 欧美在线视频99| 日日日啊啊啊| 尤物视频偷拍免费| 国产主播福利| 国产成人精品日本视频| 精品久久青青草| 性生活无遮挡纯毛片在线看| 亚洲精品黑丝| 国产福利合集| 黄色操人| 国产激情片在线观看| 成人日韩欧美| ss久久| 偷拍五区| JIZZJIZZ国产精品喷水| 欧美狠狠弄| 国产精品一区二区麻豆| 国产精品爽爽v| 久久99人妖视频国产| xxx亚洲午夜天堂| 国产精品999aaa| 国产精品久久久三级无码| 日日妻色网| 国产精品分类在线观看| 五月婷色| 婷婷探花久久精品一区| 色欲日韩欧美在线一区| 极品美女嘿咻| 屌逼麻豆| 综合久欧洲| 日韩无码AB| 校园春色中文字幕AV| 久久久网一区| 嗯嗯不要 视频| 亚洲情色欧美| 欧美黄色大片在线观看| 欧美丰满熟妇XXXX性ppX人交| 国产超碰人人操| 日韩人妻一区二区精品| 欧美极品女人的天堂| 亚洲国产日韩精品久久久| 在线97视频| 岛国色情视频在线观看| 亚洲欧美综合色| 国产精选视频| 大伊香蕉在线视频免费| 久久久久久中文版| 亚洲AV无码翔田千里网站| 丁香六月综合激情| 亚洲色香| 97操b| 97天天摸天天爽| 午夜精品探花| 亚洲中文电影| 乱伦熟女论坛| 99re6久热只有精品6在线直播 | 午夜视频久久久久一区| 国产精品视频白浆免费| 试看福利| 黄色小视频日本txt| 亚洲色资源| 青青青在线高清视频在线一二三四区| av天堂5| 在线视频五十市| 91精品人妻一区二区三区蜜桃| 欧美v亚洲v日韩v最新在线二区| 97精品97久久| 日日日日日| 香蕉精品二区二区| 精品免费一区二区三区在线亚洲人成| 亚洲97在线| 国产无码高清操逼视频| 亚洲综合另类小说色区亚洲成av人片在www| 人人干人人搞人人摸| 91成人国产综合久久精品蜜月| 久久久成人免费av电影| 日韩亚洲精品一区二区| 91亚.色| 乱色视频中文字幕| 亚洲.欧美.丝袜.中文.综合| 99热 按摩 日韩| 91人妻视频在线| 国产日韩欧美三级片| 变态乱伦伪娘灌肠一区二区| 影音先锋新男人| 日韩欧美性吧婷婷乱伦大香蕉 | 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 91是天天| 超碰在线974| 亚洲熟妇图片| 久久久久亚洲一区女同性恋中文字幕| 四虎国产成人精品免费一女五男| aaa淫乱视频| 撸撸成人在线视频| 熟女熟妇伦久久影院毛片一区二区 | 91九九九吃| 四虎免费视频| 亚洲人妻爽爽爽| 风月影院十八禁| 欧美激情激情xxxx欧美专区| 天天操夜夜嗨| 99热官网| 亚州熟妇精品| 无码日韩人妻av一| 女人被添高潮免费视频| 日本一区二区三区精品| 亚洲资源网| 密臀在线一区尤物| 亚洲,日韩,欧美,成人播放| 成人日韩3| 国产91久久九九免费精品无码| 操91| 看看日B真人视频| 久久系列| 亚洲无线码一区国产欧美国| 色老汉色| 老女人综合网| 日本理论在线| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 熟妇乱伦一区二区| 国产一区二区三区精品观看啪| 久久精品人体AV| 色综合99999| 中文字幕在线观看网址| 九九色影院| 中文字幕久久亚州无码| 都市久久精品激情亚洲| 欧美亚男人的天堂| 欧美色图 色综合图| 综合自拍| 2017天天操天天日| 亚洲国产欧美中文永久| 97久久久久久久久久| 中文字幕人成乱码熟女香港| 国产传媒一区日韩| 六月丁香网| 蜜桃久久久久久久久久久久| 1000部熟女视频在线观看| 成人贴图日韩欧美| 一中国女人毛片水真多| 亚洲射综合网| 美女极品一区二区三区| 日本二区不卡| 大鸡巴久久久| 色色网91| 国产精品久久久亚洲第一牛牛_在线观看| 久久久精品电影| 久久精品72| 日韩国产乱子伦App| 一级黄碟| 97日亚洲欧美| 超碰av在线| 免费的黄片wwwwww| 一区二区三区 日韩欧美| 日韩精品人妻系列无码天堂| 久久夜夜夜夜| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 超碰97护士| 日本人妻最新在线中| 伊人专区一区二区三区| 粉嫩粉嫩一区性色AV片| 五月天大香蕉| 五月天色电影| 丁香六月激情| 欧美草草高清日韩视频| 欧美97色| 日韩AV熟女乱伦| 人人色人人射人人妻| 97操综合| 偷拍 亚洲| 熟妇操花| 91网站在线播放| 2019天天干天天操| 欧美拳交在线播放| 秋霞男人网| 99操视频| 婷婷美人网| 欧美色图成人网一区二区 | 亚洲十八禁止| 麻豆天美传媒毛片| 97鸡把在线视频| 久久精品中文| 高潮嗯啊性感美女久久久| 久久久久久人妻| 日日夜夜狠狠| 天天日少妇逼AV| 日本污ww视频网站| 成人短视频在线观看| 久久亚洲AV成人精品无码| 久久久久久电影| 女性喷水高潮在线观看| 久久久久久久强迫| 天堂v无码免费视频| 男人的天堂1024| 试看60秒 爽| 97天堂| 国产女人视频三四五区| 91东北熟女| 久久系列| 欧美探花网| 无码黑人精品一区二区三区三| a v网站在线播放| 91人妻最真实刺激绿帽| 在线观看精品国产免费| 91丝袜美女国产| 欧美日韩大陆黑人少妇99| 欧美亚州综合图片| 色亚洲欧美| 日语五十路和六十路亚洲国产精品| 亚洲巨爆乳一区二区三区四季网| 麻花豆传媒剧国产MV出差| 午夜福利免费精品视频| ′ !γ}丶。。久久精品欧美一区二区三区| 日本美女性生活久久久久久久| 欧美日韩精品国产91| 快播久久人人aV| 欧美黄色手机在线观看| 伊欧美综合视频| 97这里都是精品| 人妻丰满熟妇av无码区蜜桃| 国产对白刺激视频| 中文字幕国产精品1区| 91亚洲欧美综合高清在线| 色九久| 一本一道波多野毛片中文在线| 欧美性巨大╳╳╳╳╳高跟鞋| 久综合网| 黄站在线免费观看| 国产精品久久久久亚洲av| 欧美性天天影视| 东京热视频网| 久久超碰、| 女性91网站| 欧美综合第一| 成熟熟女国产精品一区二区| 国产强奸乱伦欧美| 怡红院视频在线| 久久嫩草| 91九九九馒头| 亚洲 在线| 久久男女激情视频网站| 中文字幕午夜精品久久久| 国产精品久久久久久久电影渣男| 超碰 另类 欧美 | 天天综合色| 精品9999| 五月大香蕉| 国产成人精品午夜福利| 久久久久亚洲av综合波多野制衣| 农村妇女精品一区二区| 亚洲伊人a线观看视频| 青青草啪啪网| 免费综合亚洲中文| 少妇熟女一区二区三区| 美女露胸露屁股| 天天干干天天干干| 午夜噜噜噜| 偷拍网站久久男女男| 无遮挡男女激烈动态图| 无遮挡男女激烈动态图| 91在线美女| 性色av大全| 欧美综合自拍亚洲综合图| 性爱av在线免费观看| 国产美女精品| 亚洲激情 欧美色图| WWW啪啪的com| 百度百度日本操逼| 一中国女人毛片水真多| 精品人妻少妇| 91亚洲不卡一区| 极品色社| 在线免费试看60秒| 久久久内射良家| 九七超碰| 在线观看日韩av不卡| 亚欧高清在线| 久九九九九九九热| 夜夜国自区| 亚洲另类欧美精品| 黄片不用下载在线观看| 精品人妻一区二区三区-国产| 日日夜夜草草草| 99热销国产这里有精品| 中日亚韩免费视频| 一区二区三区国产精产| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚州精人品大香蕉| 久久视频,这里只有精品 | 亚洲另类久操网| 国产天天噜一噜久久久| 影音先锋少妇| 色女99一级片在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 91美女精品| 日韩免费高清大片在线| 中文字幕老熟妇黄色视频| 91熟女少妇| 日操粉逼逼| 九九九精品色乱九九九| 丝袜美腿诱惑亚洲欧美视频在线观看 | www.zbzhongsen.com| 天天天干977| 最新精品久久蜜桃 | 思思热在线视频免费| 婷婷15月天青娱乐| 天天插天天舔舔天天干| 免费看黄视频亚洲网站| 亚洲av青草久久一区二区| 一区e区三| 嗯,啊。舔我逼| 九九玖玖精品| 国产大片精久久久久久| 精品区9| 91黑丝在线播放| 亚洲最新av无码成人精品区| 欧美真人抽搐一进一出gif| 亚洲天堂男人天堂| 人人看人人摸人人色| 黄色香蕉视频网站一区| 可以在线观看的黄色网址| 人妻一二三区| 欧美999999| 在线观看不卡一区二区三区| 久久草大香蕉| 99人妻| www…国产操逼| 秋霞福利网| 亚洲中文国际强奸字幕| 狠狠操狠狠燥| 五月丁香啪啪啪| 2025年A片视频精品| 成人三级片无码| 一本色道久久综合亚洲二区三区| 欧美日韩性爱视屏免费看了| 熟女精品日韩一区二区三区| 人妻熟女一区在| 国产91av在线播放| 国产视频大全| 91无码中出人妻视频| 国产视频人人网| 97er欧美性| 超碰人人在线| 婷婷干黄色| 亚欧操逼片在线观看 | TS人妖另类精品视频系列| 密臀在线免费观看| 最新啪啪视频| 亚洲A曰本VA欧美VA视频| 色踪合AV| 日本不卡码黄色| 日韩成人在线性爱视频| 亚洲欧美高清无码| 亚洲不卡三级手机播放| yaouchengrenav| 亚洲无线码欧洲精品区别| 久久久久亚洲三级电影| 一类无码操逼视频| 精品天堂| 国产又粗又长又大的视频| 啊啊啊不要啊啊受不了了视频在线 | 日熟女| 国产精品ww久久| 中文字幕第7页| 欧美在线干| 超硑97精品| 无码视频黄色网战| 在线αⅴ| 欧美熟妇精品黑人巨大91| 精精夜夜| 中文字幕精品人妻丝袜| 欧美在线91| 精品无码产区一区二| 5252色欧美在线| 天天拍天天操| 亚洲成人综合在线| 色久桃花影院在线观看| 99黄页网站| 日本成a人v网站在线观看| 天美传媒精品久久视频| 日本性感人妻91| 久久久久久久97| 午夜乱轮操逼视频免费看| 亚洲欧美国产日本一区二区三区| 啊啊啊在线观看免费视频| 小视频国产| 精品制服美女中文一区二区三区| 超碰人妻中文在线| 夫妻天天操岛国视频| 亚洲va有码在线天堂| 色噜噜综合在线| 欧洲一区二区三区四区在线观看| 欧美91精品国产自产| 嫩草影院在线观看精品 | 国产精品久久久999| 久一区久久蜜桃| 九九九综合精品| 自拍偷拍 日韩无码| 岛国片在线视频网站| 日本免费二区三区| 亚洲国产高清福利视频| 伊人激情五月天一区二区| 高跟伊人julia ann| 死我十八禁| 国产91福利小视频在线观看| 强奸乱伦αv片| 区二区亚洲婷| 午夜超爽| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲综合九| 久久伊人最新网址视频| 亚洲国产欧美日韩人妻日中文| 日本免费二区三区| 日韩欧美国产高清视频| 国产AV天美传媒一区二区三区| 丰满人妻一区二区三区性色| 日本三级日本三级三级人妇四虎| 综合网91| 密臀在线免费观看| 91人妻人人澡人人爽人人精品| 蜜臀av在线播放一区二区三区| 中出20p| 国产精品69人妻无码久久久| 日本熟妇色熟妇在线视频播放| 超清福利精品视频在线| 亚洲吊色| 插日本熟女视频| 丝袜高跟澳门91视频| 深夜国产一区二区三区在线看| 超碰天天操| 欧美丝袜制服久久| 91精品国产91久久久久久久久久久久| 大香蕉520| 3d成人精品一区二区| 超碰综合色| 日本免费中文字幕在线| 久久精品六区| 午夜精品久久久久久久男人的天堂| 日本不卡一二区| 天天操av懂色| 中文字幕一区二区日韩网| 欧美超碰人妻97| 精品久久99| 亚洲图片欧美| 久久同城AV| 九九综合久久| 九九九色| 久久99草| 欧洲色| 亚洲 无码 偷拍| 精品久久久不卡一区二区| 日韩一级欧美一级在线观看| 天天日天天干少妇日| 久久人妻97久久久久久久| 精品国产三级av韩国在线| 新精精品久久精品| 亚洲 日本 一 二 三| 超碰97人妻免费在线| 夜夜免费视频| 日韩内射视频| 91精品久久久久久77777| 中文字幕国产在线天堂| 日韩色图 一区二区| 五月天婷婷欧美三区| 三级特黄60分钟播放| 97鸡把在线视频| 久久婷婷在线观看视频| 自拍鲍鱼一区在线高清观看免费| 欧美18老人禁| 精品国产乱码久久久| 干b在线性社区| 激情婷婷| 欧美成人AⅤ大片在线观看| 蜜臀久久久99久久久久| 99这里只有精品| 免费人人搞97| 欧美性猛交美女自慰91| 全球成人中文在线| 欧美性爱日韩高清| 亚洲影视综合| 熟妇高潮二区三区| 四虎免费看黄| 免費人妻夜夜爽天天爽爽一区| 欧美性爱五月天| 一类av片在线看| 国产成人在线观看网址| 欧美成人精品一区二区男人蜜臀| 亚州熟妇精品| 69视频福利导航| 国产av高清版| 欧美拳交在线播放| 91oumei| 午夜高清成人在线视频| 国产野战露脸在线播放| 91国产操逼视频| 欧美亚洲情色| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 精品视频免费在线一区| 亚洲 欧美 日韩 国产一区二区 | 韩国一级婬片A片无码天美| 操逼操2| 屁股久久久久久| 上床啊啊啊| 97操碰| 久久一二三四五六七八九区| 日本高清加勒比| 美女毛片999| 日本男人插女人的逼黄色| 成人A片男人的天堂| 国产日韩精品一区二区三区| 日韩伦理视频| 青青草视频在线观看一区二区| 女人妻一区| 丝袜内射| 加勒比av中文| 欧美国产操逼| 男生通女生屁股| 国产精品久久久亚洲第一牛牛_在线观看 | 肏逼福利网站| 1级黄色夫妻对换性交免费看| 五月天婷婷在线看| 一级性爱啪啪视频| www黄片免费看com| 天堂资源站| 欧美性天天影院| 夜夜躁狠狠躁日日躁av| 91久久免费视频互動交流| 丰满人妻aA一区二区三区| 东京太热男人的天堂久久久| 国产又大又硬又长又粗| 99热99在线播放激情| 色官网色综合| 国产高清MV操逼视频| 99热这里只有精品地址| 激情婷婷| 亚洲熟女综合| 亚洲人在线| 青草香蕉网| 五月天亚洲网| 日韩熟女精一区二区三区不卡| 九九九九九精品| 人妻干天天| 精品一区二区人妖| 一区二区三区精品黑丝白丝酒店对鸡| 国产大片精久久久久久| 久久久久久久9最新免费视频观看| 久肏视频字幕| 天天影视色香欲综合网小说| 岛国在线免费视频| 国产女人成人精品视频| 任我爽视频在线观看| 日韩不卡一二三四| 91人人| 亚洲欧洲日本精品中文a∨| 亚一综合久久久久久久久久| 老鸭窝亚洲毛片| 日韩欧美中文字| 亚洲精品97| 黄色一级视| 人人爽夜夜操| 人妻第一页| 超碰人妻天天干| 久久精品亚洲婷婷| 国内精品99999| 天天操天天干一区二区 | 伊人久久在线视频观看| 欧美色五月| 欧美色图在线视频少妇| 久久国产逼| 日韩熟妇二区| 成人草草视频| 大香网站| 亚洲大色堂| 清纯唯美亚洲综合| 伊人久久婷婷| 亚洲日韩97| 影音先锋视频在线| 神马午夜久久久| 免费试看60秒| 啊啊啊啊嗯嗯嗯用力好爽| 热热色国产一二区AV| 国产精品亚洲一级av第二区| 91人妻丝袜无码| 中文字幕一区二区三区50路| 久久婷婷亚洲| 婷婷久久久精品| 久久亚洲AV无码专区国产精品| 91夜夜蜜桃臀1区2区3区| 亚洲 暴爽 AV人人爽日日碰| 日韩久久三区| 午夜在线播放| 中文字幕在线24| 大香蕉伊人75| 激情五月天综合网| 玖玖综合网| 97天天摸天天碰| 亚洲图片欧美色| 夜夜操二区| 亚洲天天更新| 久久久啊啊| 激情五月天中文字幕色| 精品人妻1237| 97资源视频| 操亚州| av在线观看不卡网站| 中文无线日韩一区| 岛国网址国产| 日本性一区| 国模少妇一区二区三区| 亚洲97资源| 噜噜在线| 国产女人视频三四五区| 亚洲 中文 女同| 你懂的在线观看区国产| 国产成人主播| 黄色小视频日本txt| 97国产精选| 亚洲 日本 一 二 三| 97超碰护士| 亚洲精品骚逼| 无码聚合| 9久久精品| www.97在线| 黑人白女精品一区| 九草九九九| 曰韩精品九九无码| 日B操| 青青欧美| 开心激情站| 久久久久亚洲| 精品性爱久久视频| 三级三久久线久久99久目本WW| 久夜视频| 欧美色天堂网在线视频| 欧美v亚洲v日韩v最新在线二区| 黄色工厂这里只有精品| 日本少妇va7777| 黑人无码一区二区| 99国产精品| av72网| 好吊妞转入那个网| 一级日本牲交大片好爽在线看| 久久国产999| 天美av在线观看| 免费的很黄很污的全部视频| 加勒比aⅴ| 日日橹狠狠爱欧美超碰| 999岛国大片| 久久超碰国产一区二区三区| 午夜九九| 亚洲色图a| 91日韩在线| 超碰人妻天天干| 性夜影院爽黄A爽免费动漫| 热久久无毒不卡| 嗯嗯嗯不要不要免费视频| 日韩av影片在线观看| 中文字幕在线免费观看2| 欧美爱国产综合、| 男人网站婷婷| www老逼91| 丁香五月成人| 黄色小视频日本txt| 日韩精品在线放| 欧美 色 亚洲| asc国产精品| 91麻豆天美传媒HD| 国产精品青青草| 91久热| 国产小黄片在线免费观看| 五月丁香黄色网| 欧美日韩欧美| 精品丰满熟妇人妻一区| 制服中出中文人人精品| 内射黑人| 超碰97爽| 色五月婷婷麻豆在| 久/久精品99看9| 99精品视频在线观看免费| 免费看片黄| 色99999| 蜜桃久久一区二区| 60秒不遮不挡| 色爱亚洲| 日本精品五区| 日韩啪啪视频| 91黄站| 91制服丝袜中文字幕| 青青草影视蜜久久| 国产精品夜夜夜| 日韩欧美~中文字| 麻豆黄站| 亚洲丨在线| 久久99干一本高清| 欧美骚少妇| 天天综合欧美黑人| 精品人妻一区二区三区四区| 亚洲风情综合网| 国产白丝网站| 91丝袜| 爱爱啊啊啊| 东北少妇高潮zzzz| 国产精品亚洲色婷婷久久久| 国内偷自视频区视频综合| 久久伊人亚洲AV无码网站| 思思视频免费看网站| 婷婷丁香九月| 国产成人无码高清| 丁香五月天激情| 97精品国产97久久久久久| 久久久久性熟视频| 91高跟美女在线播放| 国产精品久久久999| 久久9精品网站| 亚洲男人天堂2017| 成人免费性爱视视| 岛国毛片手机在线观看| 国产精品久久久鸭无码的功能| 五月丁香影院| 欧美三级免费伊人| 校园春色欧美| 外国91| 亚洲精品成人动漫在线| 97人妻免费中文字幕| 日韩av影片在线观看| 亚洲日韩一区电影| 久久国模av| 亚洲情色 自拍| 91精品人| 亚欧Av| 蜜臀久久99精品久久久老,,| 欧美激情一区二区| 久久久久人| 久久精品国产亚洲AV清纯| 亚洲av综合色| 亚洲人妻一区二区三区| 偷拍色图| 婷婷五月天激情四射| 99在线免费公开视频| 五月丁香啪啪啪| 99re99视频在线免费观看| 日产精品久久久一区二区| 人人看黄色视频| 大香蕉黄色一区| 伊人久久大香线综合无码| 色老大| 女人被男人桶爽视频网站| 欧美视频中文字幕区| 天天操女人| 久久成人东京热人妻| 国产亚洲日韩欧| www.色婷婷.com| 伊人少妇久久久| 黄色香蕉视频网站一区| 开心五月婷婷| 亚洲色棕合| 午夜乱轮操逼视频免费看| 嗯嗯嗯好爽| 欧美第五页| 奇米狠999| AV高清一区| 国产60页| 大香蕉宗合网在线| 999久久久久久久久| 国产一区二区a毛片| 精精夜夜| 97超碰超碰| 婷婷丁香五月激情啪啪| 亚洲天天影视色综合| 98人妻精品一区二区色欲| 淫妻综合网| 暴力av在线| 成人乱码一区二区三少妇| 亚洲国成人情色好看电影| 国产精品扒开腿做爽爽爽视频| www…国产操逼| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 久久久九| 亚洲va有码在线天堂| 东北女人被操| 人人操我人人干| 大香蕉中文aV在线| 日本人妻伦在线中文字幕| www.狠狠干.coom | 久久免费99精品久久久久久| 蜜臀精品1区2区| 九九九精品| 超碰久久性爱| 国产精品不卡av免费在线观看| 午夜免费视频1000| 男人的天堂va| 青青11操操操操操操操操| av中亚| 久久久草成人网站久久久草成人久久久草久久久| 国产超碰97| 狠狠色综合网| 99人妻| 九一综合精品视品av| 日本在线观看网址| 美女人妻色网站| 无码久久国产| 日日夜夜草草草| 乱伦图一区| 97人妻人人躁人人玩人人| 免费a在线播放v| 天天综合网~91| 激情自拍 校园春色| 黑人娇小av在线播放| 91欧美长吊| 亚洲导航深夜福利| 少妇熟女视频一区二区三区| 97色碰| 91肉片| 淫骚熟女一区二区三区| 欧美视频一区二区在线| 蜜桃香蕉久草精品在线| 国产这里只有精品| 粉嫩av平台| 日韩淫色网| 国产乱码久久| 另类TS人妖一区二区三区| 美女骚尻视频| 久久久久久亚洲精品不卡人乳| 国产精品美女视频诱惑| 国产精品久久久久久久久久久久久久久久 | 久久精品成人一区二区三区蜜臀 | 加勒比综合在线| 深爱激情五月天| 91精品无码久久久久久久| 亚洲资源网| 开心激情站| 18禁免费视频| 青青草这里只有精品| 国产精品午夜成人福利| 日本理论在线| 五月丁香六月综合缴清无码 | 日日操丁香五月天| 外站AV在线| 91麻豆一二三区| 五月天激情小说| 精品久久久久av影院| 精品无吗m| AV色五月| 韩日男人的天堂| 这里都是精品在线观看| 久久亚洲中文字幕视频| 性高潮久久久久久久久久久| 97玖玖超碰| 激情文学网伊人| 手机在线视频国内精品| 在线视频97| 欧美色老汉| av线电影| 熟妇艹鸡八| 大香蕉丝袜一级片| 亚洲综合另类小说色区亚洲成av人片在www | 久久久久久波多野吉衣高潮| 丁香五月天视频| 3p国产色噜噜一区| 国产乱伦亚洲| 内射夫妻三片| 亚洲激情视频| 精品人妻15区| 欧美,亚洲,日韩,v,天堂,手机在线观看| 色综合潮| 亚洲国产精品久久久久婷婷青年| 婷婷五月天激情网| 亚洲成A∨人影院在线欢看| 国产成人精品必看 | 97超碰69| 992这里有精品| 中文字幕av乱伦| 久久毛卡| 色狠狠 - 百度| 以及麻豆国产入口在线观看免费| 天美91| 91制服丝袜中文字幕| 久久久精品九| 美女91av| 精品乱码在线观看| 天天内射| 夜夜爽爽夜夜精品视频| 免费久久9999| 九九热超碰97亚洲最新香蕉 | 干妹子| 人澡逼| 粉嫩久久久极品| 加勒比伊人综合| 日本孕妇孕交| 9 9无尺码天堂网| 国产麻豆一区二三区| 9 9无尺码天堂网| 中文熟女五十乱码在线| 久热99999| 欧美丝袜亚洲| 东京太热男人的天堂久久久| 外国免费性情大片| 97免费在线观看| 麻豆久久精品亚洲精品88| 久久AV无码AV| 不卡中文字幕aⅴ在线| 韩国手机不卡无码三级视频| 亚洲一区二区三区不卡国产欧美| 秋霞成人一级在线观看| 欧美少妇性爱网站| 日本在线视频导航| 五月天激情婷婷| 日本在线不卡123| 少妇与黑人高潮在线| 91性生活久久久| 色香综合天天影视综合 | w w w.久久精品| 午夜人人操| av在线一区二区三区| 国产人妻天天干精品| 无码99| 午夜性| 啊啊啊啊啊舒服| 东京太热男人的天堂久久久| 超碰九7免费| 日韩欧美大力操| 中文字幕av乱伦| 尤物av网站| 欧洲精品欧洲精品| 91精品人妻一区二区三区蜜桃| 尤物视频视频官网| 日本成人电影资源网| 嗯啊不要啊在线| 无码视频一区二区| 成人区人妻精品一| 亚洲欧洲av影音| 欧美专区日本专区| 伊人97超碰| 久久视频,这里只有精品| 欧美黄业| 亚洲精品国产熟女久久久久久| 丁香五月综合| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 99re视频在线观看这里只有精品| 三级片大波波| 久久久久久中文| 囯产精品久久久久久久久久梁医生| 精品偷拍13p欧美dodk视频| 91美女中出| 国产精品毛片| 激情黄色片在线观看| 91精品丝袜在线观看| 青青草亚洲一区| 久久久月天| 久久国产性爱| 97资源超碰| 96国产精品| 中文字幕一区电影在线观看| 91 亚洲 欧洲| 97人妻人人躁人人玩人人| 午夜啪| 一起草av| 精品人妻一二三四区视频| 久久永久无码人妻视频| 大香蕉黄色一区| 欧美大片天天看| 另类图片综合| 亚洲综合婷婷| 国模91| 男人天堂黄片| 99久久久无码| 久久久久久久| 欧美一级A片在线看视频性色| 欧美日韩国产男人| 放黄片放3级黄片没穿衣服| 99综合免费视频| 亚洲综人网| 亚洲黄色a级片| 欧美亚洲成人在线一区二区三区| 永久电影三级在线观看| 九九九九久久久| 98久久超碰| 久热伊人| 大香蕉2017| a v网站在线播放| 欧美午夜视频| 日韩欧美tv一区二区在线观看| 国产性刺激| 免费中文综合精品| 麻豆久久久久久久久丝袜| 高清国产精品福利网站| 天天综合AV| 亚洲综合影院| 中文字幕视频2区| 欧州一区二区三区四区| 91九色丨国产丨爆乳| 亚洲精品国产精品成人| 91逼逼女人91| 日韩精品字幕| 久久综合18p| 日韩强奸av| 搞中出视频在线观看| 国产精品成人久久一区二区三区 | 香蕉黄色一级视频| 久久久熟妇熟女国产| 色黄污美女啪啪啪免费网站| 久久鲁夜| 啪啪资源网| 一区二区亚州激情久婷婷欧美 | 一本大道久| 99热66| 老女人综合网| 在线综合 亚洲 欧美中文字幕| 性videos欧美熟妇hdx| 欧美色天堂网在线视频| 欧美日韩香蕉| 农村少妇久久久久久久| 久久五月份| 日韩欧美午夜一区二区| 十八禁一区二区无码观看| 国产成人精品日本视频| 欧姜老司机| av婷婷色网| 天天操夜夜嗨| 久99在线免费观看视频| 东京太热久久久| 亚洲小电影免费涩涩成人在线高清| 天美精品一区二区三区四区在线观看| 精品国产丝袜一区二区三区乱码| 美女天天干| 大香蕉伊人一区在线观看| 人妻中文字幕精品无码| 午夜福利合集| 欧美成人精品一区二区三区| 亚洲小电影免费涩涩成人在线高清 | 后入式视频国产自| 五月天激情小说| 日韩中文字幕精品一区在线| 国内外激情在线| 国产视频一区二区三区久久亚洲天堂| 精品一区二区成人| 精品久久久久久久| 91色色综合| 九九热免费国产视频婷婷伊人| 欧美激情另类一区二区| 麻豆 美女 丝袜 人妻 中文| 97超碰天天| 九月丁香| av绯色| 91色香| 成人久久久精品| 精品无码一区二区| 日韩成人大片一区二区| 亚洲欧美另类激情小说| 欧美手机在线综合| 久久综合日韩亚洲欧美| 久久久精| 91日韩网站| 久婷婷一区| 丁香五月成人| 国产久久av| 亚欧高清| 国产97色在线 | 亚洲| 东北老女人的激情视频| 九月丁香| 91艹B视频| 尤物av网站免费在线播放| 亚洲欧美天| 白 大 人妻 区 在线| 国产欧美美女免费观看视频| 青草av在线| 日韩中文字幕人妻视频| 国产福利一区二| 精品对白久久不卡| 日韩 女同 综合| 97AV在线免费观看| 一道本东京热加勒比一区二区三区| 99在线精品观看99| 亚洲欧美日韩精品久久久一区二区| 亚洲天堂在线怕怕视频| 久久一区二区三区四区五区| 婷婷丁香人妻 | 美女诱惑爱爱| 婷婷99狠狠躁天天躁| 国产成人免费观看在线视频| 香蕉黄色一级视频| 人妻少妇久久中文字幕一区二区 麻豆| 熟妇人妻精品一区二区| 91欧美情色| 熟妇女伦乱视频视频| 亚洲国产福利视频| 呻吟 欧美 日本 中出| 在线情色电影 91大 | 免费精品99| 九九色综合| 久久久网站| 香蕉综合网| 人妻久久久| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 九九九只有精品| 亚洲国产精品久久久久婷婷老年| 97er欧美性| 91丝袜美腿片| 岛国999| 天天日美女的B| 99热日| 国产夫妻性生活视频| 国产风韵犹存熟妇三区| 久久原创中文| 天天久久久久久| 精品人妻一区二区三区视频在线| 亚洲视频精选| 青青草国产欧美非洲黑人| 大肥女高潮bbwbbwhd视频| 国产在线观看一区二区三区|