色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

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

C1083報(bào)錯(cuò)修復(fù):msinttypes補(bǔ)齊stdint.h,跨平臺(tái)編譯不再卡殼 簡(jiǎn)介在 Visual Studio 系列編譯器中缺少 C99 標(biāo)準(zhǔn)頭文件 stdint.h 與 inttypes.h 會(huì)觸發(fā) fatal error C1083: 無(wú)法打開包括文件根本原因是 VC 對(duì) C99 標(biāo)準(zhǔn)支持不完整。這份修復(fù)包專門針對(duì)該報(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ù)類型的聲明與平臺(tái)兼容定義日志則記錄了版本變更信息整體僅 17KB只包含修復(fù)所需的全部?jī)?nèi)容足以直接解決該編譯錯(cuò)誤且不需要額外依賴。資源已有 333 人學(xué)習(xí)下載體積小巧、針對(duì)性強(qiáng)適合在編譯報(bào)錯(cuò)時(shí)快速定位解決對(duì)時(shí)間緊張的項(xiàng)目排障尤其友好。通過該包不僅能獲得可直接復(fù)用的缺失頭文件還能了解舊版 Windows SDK/VC 在 C99 支持上的限制與補(bǔ)全思路對(duì)維護(hù)老項(xiàng)目或跨平臺(tái)代碼有實(shí)用參考價(jià)值。1. 從C1083報(bào)錯(cuò)說(shuō)起這個(gè)資源到底是干什么的兩年前我接手一個(gè)跨平臺(tái)網(wǎng)絡(luò)庫(kù)的移植代碼在Linux上跑得好好的一挪到Windows上編譯控制臺(tái)直接蹦出一行刺眼的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。后來(lái)從某嵌入式論壇看到msinttypes-r26這個(gè)補(bǔ)丁包解壓后把路徑一配置編譯直接通過。這份資源本質(zhì)上是一個(gè)頭文件包專門幫老編譯器補(bǔ)上標(biāo)準(zhǔn)整數(shù)類型頭文件解決的就是“C1083且錯(cuò)誤指向stdint.h”這類問題。適合所有在Windows上編譯開源代碼、做跨平臺(tái)移植、或者維護(hù)老舊C/C工程的開發(fā)者。2. stdint.h為何會(huì)在Windows上缺席C標(biāo)準(zhǔn)與編譯器的差距2.1 MSVC對(duì)C99支持的緩慢歷史C語(yǔ)言標(biāo)準(zhǔn)在1999年就提出了stdint.h和inttypes.h里面定義了帶固定寬度的整數(shù)類型比如int32_t、uint64_t還有格式化宏P(guān)RId64。這套頭文件在Linux、macOS、各種嵌入式編譯器里早就普及了但Windows平臺(tái)上的老牌C編譯器一直停留在C89/C90的舒適區(qū)對(duì)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可能會(huì)讓一些隱式類型轉(zhuǎn)換出現(xiàn)警告甚至錯(cuò)誤。再加上Windows自己的SDK頭文件里也定義了一套類似的類型比如INT32、UINT64沖突風(fēng)險(xiǎn)極高。所以廠商選擇了“不主動(dòng)實(shí)現(xiàn)”讓開發(fā)者自己去想辦法。msinttypes就是這個(gè)場(chǎng)景下的產(chǎn)物。它最初是某個(gè)開源愛好者為了解決自家嵌入式項(xiàng)目的編譯問題而寫的后來(lái)不斷修復(fù)邊界情況r26版本就是其中的一個(gè)穩(wěn)定提交。它不編譯、不鏈接就是兩個(gè)頭文件加幾個(gè)輔助文件把C99標(biāo)準(zhǔn)里定義的類型和宏原樣翻譯成老編譯器能識(shí)別的typedef和#define。用上之后源碼里就不用再到處寫“#ifdef WIN32 typedef ...”這種丑陋的兼容層了。實(shí)際使用中你會(huì)發(fā)現(xiàn)很多開源項(xiàng)目在Windows上編譯失敗很大比例都是栽在stdint.h上。比如某個(gè)用C語(yǔ)言寫的物聯(lián)網(wǎng)協(xié)議棧內(nèi)部大量使用了uint16_t來(lái)解析報(bào)文在Linux上編譯順暢一拿到Windows上就報(bào)C1083新手往往會(huì)誤判成“SDK沒裝好”反復(fù)重裝環(huán)境最后發(fā)現(xiàn)只是缺一個(gè)頭文件。這種血淚經(jīng)驗(yàn)經(jīng)歷過一次就能記住。2.2 stdint.h在跨平臺(tái)代碼里的實(shí)際價(jià)值先來(lái)看為什么跨平臺(tái)代碼離不開stdint.h。C標(biāo)準(zhǔn)只保證了char、int、long這些基礎(chǔ)類型的最小范圍并沒有承諾它們?cè)诿總€(gè)平臺(tái)上的位寬。在主流平臺(tái)上int通常是32位long在Linux 64位下是64位但在Windows 64位下仍然是32位。這意味著同樣的代碼在Linux上運(yùn)行正常換到Windows上就可能出現(xiàn)結(jié)構(gòu)體大小不對(duì)、序列化格式錯(cuò)亂、位運(yùn)算結(jié)果異常等玄學(xué)問題。stdint.h提供了三組東西固定寬度整數(shù)類型intN_t/uintN_t、最小/最快寬度類型int_leastN_t、int_fastN_t、以及一些輔助宏INT_MAX、PRId64等。使用這些類型程序的行為就不會(huì)跟隨平臺(tái)自動(dòng)漂移。比如定義一個(gè)網(wǎng)絡(luò)包頭結(jié)構(gòu)體用uint32_t字段替代unsigned int就能確保它在所有編譯環(huán)境下都是4字節(jié)而不是有的平臺(tái)4字節(jié)、有的平臺(tái)8字節(jié)。還有一點(diǎn)容易被忽略intptr_t和uintptr_t是用來(lái)保存指針值的整數(shù)類型。在32位程序里它是32位在64位程序里它是64位。如果你在做哈?;蛘甙阎羔槷?dāng)作數(shù)值運(yùn)算這個(gè)類型就是標(biāo)準(zhǔn)答案。在老編譯器上這些類型全都要靠自己typedefmsinttypes一次性幫你補(bǔ)齊。2.3 三種替代方案對(duì)比面對(duì)缺少stdint.h的編譯器你其實(shí)有三條路可以走。我根據(jù)自己的維護(hù)經(jīng)驗(yàn)列一張對(duì)比表方案優(yōu)點(diǎn)缺點(diǎn)適用場(chǎng)景自己寫一個(gè)自定義stdint.h完全可控?zé)o外部依賴容易寫錯(cuò)類型寬度需要維護(hù)只有一個(gè)臨時(shí)工程代碼量極小用msinttypes補(bǔ)齊標(biāo)準(zhǔn)實(shí)現(xiàn)直接可用社區(qū)驗(yàn)證過需要額外引入文件不能自動(dòng)更新絕大多數(shù)跨平臺(tái)移植和開源代碼編譯升級(jí)編譯器或換用其他工具鏈治本后續(xù)無(wú)需擔(dān)心C99特性可能牽動(dòng)老項(xiàng)目ABI成本高新項(xiàng)目或允許改動(dòng)編譯環(huán)境的場(chǎng)景我一般會(huì)推薦第二種。原因很簡(jiǎn)單自己寫stdint.h你得考慮32位/64位、要不要兼容無(wú)符號(hào)、還要定義各種宏細(xì)節(jié)多到容易翻車。而且一旦有多個(gè)源碼目錄每個(gè)工程都塞一份自定義頭文件維護(hù)起來(lái)就是噩夢(mèng)。msinttypes經(jīng)過多年修補(bǔ)對(duì)老編譯器的兼容性做得比較完善r26這個(gè)版本我用了幾年沒出過岔子。選擇它還有一個(gè)隱性好處源碼不用再寫一堆“#ifdef _MSC_VER”繞道代碼了。整個(gè)工程在一個(gè)統(tǒng)一的頭文件視角下編譯后續(xù)如果想切換到新編譯器直接把msinttypes從包含路徑里移除就行代碼不需要?jiǎng)?。這種“后悔藥”的效果經(jīng)歷過老工程現(xiàn)代化改造的人都懂。再說(shuō)說(shuō)和標(biāo)準(zhǔn)C語(yǔ)言的對(duì)應(yīng)關(guān)系。stdint.h還定義了一組寬度宏比如INT8_C、INT16_MAX這些在初始化常量時(shí)非常有用。例如你想定義一個(gè)恰好等于INT32_MAX的宏常量直接寫#define LIMIT INT32_C(2147483647)比起手動(dòng)算0x7FFFFFFF更清晰。msinttypes里也完整實(shí)現(xiàn)了這些宏而且針對(duì)老編譯器可能不支持的部分做了變通。如果你之前只關(guān)注了類型定義忽略了這些宏那在寫可移植代碼時(shí)可能會(huì)踩坑。另外inttypes.h里還有strtoimax、strtoumax等函數(shù)聲明以及printf格式宏P(guān)RId32、PRIu64。在Windows上用printf打印長(zhǎng)整型常用的做法是%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)里面到底有什么下載下來(lái)的壓縮包體積很小解壓后一多半是說(shuō)明文檔和測(cè)試代碼真正核心的文件只有兩個(gè)stdint.h和inttypes.h。我以r26版本為例列出常用的文件清單文件作用stdint.h定義全部整數(shù)類型和大小限制宏inttypes.h定義格式化宏和轉(zhuǎn)換函數(shù)聲明LICENSEBSD風(fēng)格的開源許可README使用說(shuō)明和版本歷史這里的文件結(jié)構(gòu)很干凈不需要額外安裝腳本。你需要做的就是把整個(gè)解壓目錄加入編譯器的頭文件搜索路徑。一個(gè)常見的做法是把該目錄復(fù)制到工程目錄下的third_party/msinttypes或者放到一個(gè)公共的依賴庫(kù)目錄里比如D:\dev\include。復(fù)制好之后建議用文本編輯器打開stdint.h確認(rèn)文件開頭包含“#ifdef _MSC_VER”之類的條件編譯代碼。msinttypes在內(nèi)部會(huì)根據(jù)_MSC_VER宏判斷編譯器版本再?zèng)Q定是否啟用typedef。比如在VC6這樣的老古董上它走一套完全不同的定義。如果你用較新的編譯器它也會(huì)自覺避免和系統(tǒng)自帶的stdint.h沖突。3.2 通過IDE屬性頁(yè)配置包含路徑最常見的使用方式是在Windows IDE里打開項(xiàng)目屬性進(jìn)行配置。操作路徑是項(xiàng)目右鍵-屬性-C/C-常規(guī)-附加包含目錄。點(diǎn)開編輯框手動(dòng)輸入msinttypes所在的目錄路徑或者點(diǎn)旁邊的下拉按鈕選“編輯”再點(diǎn)文件夾圖標(biāo)瀏覽目錄。配置完成后記得先把語(yǔ)言標(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)是這條路沒走全。建議在屬性頁(yè)頂部的“配置”下拉框選擇“所有配置”一勞永逸。配置完成后清理并重新編譯整個(gè)工程。如果原來(lái)的報(bào)錯(cuò)是“未找到stdint.h”此時(shí)應(yīng)該消失。如果還報(bào)錯(cuò)看看錯(cuò)誤消息里的文件路徑是否指向了別的位置的stdint.h。這里容易中招的是項(xiàng)目里某個(gè)第三方庫(kù)也帶了一個(gè)stdint.h并且它的目錄在附加包含目錄列表里排在更前面那編譯器找到的就不是msinttypes的版本。關(guān)于這個(gè)路徑配置還有一個(gè)小技巧把msinttypes目錄放在附加包含目錄列表的最前面。這樣能保證優(yōu)先級(jí)最高避免和其他庫(kù)頭文件混戰(zhàn)。列表順序在屬性頁(yè)里可以直接上下移動(dòng)值得養(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ù)后緊跟目錄路徑。如果路徑有空格必須用雙引號(hào)包起來(lái)。/Tc 表示把后續(xù)文件當(dāng)作C語(yǔ)言源碼編譯如果想編譯C代碼改成 /Tp 或直接給.cpp擴(kuò)展名。執(zhí)行后如果沒報(bào)錯(cuò)會(huì)在同目錄下生成test_stdint.obj文件。有些項(xiàng)目用的是nmakeWindows下的make工具那就在Makefile里設(shè)置CFLAGS變量加上該路徑。示例CFLAGS /nologo /ID:\dev\include\msinttypes /W3這里 /W3 是警告級(jí)別按需調(diào)整。在Makefile里寫路徑時(shí)要注意反斜杠和引號(hào)的轉(zhuǎn)義習(xí)慣nmake對(duì)這些相對(duì)寬松但遇到空格時(shí)一定要引號(hào)閉合。如果你是在PowerShell或CMD里臨時(shí)測(cè)試不想加進(jìn)工程配置也可以直接用環(huán)境變量INCLUDE來(lái)臨時(shí)注入。命令行設(shè)置方式如下set INCLUDE%INCLUDE%;D:\dev\include\msinttypes這個(gè)命令的作用范圍是當(dāng)前控制臺(tái)窗口不會(huì)改動(dòng)系統(tǒng)級(jí)配置適合快速驗(yàn)證。Windows的編譯器在查找頭文件時(shí)會(huì)先查命令行參數(shù)指定的路徑再查環(huán)境變量INCLUDE所指的路徑。所以如果你的INCLUDE已經(jīng)包含了一個(gè)有stdint.h的地方可能不生效這時(shí)需要檢查順序。3.4 集成到CMake工程用CMake組織的跨平臺(tái)工程配置msinttypes比手動(dòng)改項(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模塊在配置階段自動(dòng)下載但這里不建議因?yàn)轭^文件本身不依賴網(wǎng)絡(luò)直接隨源碼分發(fā)更省事。CMake中還有一個(gè)細(xì)節(jié)MSVC的編譯器在編譯C文件時(shí)會(huì)自動(dòng)開啟C89模式編譯C時(shí)不會(huì)受到影響。如果你的CMake項(xiàng)目里同時(shí)有C和C文件并且在C代碼中也用了stdint.hmsinttypes是可以起作用的因?yàn)镃里同樣會(huì)include頭文件。唯一要注意的是如果你設(shè)置了標(biāo)準(zhǔn)庫(kù)強(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也可以但會(huì)拖慢編譯。工程里如果已有預(yù)編譯頭而你在某個(gè).cpp里直接#include stdint.h某些IDE會(huì)提示需在預(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格式化宏。如果頭文件路徑正確編譯后會(huì)輸出類似這樣的內(nèi)容sizeof(int32_t) 4 sizeof(uint64_t) 8 sizeof(intptr_t) 4 a 100, b 1122334455667788注意第三行如果編譯出來(lái)的程序是32位的intptr_t就是4字節(jié)如果是64位會(huì)是8字節(jié)。這行輸出能幫你確認(rèn)編譯目標(biāo)環(huán)境。格式化宏P(guān)RId32在Windows的老編譯器上會(huì)展開成“d”PRIx64會(huì)展開成“I64x”這兩個(gè)宏正是inttypes.h里的關(guān)鍵內(nèi)容。4.2 通過編譯日志確認(rèn)頭文件實(shí)際路徑有時(shí)候編譯通過了但心里還是不踏實(shí)想知道編譯器到底用的是哪個(gè)目錄下的stdint.h。這時(shí)候可以采用預(yù)處理指令強(qiáng)制輸出路徑信息。最簡(jiǎn)單的方法是讓編譯器生成預(yù)處理文件。cl /I D:\dev\include\msinttypes /E test_stdint.c preprocessed.txt這里的 /E 是預(yù)處理后輸出到標(biāo)準(zhǔn)輸出重定向到文本文件。打開preprocessed.txt搜索“stdint.h”就會(huì)看到完整的頭文件路徑。例如#line 1 D:\\dev\\include\\msinttypes\\stdint.h這一行說(shuō)明編譯器確實(shí)使用了你指定的msinttypes版頭文件。如果你看到路徑是某個(gè)Windows SDK目錄或者項(xiàng)目目錄下的其他頭文件那就說(shuō)明搜索順序有問題需要回到第3章調(diào)整路徑順序。除了 /E還可以在代碼里用#pragma message直接把頭文件路徑打印到編譯輸出窗口。這個(gè)方法適合在IDE里使用因?yàn)榫幾g器輸出會(huì)直接顯示在“輸出”面板中不用生成中間文件。#ifdef _MSC_VER #pragma message(using msinttypes stdint.h) #endif把這段放在一個(gè)共同的私有頭文件里或者直接放在測(cè)試代碼頂部編譯時(shí)就能看到提示。注意#pragma message是編譯器擴(kuò)展不是標(biāo)準(zhǔn)C語(yǔ)言所以外面包了一層條件編譯避免其他編譯器報(bào)錯(cuò)。4.3 在Makefile和批處理腳本里復(fù)用的細(xì)節(jié)如果你的工程是用Makefile組織的或者你更喜歡批處理腳本一鍵編譯驗(yàn)證邏輯也可以嵌進(jìn)腳本里。我自己的習(xí)慣是寫一個(gè)check_stdint.bat腳本在配置階段自動(dòng)運(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è)腳本的邏輯很簡(jiǎn)單用findstr檢查預(yù)處理輸出里是否包含“msinttypes\stdint.h”字符串找到了就返回成功否則輸出失敗并退出。批處理通過errorlevel判斷可以在構(gòu)建流水線里集成。對(duì)于使用GCC或Clang但也在Windows上交叉編譯的場(chǎng)景同樣可以用#error預(yù)處理指令做更硬的驗(yàn)證。例如在測(cè)試代碼里加入#ifndef INT32_MAX #error stdint.h does not define INT32_MAX #endif當(dāng)INT32_MAX沒有被定義時(shí)編譯直接終止并顯示錯(cuò)誤信息。這種編譯期驗(yàn)證方式比人工看日志更快適合自動(dòng)化集成。注意這里的宏定義名必須和實(shí)際頭文件一致msinttypes里確實(shí)定義了這些宏。5. 避坑指南C1083之外的五種常見翻車現(xiàn)場(chǎng)這一章是重頭戲我根據(jù)自己踩過的坑和幫同事排查的經(jīng)驗(yàn)整理了五條最容易遇到的錯(cuò)誤。5.1 坑1和其他庫(kù)自帶的stdint.h打架現(xiàn)象編譯時(shí)報(bào)一堆標(biāo)準(zhǔn)庫(kù)頭文件重復(fù)定義錯(cuò)誤錯(cuò)誤列表中全是“redefinition of typedef ‘int32_t’”、“missing type specifier”等字樣錯(cuò)誤數(shù)量能達(dá)到幾十條。原因項(xiàng)目里某個(gè)第三方庫(kù)自己攜帶了一個(gè)stdint.h或者系統(tǒng)SDK的新版本已經(jīng)包含了該頭文件。由于多個(gè)目錄都存在stdint.h編譯器按照搜索順序找了一個(gè)不期望的版本兩個(gè)標(biāo)準(zhǔn)庫(kù)的內(nèi)容彼此沖突。解決找到工程中所有名為stdint.h的文件確認(rèn)msinttypes的目錄是否在搜索列表最前面??梢栽趯傩皂?yè)中調(diào)整順序或者通過在C/C命令行中加入?yún)?shù)指定強(qiáng)制使用msinttypes的路徑。如果第三方庫(kù)的頭文件必須優(yōu)先那就只能手動(dòng)把庫(kù)自帶的stdint.h改名并把庫(kù)源碼里對(duì)應(yīng)的#include聲明一并修改。更穩(wěn)妥的辦法是用編譯開關(guān)查看預(yù)處理搜索路徑先確認(rèn)到底誰(shuí)被優(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é)對(duì)齊等設(shè)置讓類型對(duì)齊發(fā)生變化。解決先用第4章的驗(yàn)證程序打印sizeof確認(rèn)寬度。如果確實(shí)是頭文件定義問題檢查是否使用了正確版本r26對(duì)64位和32位分別做了分支處理。再檢查編譯選項(xiàng)里是否定義了_WIN32或_WIN64宏msinttypes內(nèi)部依賴這些宏做位寬分支。在編譯命令行中手動(dòng)添加/D_WIN64可以強(qiáng)制走64位路徑。我遇到過最詭異的一次是工程屬性里的“平臺(tái)工具集”被誤設(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”或語(yǔ)法錯(cuò)誤錯(cuò)誤行指向頭文件內(nèi)部的某個(gè)宏。原因老編譯器在編譯C時(shí)對(duì)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)里用來(lái)把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會(huì)直接缺定義。5.4 坑4路徑配置正確但還是提示找不到stdint.h現(xiàn)象項(xiàng)目屬性里明明加了附加包含目錄編譯時(shí)依然報(bào)C1083。原因三種典型原因。一是配置的是“調(diào)試信息”而不是“包含路徑”二是配置的路徑下沒有對(duì)應(yīng)的文件比如解壓后把文件夾嵌套了一層三是IDE緩存問題清理不徹底。解決先用系統(tǒng)文件搜索確認(rèn)完整路徑比如D:\dev\include\msinttypes\stdint.h確實(shí)存在。然后檢查屬性頁(yè)的“附加包含目錄”填寫是否就是該目錄不要把“include\msinttypes”多寫或少寫。還要關(guān)注配置類型如果是同一個(gè)工程包含靜態(tài)庫(kù)和DLL項(xiàng)目每個(gè)子項(xiàng)目都要各自配置。最后嘗試關(guān)閉IDE重開或者清理中間文件。我甚至見過有人把路徑寫成了“D:\dev\include\stdint.h”少了msinttypes這一層自然找不到。這個(gè)坑看似低級(jí)但忙亂的時(shí)候很容易犯。5.5 坑5inttypes.h中的格式化宏導(dǎo)致printf警告現(xiàn)象用PRId64打印int64_t變量時(shí)編譯器報(bào)格式字符串參數(shù)類型不匹配的警告。警告級(jí)別開得越高報(bào)得越多甚至直接導(dǎo)致編譯失敗。原因老編譯器對(duì)printf系列的格式化檢查識(shí)別不了自定義宏或者宏展開后是“I64d”這種非標(biāo)準(zhǔn)格式編譯器的警告級(jí)別過高時(shí)會(huì)產(chǎn)生警告。這個(gè)警告不影響生成但會(huì)讓追求0警告的工程無(wú)法通過。解決把警告級(jí)別從/Wall降到/W3或者在包含inttypes.h之前定義__STDC_FORMAT_MACROS宏。在老編譯器上也可以直接使用系統(tǒng)擴(kuò)展格式符號(hào)比如printf(value%I64d\n, (long long)value);不過這樣就犧牲了可移植性。我的做法是在工程級(jí)統(tǒng)一加一個(gè)頭文件提前定義好宏并設(shè)置#pragma warning抑制掉特定的警告編號(hào)。記住一個(gè)原則寧可多花十分鐘把所有格式化宏檢查一遍也別等到集成測(cè)試時(shí)才發(fā)現(xiàn)日志亂碼。6. 進(jìn)階驗(yàn)證用靜態(tài)斷言確保類型寬度不再漂移6.1 在編譯期鎖死寬度當(dāng)你給老工程配上msinttypes之后編譯通過只是第一步我更建議在代碼里加上編譯期靜態(tài)斷言把類型寬度徹底鎖死。C語(yǔ)言中沒有標(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會(huì)定義一個(gè)長(zhǎng)度為-1的數(shù)組導(dǎo)致編譯錯(cuò)誤。C99后的編譯器可能支持_Static_assert但老編譯器不支持所以這個(gè)技巧更穩(wěn)。把它放在一個(gè)公共頭文件里所有模塊都會(huì)檢查到。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對(duì)應(yīng)的是#warning但也不妨礙體驗(yàn)。加上之后每次編譯都能看到版本號(hào)省去猜謎時(shí)間。6.3 我的自查流程從那以后我每次把一個(gè)新工程移植到Windows都會(huì)強(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
返回資訊列表
国产精品呦一区二区三区| 激情小说成人日本无码一| 奇米狠999| 午夜婷婷| 夜夜嗨一区| 强奸乱伦AV网站| 青青草日韩无码| 天天操熟妇| 国产亚州高清国产拍精| 久久久精品一区二区| 狠狠干91| 天天综合欧美综合| 51国产午夜精品视频| 精品成人av一区二区三区在线| 麻豆一区二区三区精品| www.yeyecao| 丰满欧美少妇| 人人搞人人插人人操| 99色色| 久久综合久色欧美综合狠狠| 人人模人人看| 欧洲综合视频| 国产精品白领在线观看| 欧美熟妇人体| 性在久久久久久| 久久偷偷色综合蜜桃| 日美免费黄片| 欧美一区二区| 亚洲一二三四区机械| 免费人成毛片乱码| 亚洲有码第一页| 国产精品色片一区二区| 久久大香蕉97| 天天操av懂色| 亚洲熟女av日韩熟女| 操九九九九九九| 啊啊啊啊啊啊好多水| 91狠婷| 97精品视频| 国产又大又粗又长视频在线| 99热这里只有精品1| 亚洲欧洲国产综合av| 五月天九九日国产精品一区二区三区| 精品国产乱码久久久久久口爆网站| KK色在线影院| 91网亚洲| 精品色色| 加勒比在线观看一区二区| 日韩人妻精品| 青青11操操操操操操操操| 蜜臀无码视频在线观看| 激情小说亚洲视频| 熟女色综合久久| 天天看天天在线精品| 男人网站婷婷| 日日夜夜狠狠| 国产成年精品高清在线观看91| 天天影视之亚洲综合网| 97爱免费插| 精品欧美А∨无码黑人大荫蒂 | 综合激情97| 人人摸人人入| 日韩色欲久久一二三四区| 一区二区三区四区五区久久久久久| 91一起操| 亚洲中文国际强奸字幕| 亚洲精品久久久久毛片A片拉屎| 九九自拍伦理| 精品久久青青草| 国产精品麻豆视频网站| 东京热天堂网| 欲色啪| 五月天丁香| 99热99re6国产在线播放| 亚洲欧美日韩国产丝袜自拍中文| 玖玖综合.com| 亚洲中文一区二区三区视频| 久热影视| 亚洲天堂男人网| 欧美色图在线视频少妇| 97色色国产视频| 久久久久人妻| 人人扣人人操| 亚洲综合精品国产一区| 亚洲人妻在线一区| 国产欧美精品日韩区二区麻豆天美| 女欧美一区二三区| 熟妇色99| 97精品视频网站| 亚洲制服欧美另类内射| 欧美顶级黄色大片免费| 成全在线观看免费观看| 人人看人人插| 亚洲图片激情综合另类| 综合亚洲欧美精品日韩?v| 白嫩91在线亚洲| 青青草色插素人| 精品无码久久久| 九九热超碰| 日本视频在线观看污污污| 青春草莓视频在线观看网址| 国产精品操| 欧美激情内射| 亚洲国产精品无石码久久| 亚洲亚洲亚洲天堂天堂| 97超碰精品成| 91精产一区二区三区| 欧美激情片一区二区| 黑丝少妇麻豆| AND人妻系列| 老色69| 日韩性爱视频免费在线 | 不卡啪啪视频| 欧美十八禁网站| 亚洲国产尤物yw在线观看| 国产精品一二三区18| 中文字幕熟女人妻丝袜| 超碰97亚洲| 天天日天天干少妇日| 热热色91| 无码一区免费在线不卡| 亚洲国产一级黄色视频| www久久国产精品| 久热一区二区| 免费一级a毛片久久久久久鸭绿欲| 性爱综合一区二区| 顶级丝袜熟女一区二区三区 | 婷婷视频网| 日日夜夜狠狠| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 97亚洲精品超碰| 日本熟妇人妻一区二区三区| 78超碰| 亚洲综合电影| 伊人精品久久网站| 午夜精品探花| 屌逼传媒| 日日橹狠狠爱欧美超碰| 激情五月天校园春色网| 久久精品操| 欧美日韩小说| 国产精品电影大全| 91精品久久久久五月天精品| 亚洲精品日日夜夜52| 99碰碰| 啊啊啊不要好疼视频| 中文啪啪视频| 亚洲欧美日韩国产丝袜自拍中文| 婷婷丁香人妻 | 国模精品娜娜一二三区| 精品国产一区二区三区av在线资源| 2010男人的天堂| 91大胆欧美| 99热aaa| 骚货 中文字幕 av| 亚洲天堂男人天堂网| 操逼网站网站| 国产精品久久久久久 百度| 欧美久热| 99.色网| 大香蕉99re| 亚洲天堂资源| 最新AV在线| 亚洲男人综合| 5月婷婷6月六月丁香| 亚洲五月婷婷| 久久久久亚洲一区女同性恋中文字幕| 蜜臀网 一区| av爱爱爱| 丁香五月色| 91在线美女| 亚州欧美一区| 色牛aV| 亚洲日韩成人性爱视频| 91伊人久久在线| 六十路日本| 色九九九| 99热一区二区三区四区| 在线无码操| 麻豆天美久久91| 骚货 中文字幕 av| 高清无码久操视频| 五月天婷婷影院| 久久久九九九九| 91成人无码| 无套内射人妻在线播放| 天天夜夜久久| 欧美综合网在线| 无码国产精品久久久久| 欧美色图天堂网m| 国产熟女自拍| 乱伦a片视频| 欧美激情总合网| 四虎影视 亚洲无码| 啪啪视频免费在线观看| 色婷婷五月天| 黑人娇小av在线播放 | 99精品综合久久久久五月天| 无码精品久久久久久亚洲| 波多野结衣先锋影音| 97人妻色| 欧美高清91| av无码精品久久久久| 中文字幕88av在线| 九九九久久久| 亚州宗合另类| 久久久久国产精品久久久| 日韩一级特黄av毛片| 日韩女优中文字幕| 精品传媒在线一区| 国产一区二区视频在线播放| 97色妞| TS人妖另类精品视频系列| 激情综合五月天| 激情婷婷丁香网| 欧美极品性爱天天射| xxx亚洲午夜天堂| 丰满人妻一区二区三区免费 | 人妻少妇久久久| 公司1区2区3区精产精| 亚洲h片在线免费观看| 日韩欧美午夜一区二区| 精品区9| Julia Annxxxxx| 正在播放国产精品一区| 一区二区三区无卡视频在线观看| 久久99操天天日| 干美女人妻| 亚洲一级性爱视频免费看| 麻豆AV短剧| 日日操免费视频| 亚洲丝袜色图| 久艾草在线精品视频在线观看| 亚洲情色1区| 成 人 A V免费视频在线观看| 九九九九九九九九九九九免费国产| 色97干| 男人天堂久久精品| 欧美成人一级麻豆| 夜夜嗷嗷一区二区| www.久久最新地址| 久久网亚洲| 91亚洲人| 日本高清免费一本视频在线观看| 有码人妻系列| 大香蕉专区| 校园春色宗合网| 亚洲黄色网址视频| 婷婷8月天青娱乐| 亚洲男人天堂Av| 在线视频97| 亚洲视频,小说| 眼镜人妻101.com| 亚洲综合贴图91| 人人做人人妻人人夜视频| 啊啊啊在线看| 日韩精品99999| 国产肏逼网站| 91精品久久久久久77777| 懂色AV蜜臀无码精品APP| 人伦四五区| 玖玖视频在线资源一区二区三区| 强奸乱伦AV一天堂网| 熟女AV一区| 强奸乱伦大香蕉网| 色97干| 久久av网| 26uuu欧美| JIZZJIZZ亚洲女人被躁| 夜夜操夜夜高潮夜夜爽国产精品区| 欧美极度丰满熟妇hd| 射久久| 中文字幕日韩人妻视频一区二区三区交换夫妻| 婷婷激情综合网| 国产黄色剧情影片麻豆免费播放| 嗯嗯啊啊的视频| 大香蕉亚洲中文| 99re热有精品视频国产| 91无码精品| 亚州乱码中文字幕综合久久久| 近亲乱伦一区二区| 青草精品视频-日本久久久久网站| 久久免费看高潮毛片韩国| 伊人黄色视频免费观看| 青娱乐国产剧情av一区| 91在线丝袜| 久久久久久性爱视频| 一区二区三区精品视频| 色屁屁影院www国产| 日韩丨制服丨中文|在线| 99色视频| 偷看洗澡一二三区美女| 免费a级毛片av无码久久精品中文字幕| 日本天天干天天日一区| 精品网站9999| 97色亚洲| 久艹视频在线| 日本999精品| 日韩人妻少妇中文字幕| 亚洲成人久久美女| 操逼逼福利视频| 国产高清自拍视频| 欧美性爱超碰97| 使劲用力艹少妇视频一区二区 | 五月天色电影| 一区二区三区 丝袜 高跟 美腿| 大色综合网| 精品久久久av无码免费| 日韩日韩日韩-国产乱码精品一区二区| 天天天乱色综合全| 男人亚洲91首页在线| 久久久精品成人国产| 久久亚洲欧美中文字幕国语| 欧美色图色综合| 99re6在线视频播放免费精品| 性性久久| 97 视频在线| 色一射色一射| 天美av在线观看| 99操逼| 中日韩欧美精品无码AⅤ一区二区| 国产粉嫩蜜臀av一区二区三区 | 操操操五月天婷婷丁香影院| 酒色综合网| 97资源站国产精品| 老鸭窝在线视频播放| 精品妇操一区二区三区| 国产自产22区| 九九九九九九免费视频| 性欧美第一页| chaopen97久久| 一级黄碟| 国产成人啪一区二区| 色婷婷狠狠18禁| ai欧美亚洲小说| 色婷婷成人综合| 青青草在线视频人人想人人上| 99久久婷婷国产综合精品草原| 91社操逼| jiujiujiujingpin| 婷婷在线视频| 免费网色网站| wuyechaopeng| 97天天| 18啪啪手机免费性爱| 成人七区| 97久久资源| 亚洲码和欧洲精品激情系列| 神马久久69| 久久中文字幕在线观看| 欧美日韩在线视频网站| 无码天天操| 亚洲欧洲无码97久久精品| 后入式999| 欧美精品三级黄片| 色色色999| 久久宗合亚洲| 久久极品伊人| 国产精品电影大全| 亚洲中文国际强奸字幕| 乱老熟女一区二区三区| 超碰97COm中文| 久久精品国产免费观看99| 日日干夜夜操视频h| 五月婷婷青青草娱乐伊人| 亚洲综合20p| 超碰欧美| 欧美三级一级| 好色综合| 91黑丝美女| 9精品久久久久| 亚洲美女精品九九视频| 超碰人人操97碰| 私色综合网| 人人 操人人 操人人| 丰满岳乱妇一区二区三区| 91女人的网站| 国产免费一区2区3区| 在线人妻熟女一区二区三区四区五区| 99久久精品国产系列| 丁香六月婷| 电家庭影院午夜69久久夜色精品国产69乱 | av草草在线电影| 99久久久99久久91熟女| 欧美色图小说综合| 久操九九九九| 日本色色视频网站| 亚洲精品 欧美精品| 探花视频免费观看国产专区| 91人人| 国产精品无码在线| 长长久久88视频| 欧美福利视频啊啊啊啊| 欧美一级专区免费大片| 欧美日韩国产一区二区小黄片大全| 九九亚洲| 青青操视频在线| 伊人网av| 国产精品无套内谢| 蜜臀一区二区三区在线| 午夜福利久久久噜久噜久久综合| 精品国产91内射久久| 九九九成人| 青青草伊人久久| 成人三级片无码| 亚欧无码线免费观看视频| 91青青草| 人人模人人看| 91综合网在线| 丰满少妇精品一区二区| 99re不伦| 激情综合二| 精品无码久久久久久久久果冻糖心| 99精品无码| 亚洲成人贴图| 久久大黄片| 久操av在线| 精品小视频在线| 久久久久久久一级黄色打同平台| 日本中文字幕不卡视频| 麻豆精品.欧美精品.日韩精品.| 99精品丰满人妻无码| 日韩精品三区四区| 亚洲色五月| 欧美麻豆成人同性GⅤ在线| 日韩一级性爱无码| 大香蕉一级黄色片久久| 欧美亚洲91| 97天天弄| 大香蕉线| 蜜臀久久99精品久久久久电影| WWW.加勒比人妻一区不卡.com| 午夜免费视频1000| 丁香五月综合| 五月婷婷爱六月丁香色| 乱老女人一区二区视频| 在线性黄高清免费视频| 日本色色的视频| 人干人人人操人人摸| 人人摸.人人色| 黄色av网站在线播放| 久久精品店| 97久久超碰| 色情综合网| 色九九九九久| 超碰性爱97| 精爱久久| 亚洲少妇激情一区二区三区| 97超碰伊人| 久久香蕉国产线看观看亚洲女人 | 大茄子熟女AV导航| 狠狠爱夜夜| 亚洲国产精品无码AV久久| 偷拍 欧美 日韩| 国产高清免费不卡av| 中文字幕一区二区在线日韩精品| 久96热在线观看视频| 草草影院最新网址| 中文字幕精品资源在线| 91精品成人www| 有码人妻系列| 高颜值美女口爆高潮浪叫| 久久精品无码一区二区三区| 激情熟女12P| 欧美性爱视频免费一区一A| 国产精品秘 福利姬在线观看| 97香焦色区| 人妻激情在线视频| 嫩草影院在线观看精品| 国产精品一级特黄aaa大片在线观看| 99色热| 国产精品97超碰| 日逼视频日本| 丝袜无码a片| 国产JDAV无码视频在线观看| 欧美淫穴| 日本精品五区| 欧插网站| 婷婷超| 精品久久久av| 欧美夜夜草视频| 综精品久久久aaaa| 欧美激情一区| 久久精品国产99国产精品亚洲| 上特色A在线| 欧美黑人XXXⅩ高潮交| 久久久久久久9| 啪啪91| 欧美福利视频啊啊啊啊| 青青草久久一区网| 日本操逼视频不卡直接放| 熟女中出视频| 亚洲啪啪视频一区二区| 亚洲熟女一区二区| 日韩三级一区| 久久国产AⅤ| 新视频sss国产| 亚洲欧美日韩精品久| 变态另类专区| 亚洲最大的黄色电影网站。 | heyZO天然素人无码AⅤ专区| 一区二区三区男女操逼黄色小电影| 婷婷激情综合网| av一区二区三区 中文| 99操逼| 国产成年女黄特黄| 一区二区三区看视频| 日本 免费 一区二区三区 久久香蕉| 极品白嫩美女白浆成人福利在线看| 日本操逼无码| 国产精选视频| 精品无码久久| 91痴汉| 麻豆一区在线| 99re这里只有精品3| 欧洲色| 国精精品无码一二三区水多多| 澳门黄片一香蕉视频| 久久久久九九九| 91久久久久久久久18| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 黄色成年| 97国产综合欧美| 国产免a费看黄片在线| 激情五月天中文字幕色| 人妻丝袜二区| 91欧美色| 综合久久99| 爱爱动态60秒| 狠狠婷婷亚洲中文综合久久| 啊啊啊啊网站| 精品人妻一区二区三区四区石在线| 91亚洲网站| 日韩精品一二三| 色97欧美| 啊啊啊啊好多水| 囯戸精品高潮呻吟旡码| 久久婷婷视频| 欧美综合综合| 五月丁香社区婷婷日韩欧美精品影院| 高潮毛片无遮挡高清免费| 日韩性爱长视频免费| 亚洲高清视频在线免费观看| 又大又大又大又粗爽高潮观看 | 国产精品农村妇女精品| 国产精品久久aV| 亚洲AV成人精品网站在AV| 亚洲A曰本VA欧美VA视频| 97爱亚洲综合色| 日本爽爽爽爽爽爽免费视频| 日本高清免费一本视频在线观看| 日韩国产不卡在线视频| 亚洲AV无码乱码在线观看性色| 啊啊啊啊嗯嗯嗯用力好爽 | 一区超碰一区| 亚洲欧美高清无码| www.色操逼| 欧美色偷拍 | 久久精品老司| 大象AV在线| 精品中文字幕一区二区| 欧美在线干| 欧美一区二区三区大综合| 天天操人人操骚逼网站| 亚洲第二页| 乱伦一二三| 一块操欧美| 中文字幕精品丝袜| 嗯嗯不要 视频| 一级AV性爱| 中文字幕日本久久| 久久久久网站-538在线视频-欧美永久乱码| 婷婷性网| 色色色色日本| 嗯嗯嗯不要不要免费视频| 亚洲欧美在线丝袜| 欧美丰满熟妇XXXX性ppX人交| 成人女人国产| 97伊人| 成人三级片无码| 日韩丝袜高跟制服在线观看| 天天综合网日韩| 欧美精品日韩一区二区| 久热99999| 色翁荡息又大又硬又粗又爽| 国产按摩一区二区三区| 午夜经典| 欧美亚洲中文字幕| 少妇99成人麻豆| 欧美高潮| 日本性爱网址| 亚洲自拍欧美国产首页网曝| 老女人综合| 99精品热| 夜夜骑天天燥| 嫩草 人人网精品| 97超碰人妻| 91丨九色丨国产打屁股| 国产区在线| 蜜臀av一区二区三区免费观看| 一区二区三区一亚洲中文字幕、综合区灬| 嫩草一区二区在线观看| 97超碰免费生活| 中文字幕av亚洲在线| 二级毛片| 长长久久88视频| 亚欧美综合网| 快点操死我| 免费一级黄色录像影片| 久9爱经典视频| 97福利视频| 在线观看中文字幕| 一区二区三区蜜桃成人撸久久东京热| 精品综合久久久久久五月天| 91jk色拍| 无码精品久久久天天影视| 国产丝袜高跟美女av免费观看| 国产 丝袜 欧美中文 另类| 欧美情色亚洲| 九九九综合精品| 免费黄色片。| 欧美丝袜中文字幕07在线| 91影库| 亚洲凸凹超碰成人| 每日更新AV| 天天日天天干少妇日| 亚洲男人天堂网久久| 免费人成在线观看网站品爱网| 日本九九久久99| 久久乐| 手机看片日韩人妻| aV中文麻| 欧美色一二三| 99热免费| 欧美精品999| 久久风骚城市人| 先锋色眉乱伦资源| 免费网站观看www在线观| 国产女同性恋视频| 97超碰超| 台湾成人无码AV| 欧美黄色图片| 色97欧美| 亚洲欧美自拍偷拍| 亚洲综合在线高清| 国产熟女一区二区| 91成人久久| 东京热熟女亚洲视频网站| 国产精品蜜臀久久久久无码AV| 四虎免费看黄| 午夜超爽| 欧美另类天堂| 五月丁香色色网| 视频不卡中文字幕| 97一区二压| blacked精品一区国产| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 麻豆综合一区av| 国产自产91区13区| 人人操我人人干| 91视频综合在线| 色综合99| 国产高清自拍视频| 天天看片麻豆| 色五月大香蕉| 欧美 熟女 日韩| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 婷婷伊人五月| AV高清一区| 亚洲av影音先锋| 蜜臀久久久久久999| 午夜高清成人在线视频| 成人一级性爱| 中文字幕美女91| 色综合av综合久久| 不卡在线观看视频| 超碰97 线线 在现| 天天日夜干| 一区二区影视| 久久久久久久性爱| 国产 日韩,欧美 自拍| 亚洲欧美电影| 超碰在线人人射| 日韩性爱长视频免费| 一本久道久久综合狠狠爱一密臀精| 麻豆一区二区三区在线看| 久久女女| 91无码人妻精品一区二区三区蜜桃| 久久是精品| 日韩成人人妻网站| 九九九国产精品| 高精欧美色| 精品久9| 色香av| 国产午夜精品理论片a大结局| 3PAV乱伦视频| 日韩熟女乱伦中出| 操操逼操操逼操操逼逼| 久久精品国产亚洲AV片多多| 欧美疯狂做爰xxxx| 狠狠干综合| 男人的天堂.com| 色情亚洲日本成人| Aa东京男人的天堂| 哈哈操电影| 黑人娇小av在线播放 | 欧美综合区| 欧美在线视频99| 国产黄a三级三级三级av在线看| 97视频在线观看播放与子乱对白在线……| 白丝AV网站| 爱妻综合网| 亚洲色交| 91丨豆花丨熟女| www.色操逼| 玖玖爱综合| 超碰是碰在线观看| 亚洲色图欧美激情| 久久riav中文精品| 五月丁香六月激情| 国产中文福利| 亚洲欧美清纯| 欧美色视频在线| 天天操夜夜操| 欧美国产有色电影| 超碰久超碰久| 日韩亚洲中文有码视频| 婷婷五月天影院| 极品后入免费视频| 91综合熟女| 中文字幕亚洲热播人妻| 中文高清一区二区的| 激情四射五月天| 青青草久草| 国产精品成人无码av无码免费| 日本天天吊| 蜜桃臀一区二区aV| 欧美区亚洲区偷拍区| a在线视频免费观看| 亚洲精品骚逼| 一区二区三区高清| 久久精品国产亚洲AV高级北京| 婷婷情色综合网| 四虎精品亚洲| 日韩乱伦影音先锋| 四季AV综合网址| 色五月av| 黄色av一区二区在线| 青青草大香蕉在线视频| 天天躁日日躁狠狠躁| 三级片网站在线播放| av天天在线| aaa亚无码专区| 九九在线视频| 精品超碰色| 久久久久久久亚洲Av无码| 欧美九九99久久精品| 777超碰| 中文字幕在线日亚洲9| 国产精品不卡一区二区三区| 人人操人人色人人摸| 殴美牲| 欧美se综合| 中国探花熟女| 男女香蕉一区二区| 国模不卡| 亚洲色悠悠久久88| 在线无码视频| 中 文字幕一区二区三四 五 区日 日 骚 | 韩国毛片一区二区三区| 国产对白刺激视频| 丝袜视频一区二区在线播放国产中文| 凹凸视频在线一区二区| 日本久操视频| 五月亭亭六月丁香| 成人精品电影| av网站免费看| 天天摸夜夜摸| 久久成人国产精品| 久久色一区二区| 日韩欧美午夜一区二区| 诱惑人妻欧美一区在线播放| 秋霞网—男女啪啪亚洲免费体验区 | 国产suv精品一区二区四| 国产精品香蕉| 男人天堂站| 性色av大全| 日韩天天本| 日韩一级成人毛片免费观看 | 日日干男人的天堂| 2019天天干天天操| 亚洲91射| 久久婷婷五月天| 热99这里有精品综合久久| 久久色激情一区二区三区| 99婷婷一区二区| 男人 天堂 日 亚洲| 国产亚洲精品农村妇女| nuu12国产麻豆精品| 91丨九色丨大屁股| 97久久网| 欧美色天堂网在线视频| 温婉少妇玩3p| 欧美日韩人妻精品系列一区二区三区| 六月激情网| 人人弄人人摸| 天天色踪合| 色色色热| 100啪啪视频大全| 国产丸一视频| 亚洲宅男天堂| 国产久久成人| 亚洲天堂久久| 密臀在线免费观看| 亚洲色图殴美色图激情乱伦| 9久热这里只有精品| 91色综合激情| 女人高潮大叫一级毛片| 亚洲中文字幕在现观看| 亚洲天堂日本| 91 手机在线播放 绯色| 国产女人高潮嗷嗷嗷叫小说| 综合网亚洲在线| 人妻在线臀日韩| 黄色视频特级毛片| 日韩欧美性爱电影在线观看| 91人妻久久久久久久久久久久久| 激情五月天综合网| 亚洲国产一区二区日韩专区| 亚洲一区中文字幕| 亚洲成人精品久久久| 五月丁香六月婷| 精品国产91内射久久| 午夜噜噜噜| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 九九热久久99精品re| 国产激情在线| 蘋果手機免費看成人Av| 操人妻少妇中文| 国精精品无码一二三区水多多| 91天天综合日韩欧美| 亚洲色图综合网| 青青草在线成人视频| 日本人人操人人操| 人妻一区二区三区视频 | 国产偷人妻精品一区二区在线| 伊人久久88国产女| 最新日产中文在线麻豆| 欧美亚洲国产91在线| 深夜视频| 在线观看啊啊啊啊啊| 欧美亚洲美少妇一区二区| 国产一区96在线| 国产18精品亚洲精品| 北约熟女超碰| 男女啪啪啪18禁网站| 精品人妻一区二区三区不卡断| 色阁阁AV综合网| 久久精品72| 日本免费不卡二区| 首页亚洲国产高跟丝袜诱惑视频| 秋霞蝌科网日本一区| 乱伦一区二区三区‘| 在线视频亚洲无码| 精品视频一二三中文| 在线电影亚洲色图| 亚洲精品久久一区二区三区蜜桃臀| 欧美97日韩| 69AV女优男人的天堂| 夜夜操2028| 可以免费观看的AV| 亚洲精品亚洲人成人网| 色色色天美视频| 黄骗免费| 国产极品美女高潮无套在线观看| 国产精品久久天天干| 中国操逼无码| 亚欧无码线免费观看视频| 97爱综合| 久操电影| 黄片免费日韩| 69国产对白刺激| 国产肏逼网站| 国模无码人体一区二区三| 曰韩中文人妻视频| 婷婷伊人五月| 国产在线观看91精品一区| 人人操 欧美| 国产精品蜜臀久久久久无码AV| 熟女激情综合网| 操逼日批| 久久精品国产亚洲AV嘿嘿| 在线色导航| 郑州宾馆老熟女露脸啪啪| 性做久久久久久久| 亚洲成人久久美女| 五月天伊人| 国产精品91一样| 人妻出轨一区二区三区| 狠狠热这里都是精品| 欧美在线55555| 青操影院| 97欧美日韩综合| 久久人妻| 午夜操逼不卡| 亚洲aV性爱| 丁香五月激情网| 日韩一999精品| 大香网伊人久久综合网eew| 欧美91网站| 噜噜噜亚洲精| 97超碰超碰| 人妻丰满熟妇一区二区三| 欧美黄片欧美黄片xxx| 五月丁香婷婷色| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 99re久久| 欧洲性爱无码区| 日本不卡高清视频| 超碰av在线| 75大香蕉| 人妻激情视频| 国产无码三级视频在线观看| 青娱乐亚洲自拍| 九月丁香| 1204av韩国| 久久久精选| 自拍偷拍国产欧美日韩韩| 国产av美女被艹的乱叫| 综合色图,成人综合网| 99热 按摩 日韩| 亚洲无码一区成人免费午夜| 乱伦熟女专区| 爱我干综合| 欧美美女在线高潮999| 99久在线精品99re8| 婷婷久久五月综合激情| 国产浮力影院第1页| 久久精品人体| 久久久精| 永久免费av无码网站国产app| 26uuu国产免费观看| 蜜桃传媒一区二区亚洲| 日本不卡免费二区| 黄色香蕉视频网站一区| 99热啪啪| 香蕉免费一区二区三区不读 | 怡红院久久老司机| 91亚洲色人| 亚洲天堂中文字幕无码男同| 在线观看午夜婷婷久久久久清性观看| 九九草| 日韩精品在线观看网站| 97色诱| 欧美翘臀视频网站一区二区三区| 看一级特黄a大一片| 成年男人的天堂| 老熟乱一区二区三区四区| 国产毛片久久久久久久| 强奸少妇AV导航网| 在线看污网站| 国语精品内射在线观看| 91色图片| 久久大| www.久久99| 日本熟妇色熟妇在线视频播放| 欧美欧美啪啪视频| 九九热精品| 无码精品啪啪啪一区二区三区三州| 日本人妻伦在线中文字幕| 99免费视频| 国内毛片四区| 蜜桃av综合网发布| 操淫穴亚洲五月丁香| 综合亚洲欧美精品日韩?v| 美女诱惑爱爱| 九t超碰| 丁香五月天堂| 日本国产二线女色| 玖玖玖玖精品国产剧情| 综合91网| 无码人妻精品一区二区中文 | 99re视频在线观看这里只有精品| 亚洲综合草草| 人人天天干干| 亚洲天堂久| 人人干人人操人人..com| 激情黄色五月天| 日韩黄片视频试看| 综合天天网| 欧美1区二区三区公司| 97天天综合网| 婷婷久草一区二区三区| 国产免费内射视频| 天天天天干| 加勒比海色香蕉婷婷| 亚洲男人天堂2019| 国产精品香蕉| 九九久久久久久爱| 日韩极品无码B| 97玖玖超碰| 日韩无码操逼片| 熟妇人妻一区二区三在线| 老熟妇一区二区三区…| www. 男人天堂成人在线| 美中日韩无码| 91操熟女视频| 免费看毛片操穴| 久操电影| 亚洲欧美另类少妇精品| 黄色av网站在线播放| surenchaopeng| 久操视频资源站公开| 亚洲中字慕不卡| 91精品综合久久久久久五月丁香| 国产熟女无套内射| 91大神电影天堂| 又粗又长又爽在线观看| 九9精品| 婷婷导航| 亚欧高清| 亚洲自拍欧美色综合| 9久精品| 熟女欧美日韩综合婷婷| 风流老熟女一区二区三区l| 久久国产精品视频| 久久亚洲影院一区二区| 都市久久精品激情亚洲| 黄色一区三区| 91大学精品激情戏| 国产又猛又粗又爽又黄| 一区二区亚州激情久婷婷欧美| 色婷婷基地| 婷婷色色五月天福利| 天堂网 主播 亚洲| 成功精品影院| 国产探花日韩援交| 好色美女九七第一页| 欧美日日网| AA特级绝黄| 天美91| 天天草AV| 久草综合京东| 亚洲午夜福利在线影院| 99re这里只有精品9| 都市激情人妻一区二区青青操视频| www.色操逼| 色哟哟AⅤ| 97超级久久| 高跟伊人julia ann| 99热综合| 国产成人精品无码久久| 91天天综合日韩欧美| 9长久久精品| 国产天美欧美| 婷婷深爱五月| 欧美成人A√在线一区二区| 5252色欧美在线男人的天堂| 人妻一区久久二区三区色播| www久| 国产AV激情无码久久无码| 亚洲天天更新| 五十路成人在线视频二区三区| 男人天堂站| 丁香五月婷婷五月| 成年人性爱日韩| 一个人免费视频观看在线WWW | 1204av韩国| 久无码| 男女一级A片大黄,一进一出| 欧美一区二区日韩三区| 综合网欧美| 欧美人妖内射| 久久久久久久久久精| 欧美精品在线观看| 色播五月丁香| 国产精品成人蜜臀AV在线| AV一起草在线| 亚洲欧美综合| 欧美一级二级三级| 一本色道久久综合亚洲二区三区| 91l欧美在线| 性色高清在线| 亚洲天堂东京热| 丁香五月偷拍| 欧美 亚洲 偷拍自拍| 91成人久久| 视频黄色国产一级| 少妇厨房愉情理伦片bd在线观看| 国产精品天堂| 97久久国产精品女不卡| 亚洲双插| 少好三P| 无码九九| 超碰97在线色男人??| 干B| 狠狠躁天天躁日日躁| 欧美熟妇操操视频| 青青草视频在线观看一区二区| 麻豆天美国美国产| 国产欧美精品日韩区二区麻豆天美| 99久久婷婷| 九九99久久| 男人的天堂啪啪啪啪啪蜜桃不卡| 中文激情网| 国产 码在线成人网站| 91一起操| 人妻少妇久久久| 熟妇熟女视频一区二区三区| 久久久久免费少妇| 精品少妇后入一区二区三区四区人妻巨乳| av九九| 口爆综合网| 国产女上位好爽在线| 大鸡巴久久久| 在线综合 亚洲 欧美中文字幕| 青青草视频久久久久| 神马久久久久久久久久| 超碰地址97| 蜜桃精品视频一区二区三区| 精品无码产区一区二| 久热网| 97天天综合| 天天上日日上日韩精品| 亚洲av无码国产精品字幕| 中文字幕日韩电影人妻| 综合 欧美 亚洲 日本| 黄片无码在线制服| 日韩成人综合网| 另类图片五月| 久操 高清| 精品综合久久久久久97| 午夜操一视频一区| 亚洲天堂男人网| 亚洲欧洲中文日韩女优乱码| 日韩人妻一二三区视频| 视频分类 国内精品| 69超碰综合| 久久超碰免费的| 亚洲高清在线se| 亚洲人妻精品一区二区| 操逼A∨| 一区二区视频在线播放| 91久操| 亚洲欧洲精品成人| 久久久久921| 啊啊啊无码| 欧美日韩色综合网| 亚洲人妻av| 中文字幕加勒比海高清无码免费视频 | 91丝袜美女国产| 96久久久| 岛国免费黄色网址| 亚洲夜夜欢无码一区二区| 九九热免费国产视频婷婷伊人| 2017大香蕉国产精品久久| 久久精品国产亚洲粉嫩| A一区片| 9999免费精彩视频| 日韩精品人妻中文字幕有码午|