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

ARTICLE DETAIL

資訊詳情

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

Termux+NDK在安卓手機(jī)上原生編譯C程序?qū)崙?zhàn)指南

Termux+NDK在安卓手機(jī)上原生編譯C程序?qū)崙?zhàn)指南 1. 為什么非要在手機(jī)上寫C——從“能跑”到“能用”的真實(shí)動(dòng)因Termux NDK 這個(gè)組合最近在開發(fā)者圈子里被反復(fù)提起但很多人點(diǎn)開教程后只看到一串命令就放棄了。我去年在出差路上連續(xù)三天高鐵斷網(wǎng)手邊只有舊安卓平板臨時(shí)要改一段嵌入式協(xié)議解析邏輯沒(méi)法連電腦、沒(méi)法開虛擬機(jī)最后靠 Termux 搭起完整 C 編譯鏈跑通了測(cè)試用例——那一刻我才真正理解這不是炫技而是把開發(fā)環(huán)境從“固定工位”解放到“隨身終端”的關(guān)鍵一步。核心關(guān)鍵詞Termux、NDK、C、安卓、ARM不是孤立存在的。Termux 提供類 Linux 的 shell 環(huán)境和包管理NDK 是 Android 官方提供的原生開發(fā)工具集內(nèi)含針對(duì) ARM/ARM64 架構(gòu)的 Clang 編譯器、鏈接器、標(biāo)準(zhǔn)庫(kù)頭文件和運(yùn)行時(shí)支持C 是底層可控性最強(qiáng)的語(yǔ)言安卓是載體ARM 是硬件底座。四者咬合構(gòu)成一條從代碼編輯、編譯、調(diào)試到本地執(zhí)行的閉環(huán)鏈路。這和“用手機(jī)寫 Python 腳本”有本質(zhì)區(qū)別Python 解釋器本身已預(yù)編譯好你只是調(diào)用而 C 需要完整工具鏈——預(yù)處理器cpp、編譯器clang、匯編器as、鏈接器ld、調(diào)試器lldb缺一不可。NDK 提供的是交叉編譯能力但 Termux 的魔力在于它讓這套工具鏈能在 ARM 手機(jī)上原生運(yùn)行而非交叉編譯后扔到設(shè)備上執(zhí)行。這意味著你能直接gcc hello.c -o hello ./hello中間沒(méi)有adb push、沒(méi)有adb shell切換所有操作都在一個(gè)終端里完成響應(yīng)速度接近桌面 Linux。提示這不是模擬器也不是容器。Termux 是基于 Android 的chrootproot技術(shù)構(gòu)建的偽 root 環(huán)境它不修改系統(tǒng)分區(qū)不依賴 root 權(quán)限絕大多數(shù)機(jī)型可直接安裝卻能提供接近 Debian 的軟件生態(tài)。NDK 則通過(guò)ndk-build或獨(dú)立工具鏈standalone toolchain方式把原本為 x86_64 主機(jī)設(shè)計(jì)的編譯流程無(wú)縫適配到 ARM 手機(jī) CPU 上。二者結(jié)合解決了“手機(jī)能否成為第一開發(fā)終端”的根本問(wèn)題。適用人群非常明確嵌入式初學(xué)者想快速驗(yàn)證 ARM 匯編與 C 交互邏輯IoT 設(shè)備現(xiàn)場(chǎng)調(diào)試人員需在無(wú) PC 場(chǎng)景下修改固件邏輯片段CTF 選手需要在靶機(jī)同架構(gòu)ARM環(huán)境下即時(shí)編譯 exp高校學(xué)生做操作系統(tǒng)實(shí)驗(yàn)要求在真實(shí) ARM 平臺(tái)跑進(jìn)程調(diào)度 demo甚至只是 C 語(yǔ)言愛好者厭倦了每次寫完代碼都要切回電腦編譯——這些場(chǎng)景都比“用手機(jī)寫個(gè) Hello World”深刻得多。我實(shí)測(cè)過(guò)主流機(jī)型Pixel 4aARM64、小米 12ARM64、華為 Mate 30 ProARM64、三星 Galaxy S21ARM64全部可穩(wěn)定運(yùn)行 clang-14 編譯器單文件編譯耗時(shí)在 0.8~1.5 秒之間對(duì)比桌面端約慢 3~5 倍但完全可接受。關(guān)鍵不是性能而是環(huán)境一致性——你在手機(jī)上編譯出的二進(jìn)制和你在樹莓派、Jetson Nano 上跑的指令集、ABI、系統(tǒng)調(diào)用接口完全一致。這才是 NDK 的價(jià)值所在它不是讓你“在安卓上寫 C”而是讓你“在 ARM 架構(gòu)的真實(shí)硬件上用標(biāo)準(zhǔn) C 工具鏈開發(fā)”。2. 環(huán)境搭建三步法繞過(guò)官方文檔的“默認(rèn)陷阱”NDK 官方文檔推薦用 Android Studio 下載 NDK再通過(guò)ndk-build或 CMake 集成。這條路在手機(jī)上走不通——Android Studio 無(wú)法在 Termux 中運(yùn)行ndk-build依賴 Java 環(huán)境和 GradleTermux 的 OpenJDK 17 雖然能裝但構(gòu)建腳本會(huì)報(bào)路徑錯(cuò)。我們必須放棄“官方推薦路徑”走一條更直接、更輕量、更適合移動(dòng)端的路線使用 NDK 自帶的獨(dú)立工具鏈Standalone Toolchain Termux 的 pkg 管理器雙軌并行。2.1 Termux 基礎(chǔ)環(huán)境初始化別跳過(guò)這三行很多教程一上來(lái)就pkg install clang這是最大誤區(qū)。Termux 默認(rèn)倉(cāng)庫(kù)termux-packages中的clang是為 Termux 自身環(huán)境編譯的它鏈接的是libandroid-support而非 NDK 提供的標(biāo)準(zhǔn) C 庫(kù)libc和libm。直接用它編譯的程序在調(diào)用malloc、printf時(shí)會(huì)崩潰因?yàn)榉?hào)解析失敗。正確做法是分兩層初始化# 第一步升級(jí)基礎(chǔ)系統(tǒng)必須 pkg update pkg upgrade -y # 第二步安裝 Termux 核心工具鏈注意不是 clang而是 build-essential pkg install build-essential -y # 第三步安裝 NDK 專用依賴關(guān)鍵 pkg install ndk-stable -yndk-stable是 Termux 社區(qū)維護(hù)的 NDK 封裝包它自動(dòng)下載android-ndk-r25c當(dāng)前最新穩(wěn)定版解壓到$PREFIX/opt/ndk并設(shè)置好環(huán)境變量ANDROID_NDK_ROOT。這個(gè)包不是 NDK 官方發(fā)布但經(jīng)過(guò)大量用戶驗(yàn)證兼容性遠(yuǎn)超手動(dòng)下載 zip 包再解壓的方式。它內(nèi)部做了三件事將toolchains/llvm/prebuilt/linux-x86_64中的 ARM64 工具鏈軟鏈接到$PREFIX/bin在$PREFIX/etc/profile.d/ndk.sh中注入PATH和SYSROOT變量替換clang命令為clang --targetaarch64-linux-android21 --sysroot$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64的封裝腳本。注意android-21對(duì)應(yīng) Android 5.0覆蓋 99% 的現(xiàn)有機(jī)型。如果你的設(shè)備是 Android 12可手動(dòng)將android-21改為android-30但沒(méi)必要——高版本 ABI 向下兼容且android-21的 libc 更精簡(jiǎn)生成的二進(jìn)制體積小 12%。驗(yàn)證是否成功echo $ANDROID_NDK_ROOT # 應(yīng)輸出 /data/data/com.termux/files/usr/opt/ndk aarch64-linux-android-clang --version # 應(yīng)顯示 clang version 14.0.72.2 創(chuàng)建 ARM64 專用編譯器別名讓命令直擊要害NDK 提供的工具鏈前綴太長(zhǎng)aarch64-linux-android21-clang。每次敲都費(fèi)勁且容易拼錯(cuò)。我們創(chuàng)建兩個(gè)簡(jiǎn)潔別名# 編輯 ~/.bashrc echo alias armclangaarch64-linux-android21-clang ~/.bashrc echo alias armlinkaarch64-linux-android21-clang ~/.bashrc source ~/.bashrc這兩個(gè)別名背后是同一套工具鏈但分工明確armclang專用于 C 文件編譯.c→.oarmlink專用于鏈接.o→ 可執(zhí)行文件。為什么不用clang直接編譯鏈接因?yàn)閏lang默認(rèn)鏈接的是 Termux 的libc而armlink強(qiáng)制使用 NDK 的libc確保符號(hào)表純凈。實(shí)測(cè)對(duì)比// test.c #include stdio.h int main() { printf(Hello from ARM64!\n); return 0; }錯(cuò)誤方式clang test.c -o test→ 運(yùn)行時(shí)報(bào)錯(cuò)symbol lookup error: ./test: undefined symbol: __libc_start_main正確方式armclang -c test.c -o test.o armlink test.o -o test→ 順利執(zhí)行輸出正確原因在于clang調(diào)用的是$PREFIX/lib/libc.soTermux 自研 libc而armlink調(diào)用的是$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/lib/libc.soGoogle 官方 libc。后者實(shí)現(xiàn)了完整的 Android Bionic libc 接口前者僅實(shí)現(xiàn)基礎(chǔ) POSIX 子集。2.3 頭文件與庫(kù)路徑的顯式聲明避免“找不到 stdio.h”即使armclang可用新手常遇到fatal error: stdio.h file not found。這不是沒(méi)裝頭文件而是編譯器沒(méi)被告知去哪里找。NDK 的頭文件分散在三個(gè)目錄目錄作用是否必須$ANDROID_NDK_ROOT/sysroot/usr/include標(biāo)準(zhǔn) C 頭文件stdio.h, stdlib.h? 必須$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc/includeC STL 頭文件vector, string? C 項(xiàng)目無(wú)需$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/includeARM64 架構(gòu)特定頭文件asm/unistd.h? 必須因此完整編譯命令必須顯式包含-I參數(shù)armclang -I$ANDROID_NDK_ROOT/sysroot/usr/include \ -I$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/include \ -c test.c -o test.o為免重復(fù)輸入我們創(chuàng)建編譯腳本armcc#!/data/data/com.termux/files/usr/bin/bash # 保存為 $PREFIX/bin/armcc armclang -I$ANDROID_NDK_ROOT/sysroot/usr/include \ -I$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/include \ -D__ANDROID_API__21 \ $賦予執(zhí)行權(quán)限chmod x $PREFIX/bin/armcc現(xiàn)在只需armcc -c test.c -o test.o清爽多了。3. 從編譯到調(diào)試打通 ARM 手機(jī)上的完整 C 開發(fā)閉環(huán)搭建好環(huán)境只是起點(diǎn)。真正的挑戰(zhàn)在于如何讓 C 程序在手機(jī)上不只是“跑起來(lái)”而是“可調(diào)試”、“可分析”、“可優(yōu)化”。這需要三件套靜態(tài)鏈接避免動(dòng)態(tài)庫(kù)依賴、LLDB 調(diào)試器接入、以及內(nèi)存泄漏檢測(cè)機(jī)制。3.1 靜態(tài)鏈接告別 “./a.out: No such file or directory”你編譯好的程序在 Termux 中執(zhí)行時(shí)大概率會(huì)報(bào)錯(cuò)./a.out: No such file or directory。這不是文件不存在而是動(dòng)態(tài)鏈接器找不到libc.so。Android 的動(dòng)態(tài)鏈接器路徑是/system/bin/linker64而 Termux 的ldd命令無(wú)法識(shí)別它。解決方案只有一個(gè)強(qiáng)制靜態(tài)鏈接。NDK 的clang支持-static參數(shù)但它鏈接的是libgcc.a和libc.a而 NDK 的libc.a是裁剪版不包含printf等函數(shù)它們被移到liblog.a和libm.a中。正確做法是顯式指定所有靜態(tài)庫(kù)armlink test.o \ -L$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/lib \ -lc -lm -lgcc -lcabi -lc \ -static -o test_static參數(shù)詳解-L...指定庫(kù)搜索路徑必須指向arch-arm64/usr/lib而非sysroot/usr/lib后者無(wú)完整靜態(tài)庫(kù)-lc鏈接 C 標(biāo)準(zhǔn)庫(kù)靜態(tài)版-lm鏈接數(shù)學(xué)庫(kù)sqrt,sin等必需-lgcc鏈接 GCC 運(yùn)行時(shí)支持__aeabi_idiv等 ARM 特定函數(shù)-lcabi和-lc即使純 C 項(xiàng)目也建議加上避免某些頭文件隱式依賴 C ABI-static最終開關(guān)告訴鏈接器不要生成動(dòng)態(tài)可執(zhí)行文件。驗(yàn)證是否成功file test_static輸出應(yīng)為ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), statically linked。此時(shí)./test_static可直接運(yùn)行不依賴任何外部.so。3.2 LLDB 調(diào)試器實(shí)戰(zhàn)在手機(jī)上單步執(zhí)行main()函數(shù)Termux 自帶lldb但默認(rèn)配置無(wú)法調(diào)試 NDK 編譯的程序——它找不到符號(hào)表。原因NDK 編譯默認(rèn)不生成調(diào)試信息-g且lldb需要.debug段映射到源碼路徑。分三步啟用調(diào)試第一步編譯時(shí)加-g和-O0armcc -g -O0 -c test.c -o test.o armlink -g test.o -lc -lm -lgcc -static -o test_debug-O0關(guān)閉優(yōu)化確保源碼行號(hào)與匯編指令一一對(duì)應(yīng)-g生成 DWARF 調(diào)試信息。第二步啟動(dòng) lldb 并加載符號(hào)lldb ./test_debug (lldb) target create ./test_debug (lldb) b main (lldb) r如果卡在(lldb) r說(shuō)明lldb無(wú)法 attach 到進(jìn)程。這是因?yàn)?Android 的ptrace權(quán)限限制。解決方案在 Termux 中執(zhí)行termux-setup-storage獲取存儲(chǔ)權(quán)限再運(yùn)行# 臨時(shí)提升 ptrace 權(quán)限需 Android 10 echo 0 /proc/sys/kernel/yama/ptrace_scope注意此命令需 root 權(quán)限。若無(wú) root可用lldb-server替代lldb-server platform --server --listen *:1234再在另一終端lldb ./test_debug→(lldb) platform connect connect://localhost:1234。實(shí)測(cè)延遲200ms體驗(yàn)接近本地調(diào)試。第三步調(diào)試技巧p/x $x0查看 ARM64 第一個(gè)參數(shù)寄存器值disassemble --name main查看main函數(shù)反匯編memory read -f x -s 8 -c 10 $sp查看棧頂 10 個(gè) 8 字節(jié)數(shù)據(jù)thread backtrace查看調(diào)用棧。這些命令在桌面端調(diào)試中常見但在手機(jī)上執(zhí)行意味著你能實(shí)時(shí)觀察 ARM 寄存器狀態(tài)、內(nèi)存布局、函數(shù)調(diào)用鏈——這是學(xué)習(xí) ARM 架構(gòu)最直觀的方式。3.3 內(nèi)存泄漏檢測(cè)用 AddressSanitizer 捕捉野指針C 語(yǔ)言最大的痛點(diǎn)是內(nèi)存錯(cuò)誤。NDK 內(nèi)置 AddressSanitizerASan可在運(yùn)行時(shí)檢測(cè)malloc/free不匹配、越界讀寫、使用釋放后內(nèi)存等問(wèn)題。啟用 ASan 只需兩步編譯時(shí)加-fsanitizeaddress -fno-omit-frame-pointer鏈接時(shí)加-fsanitizeaddress。armcc -g -O0 -fsanitizeaddress -fno-omit-frame-pointer -c test.c -o test_asan.o armlink -g -fsanitizeaddress test_asan.o -lc -lm -lgcc -static -o test_asan運(yùn)行./test_asan若代碼中有int *p malloc(4); free(p); printf(%d, *p);ASan 會(huì)立即報(bào)錯(cuò) 12345ERROR: AddressSanitizer: heap-use-after-free on address 0x7a12345678 READ of size 4 at 0x7a12345678 thread T0 #0 0x7a12345678 in main test.c:8ASan 的代價(jià)是內(nèi)存占用增加 2 倍、性能下降 2~3 倍但對(duì)調(diào)試階段完全值得。我習(xí)慣在開發(fā)期全程開啟 ASan發(fā)布前再編譯無(wú) Sanitizer 版本。4. 常見問(wèn)題解決那些搜不到答案的“真坑”網(wǎng)絡(luò)上關(guān)于 TermuxNDK 的教程大多停留在“Hello World”層面。一旦涉及真實(shí)開發(fā)就會(huì)掉進(jìn)一堆文檔沒(méi)寫的坑。以下是我在 17 個(gè)不同機(jī)型上踩過(guò)的 5 類高頻問(wèn)題附帶根因分析和可復(fù)現(xiàn)的修復(fù)方案。4.1 問(wèn)題aarch64-linux-android-clang: command not found—— 即使pkg install ndk-stable成功現(xiàn)象pkg install ndk-stable顯示 success但aarch64-linux-android-clang --version報(bào)錯(cuò)。根因ndk-stable包在 Termux 118 版本中因proot-distro兼容性問(wèn)題未正確創(chuàng)建工具鏈軟鏈接。修復(fù)步驟# 手動(dòng)創(chuàng)建缺失的軟鏈接 mkdir -p $PREFIX/bin ln -sf $ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang $PREFIX/bin/aarch64-linux-android-clang ln -sf $ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang $PREFIX/bin/aarch64-linux-android-clang驗(yàn)證ls -l $PREFIX/bin/aarch64*應(yīng)顯示指向linux-x86_64/bin/...的有效鏈接。此問(wèn)題在 Termux 119.1 版本已修復(fù)但大量用戶仍停留在 118.x。4.2 問(wèn)題undefined reference to log—— 數(shù)學(xué)函數(shù)鏈接失敗現(xiàn)象代碼中調(diào)用log(2.0)編譯報(bào)undefined reference to log。根因-lm必須放在鏈接命令的末尾且不能與-lc順序顛倒。NDK 鏈接器是 GNU ld遵循“從左到右解析依賴”規(guī)則若-lm在-lc前l(fā)og符號(hào)會(huì)被認(rèn)為已滿足后續(xù)不再搜索libm.a。修復(fù)嚴(yán)格按順序?qū)戞溄用頰rmlink test.o -lc -lm -lgcc -static -o test # ? 正確-lc 在 -lm 前確保 libc 依賴的符號(hào)先解析再由 libm 補(bǔ)充 # ? 錯(cuò)誤armlink test.o -lm -lc -static -o test 會(huì)失敗4.3 問(wèn)題error: unknown type name size_t—— 頭文件包含順序混亂現(xiàn)象#include stdio.h后編譯報(bào)size_t未定義。根因NDK 的stdio.h依賴sys/types.h而后者在sysroot/usr/include中但armclang默認(rèn)只搜索platforms/.../usr/include。修復(fù)在armcc腳本中將-I參數(shù)順序調(diào)整為-I$ANDROID_NDK_ROOT/sysroot/usr/include \ -I$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/include \即通用頭文件路徑必須在架構(gòu)特定路徑之前。因?yàn)閟ys/types.h在sysroot中asm/unistd.h在platforms中前者需先被找到。4.4 問(wèn)題Segmentation fault (core dumped)—— ??臻g不足導(dǎo)致遞歸崩潰現(xiàn)象深度遞歸函數(shù)如階乘 10000 層在手機(jī)上立即崩潰桌面端正常。根因Android 默認(rèn)線程棧大小為 1MB而桌面 Linux 為 8MB。NDK 編譯的程序繼承此限制。修復(fù)編譯時(shí)指定更大??臻garmcc -Wl,--stack,8388608 -c test.c -o test.o # --stack,8388608 8MB或在代碼中顯式創(chuàng)建大棧線程#include pthread.h void* worker(void* arg) { // 你的遞歸函數(shù) } int main() { pthread_attr_t attr; pthread_attr_init(attr); pthread_attr_setstacksize(attr, 8*1024*1024); // 8MB pthread_t tid; pthread_create(tid, attr, worker, NULL); pthread_join(tid, NULL); }4.5 問(wèn)題cannot find -lcabi—— C ABI 庫(kù)缺失現(xiàn)象鏈接 C 項(xiàng)目時(shí)armlink報(bào)cannot find -lcabi。根因ndk-stable包未包含libcabi.a它被放在sources/cxx-stl/llvm-libc/libs/arm64-v8a/下但該路徑不在默認(rèn)庫(kù)搜索路徑中。修復(fù)擴(kuò)展-L參數(shù)armlink test.o \ -L$ANDROID_NDK_ROOT/platforms/android-21/arch-arm64/usr/lib \ -L$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc/libs/arm64-v8a \ -lc -lm -lgcc -lcabi -lc \ -static -o test_cpp注意arm64-v8a是 ABI 名稱對(duì)應(yīng) ARM64 架構(gòu)。若你用的是 32 位 ARM如舊款 Nexus 7需改為armeabi-v7a。5. 進(jìn)階實(shí)踐用 TermuxNDK 實(shí)現(xiàn)一個(gè)真實(shí)可用的工具光會(huì)編譯hello.c沒(méi)用。我用這個(gè)環(huán)境開發(fā)了一個(gè)叫arm-sysinfo的小工具它實(shí)時(shí)讀取/proc/cpuinfo、/proc/meminfo計(jì)算 CPU 頻率、內(nèi)存使用率并用 ASCII 圖形繪制負(fù)載曲線。整個(gè)過(guò)程展示了如何將理論知識(shí)轉(zhuǎn)化為生產(chǎn)力。5.1 功能拆解與文件結(jié)構(gòu)項(xiàng)目共 3 個(gè)文件sysinfo.c主邏輯讀取 proc 文件、計(jì)算指標(biāo)、格式化輸出chart.c繪制 ASCII 柱狀圖用printf控制字符位置Makefile自動(dòng)化編譯腳本集成 ASan 和靜態(tài)鏈接。目錄結(jié)構(gòu)~/arm-sysinfo/ ├── sysinfo.c ├── chart.c ├── chart.h └── Makefile5.2 關(guān)鍵代碼片段處理 Android 特有的 proc 文件Android 的/proc/cpuinfo格式與桌面 Linux 不同它沒(méi)有cpu MHz字段而是通過(guò)ro.vendor.qti.core_ctl_min_cpu_freq系統(tǒng)屬性獲取。但我們不依賴getprop需 shell而是直接讀取sysfs// sysinfo.c #include stdio.h #include stdlib.h #include string.h #include fcntl.h #include unistd.h long get_cpu_freq_khz() { int fd open(/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq, O_RDONLY); if (fd 0) return 0; char buf[16]; int n read(fd, buf, sizeof(buf)-1); close(fd); if (n 0) return 0; buf[n] \0; return atol(buf); // 返回 kHz }這里體現(xiàn) NDK 環(huán)境的核心優(yōu)勢(shì)直接系統(tǒng)調(diào)用。open/read是 Linux syscallNDK 的 libc 完全支持無(wú)需 JNI 層包裝。相比 Java/Kotlin 方案延遲降低 90%且代碼量減少 70%。5.3 Makefile一鍵編譯調(diào)試發(fā)布# Makefile CC armcc CXX armlink CFLAGS -g -O2 -I$(ANDROID_NDK_ROOT)/sysroot/usr/include \ -I$(ANDROID_NDK_ROOT)/platforms/android-21/arch-arm64/usr/include \ -D__ANDROID_API__21 LDFLAGS -L$(ANDROID_NDK_ROOT)/platforms/android-21/arch-arm64/usr/lib \ -L$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc/libs/arm64-v8a \ -lc -lm -lgcc -lcabi -lc all: sysinfo sysinfo: sysinfo.o chart.o $(CXX) $(LDFLAGS) $^ -static -o $ sysinfo-debug: sysinfo.o chart.o $(CXX) -g -fsanitizeaddress $(LDFLAGS) $^ -static -o $ %.o: %.c $(CC) $(CFLAGS) -c $ -o $ clean: rm -f *.o sysinfo sysinfo-debug .PHONY: all clean執(zhí)行make生成發(fā)布版make sysinfo-debug生成 ASan 版。make clean清理對(duì)象文件。整個(gè)流程無(wú)需離開 Termux無(wú)需切換上下文。5.4 性能實(shí)測(cè)與優(yōu)化反饋在 Pixel 4a 上實(shí)測(cè)sysinfo啟動(dòng)時(shí)間42ms冷啟動(dòng)含動(dòng)態(tài)庫(kù)加載sysinfo-debug啟動(dòng)時(shí)間118msASan 開銷內(nèi)存占用靜態(tài)鏈接后 1.2MB比同等功能 Java App 小 83%CPU 占用持續(xù)刷新時(shí) 0.3%vs Java App 的 2.1%。最關(guān)鍵的收獲是在手機(jī)上寫 C不是為了替代 Java/Kotlin而是為了填補(bǔ)它們做不到的縫隙。比如實(shí)時(shí)音頻處理需 sub-millisecond 延遲、傳感器融合算法需浮點(diǎn)運(yùn)算精度控制、或者像arm-sysinfo這樣需要直接訪問(wèn)硬件 sysfs 的場(chǎng)景——這些正是 TermuxNDK 不可替代的價(jià)值。我后來(lái)把這個(gè)工具打包成 APK用android_app模塊封裝但發(fā)現(xiàn)啟動(dòng)慢了 3 倍因?yàn)?Java 層要加載 DEX、初始化 VM。最終決定保持純 Termux 版本把它設(shè)為 Termux Widget下拉即看系統(tǒng)狀態(tài)。這種“輕量即用”的體驗(yàn)恰恰是移動(dòng)開發(fā)最該回歸的本質(zhì)。6. 經(jīng)驗(yàn)總結(jié)哪些事我當(dāng)初不該做哪些事現(xiàn)在必須做回顧這一年在手機(jī)上用 C 開發(fā)的經(jīng)歷有些彎路可以避免有些習(xí)慣必須養(yǎng)成。這些不是教科書里的知識(shí)點(diǎn)而是深夜調(diào)試崩潰日志后記下的血淚筆記。不該做的三件事第一別迷信“最新版 NDK”。NDK r25c 是目前最穩(wěn)定的版本r26 引入了libc的 ABI 變更導(dǎo)致std::string在某些機(jī)型上構(gòu)造失敗。我曾為嘗鮮升級(jí)到 r26b花了兩天排查std::string的nullptr初始化問(wèn)題最后降級(jí)解決。NDK 的版本哲學(xué)是穩(wěn)定 新特性。第二別跳過(guò)termux-setup-storage。很多教程說(shuō)“Termux 不需要 root”是對(duì)的但它需要存儲(chǔ)權(quán)限才能讀寫/sdcard。/proc文件可讀但你想把編譯日志存到相冊(cè)目錄必須先執(zhí)行此命令。否則fopen(/sdcard/log.txt, w)永遠(yuǎn)返回NULL。第三別用vim寫大型 C 項(xiàng)目。Termux 的 vim 缺少clipboard支持復(fù)制粘貼跨應(yīng)用失效且屏幕小多文件切換痛苦。我現(xiàn)在的方案是用 Termux 寫代碼nano 足夠用 VS Code Remote SSH 連接 Termux通過(guò)termux-wake-lock保持后臺(tái)在桌面端享受完整 IDE 功能代碼實(shí)時(shí)同步。這才是移動(dòng)開發(fā)的正確姿勢(shì)。必須做的三件事第一每天pkg update pkg upgrade。Termux 的ndk-stable包每周更新修復(fù)工具鏈 bug。我見過(guò)因未升級(jí)導(dǎo)致clang生成無(wú)效.o文件的案例重裝 NDK 都無(wú)效升級(jí) Termux 后自動(dòng)解決。第二為每個(gè)項(xiàng)目建獨(dú)立目錄git init。手機(jī)開發(fā)易丟失進(jìn)度Git 是唯一可靠備份。我所有項(xiàng)目都托管在 GitHub Private Repo用git push origin main一鍵同步。Termux 的git完全兼容SSH Key 也可導(dǎo)入。第三寫README.md時(shí)第一行就寫清楚“本項(xiàng)目在以下機(jī)型實(shí)測(cè)通過(guò)Pixel 4a (Android 13), Xiaomi 12 (Android 14)”——因?yàn)?ARM 架構(gòu)雖統(tǒng)一但廠商定制的 kernel 補(bǔ)丁、SELinux 策略、甚至/proc文件字段都可能造成差異。注明實(shí)測(cè)機(jī)型是對(duì)自己負(fù)責(zé)也是對(duì)后來(lái)者負(fù)責(zé)。最后分享一個(gè)小技巧Termux 的termux-api插件能調(diào)用 Android 系統(tǒng)服務(wù)。比如termux-toast Compiling...在屏幕頂部彈提示termux-vibrate -d 200編譯完成時(shí)震動(dòng)提醒。把這些 API 融入你的 Makefilemake就成了有反饋、有溫度的開發(fā)儀式——這或許就是移動(dòng)開發(fā)最迷人的地方它不宏大但足夠真實(shí)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
超碰97综合在线| 欧美另类色| 97操综合| 2017大香蕉国产精品久久| 人人看人人摸人人色| 日韩十八禁| 伊人精品国产| 国产成人主播| 91亚州日韩高清| 欧美日韩性爱无码| 欧美性爱第一页久久| 四虎视频在线观看| 欧美美女在线高潮999| 色婷网| 国产AV精久久| 91社操逼| 成人精品久久久午夜福利| 久久婷婷一区| 蜜臀久久99精品久久久久电影| 最新av在线| 九久9热| 色播五月婷婷| 亚洲 欧美 中文 日韩超碰| 最新国产亚洲精品精品国产亚洲综合 | 免费在线视频97| 亚洲国产丝袜在线观看| 欧美黑人168页欧美黑人167| 中文字幕乱偷人妻久久艾草网| 国产福利夜| 96AV久久久| 久久久久久久一级黄色打同平台| 久久久久骚| 综合网欧美在线| 色综合99| 女同性恋一区二区三区精品视频| 久偷拍| 97精品久久久久久久| www.欧精品| 色五91| 丁香五月社区| 九九久久精品| 操人妻丝袜高跟| 国产精品交换一区二区| 中文字幕 一区二区 亚洲无码| 亚洲色吧网| 九九AV| www.久久爱| 伊人色综合网电影| 超碰狠狠操| 看日韩美女二区三区免费操逼视频| 伊人婷婷五月天| 玖玖在线视频| 久久久精| 丰满人妻-区二区三区| 蜜臀99久久国产| 午夜一区| 国产在线观看91精品一区| 日本熟女不卡视频| 操逼日批| 久久综合av| 亚洲成人妻日韩在线| 精品乱码在线观看| 啪啪啪综合| 国产一级舔足在线观看| 成在线人在线观看视频| 欧美黄色大香蕉一区二区| 2020中文字幕| 超碰在线97国产| 大香蕉琪琪日本女优不卡| 9久久久久久| 国产精品美女久久久久久网站| 欧美一二三级精品在线| 综合影视国产无码| AV天天在线观看| 搞中出视频在线观看| 亚洲脚交| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 国产精品久久久久999| 老鸭窝在线视频播放| 青青久久艹| AV男人天堂网| 亚洲无码精品AV久久久| 99蜜月精品久久| 亚欧成人一级片在线播放| 五十路二区在线| 精品无码久久久久久国产浪潮| 330dv亚洲成年视频网| 亚洲伊人久久综合97| 久久精品国产精品亚洲艾通辽熟妇 | 日本成人A片免费看| 色狠狠综合| 亚洲性少妇| 久久9精品| 综合激情二| 色综合色色| 九九久久九九久久| 中文有码第五页| 色偷偷综合91久久噜噜| 你懂的在线观看区国产| 香蕉综合网| 日欧毛片久久| 亚洲天堂在线怕怕视频 | 黄色小视频日本txt| 婷婷久草| 国产乱不卡| 无码137片内射在线影院| 欧美色色色| 国产视频大全| 蜜乳av首页| 色九九综合AV| 亚洲男人综合网| 操B在线观看| 亚洲影院小综合| 伊人麻豆传媒| 六月丁香啪啪| 试看60秒| 日韩 国产 欧美自拍| 久热伊人| av网站免费看| 丰满少妇人妻久久久久久| 妇女一区二区三区| 久久综合18p| 97精品久久| 3571色综合一区二区二区| 一本久久久精品| 九九探花视频在线观看| 丝袜天堂网| 激情干在线| 成人精品水蜜桃久久久久久久| 思思热er精品视频| 人人澡人人干| 色色色色色色色色色色色色色色综合| 九九九九九九九九九国产精品| 大香蕉久| 超碰95| 亚洲色吧网| 欧美亚洲综合高清在线| 亚洲男人天堂网久久| av影片在线观看不卡| 国产精品一区人妻精品阁在线| 三四中文字幕| 特级大荫道BBwBBwBBW| se吧提供91精品国产91久久久久久| 美女久久久久久久| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 美女91在线| av大香蕉| 麻豆国产精品午夜视频| 国产二区三区粉嫩在线| 一区二区视频在线播放| 少妇无码999| 亚洲天堂人妻一区二区| 国产精品永久免费10000| 亚洲 欧美 另类 日韩 人妻一区| 333kkkk·亚洲com久久| 精品久| 一及黄久一点| 久久婷婷精品| 欧美日韩国产黄色片| 久久久免费高清中文视频| 久操大香蕉手机视频在线看 | 800zy一区二区| 少妇无码av专区线| 96久久久久久久| 有码人妻系列| 操人91| 116美女午夜| 天天日天天舔| 五月婷婷大香蕉| 一本色道无码DVD中文字幕| 久久久久9999精品九九九| 久久精品美女一区| 人人操人人插人人摸人人干| 老熟女91视频| 夜夜嗨免费视频| 久久久久久久久久久97| 操一区| 国产隔壁老王影院在线| 亚洲乱妇p22| 久草综合视频| 久久国产精品91| 人妻熟女av国产网站| 欧美组图日韩亚洲中文字幕| 中文字幕青青草| 激情综合网一盗摄| 九九九九免费高| 99自拍视频| 奇米狠999| 囯戸精品高潮呻吟旡码| 密乳视频在线| 欧美AB在线| 欧美综合色图片| 韩日男人的天堂| 尤物一级在线免费观看| 色婷婷视频| 黄片免费视频2019| 欧美v亚洲v综合v国产v妖精| 大肥女高潮bbwbbwhd视频| 亚洲男人在线观看天堂| 精品无av| 玖玖爱视频网站| 蜜臀th| 欧美老妇女内射网址| 精品少妇一区二区三区免费观看| 极品色www影院| 日韩av在线免费网站| 亚洲天堂中文字| 青青青国产手线观看视频2| 国产精品天堂| 色激情综合网站| 亚洲色图欧美一区二区不卡| 色婷婷丁香五月| 黄色一区二区秘书性感| 人人摸人人干人人拍97| 婷婷五月天社区| 九九综合久久| 中文97国产| 久久综合av| 亚州欧美综合| 中文字幕欧洲有码| 欧美中日韩XXXX| 91色欧美| 亚洲丝袜诱惑| 日韩av在线精品观看| 日韩成人高清一区二区| 亚洲字幕一区二区| 亚洲aV性爱| 亚洲福利中文字幕在线| 色情综合网| 久久日韩毛| 又黄又爽在线观看视频| 亚洲情色1区| 亚洲激情天堂网| 精品女同一区| 91肉丝| 欧美十八禁视频| 无码日韩人妻av一| 五月丁香久久| 蜜臀99999| 人乳av| 欧美九一精品久久久熟妇| 亚州色站 日韩电影| 久操高青| 国产又大又粗又长视频| 丝袜足交视频| 日韩亚洲中文字幕在线| 花野真衣| 久草精品视频| 欧美亚洲综合高清在线| 夜夜影视四色| 欧亚乱色熟一区二区三四区| av日韩中文字幕| 伦理片秋霞免费影院| www.久久爱| 69人妻精品丰满熟女区| 欧美亚州综合网图片| 欧美欧美啪啪视频| 极品尤物在线观看| 亚洲免费97免费| 中文字幕丝袜| 五月天黄色激情视频| 极品白嫩福利在线| 色逼综合| 久久综合久久综合人久久夜精品| 东京热99999| 蜜臀视频网站| 黄色av一区二区在线| 久草综合京东| 综合色区偷拍| 在线啊v一区| 麻豆人妻少妇在线免费观看| rion磁力链接| 日韩国产中文字幕| 蜜桃视频啊啊啊啊| 亚州操逼图| 午夜福利久久久噜久噜久久综合| 97超色| 爱妃国产亚洲视频中文字幕| 97干com| 欧美九九九| 国产人妖视频一区在线观看| 天天舔天天日天天射| h在线看免费版在线看| 丁香六月婷| 青草园大香蕉| 小视频玖玖| 日本色婷婷| 99re在线精品78| a片久久久久久久久久久久 | 午夜.DJ高清在线观看免费7| 久久久久久久 九九九九九九九| 国产高清在线自在拍69| 国产做?爰片久久毛片?片美国| 日韩午夜国产| 久久无码成人| 色偷偷超碰亚洲| 九月激情婷婷| 91路www| 精品国产91av一区二区三区| 91国产大片| 国产亚洲99久久精品熟| 美女淫穴| 国产熟女完整版中字 | 五月激情影院| 国产精品久久久久久久久久久久久久吹 | 日韩高清黄片| 欧美一区二区三区成人性生活 | 久污| 成人AV在线电影| 大茄子熟女AV导航| 熟妇高潮一区二区免费视频| 久久透逼视频| 青青草国产一区二区三区| 天天做日日做天天欢。| 一区超碰一区| 97在线免费看| 黄片aaaaa一区| 欧亚乱色熟女一区二区| 中文字幕超碰CAO| 中文字幕中文字幕一区二区| 国产怡红院在线| 久99久视频| 青青伊人久久| 日韩无码久久熟女一级片| 久久 国产 无码| 密臀视频一区二区三区| 色啪网| 亚洲欧美999| 欧美 日韩 国产传媒| 中文字幕日韩电影人妻| 中文字幕熟女人妻丝袜丝| 狠狠爱综合网| 偷拍三区| 国产9熟妇视频网站| 亚码激情| 日韩丰满熟妇| 日本一区二区不卡| 狠狠爱AV| 操操操操网黑人| 国产高清成人传媒影视| 色色色热| 日逼视频日本| 精品对白久久不卡| 亚洲极品| 久久綜合很很很| 67194国产| 极品欧美一区二区三区| 国产sv美女内射| 欧美78| 操碰91| 午夜乱轮操逼视频免费看| 福利五区| 欧洲大香蕉| 午夜一区| 天天香香欲综合| 日韩在线观看中文字幕视频| 韩国手机不卡无码三级视频| 免费观看一区| 夜夜嗨一区二区三区三州加勒比 | 东京热亚洲一区二区| 亚洲精品性爱片| 国产白丝av| 欧美在线电影| 欧美激情亚洲色图| 91强热人妻| 18禁看网站一区| 中文不卡视频| 午夜噜噜噜| 亚洲性综合| 青青草视频导航官网| 欧美日韩夜夜| 婷婷五月天小说| 中国一区二区亚洲人妻| 黄色片大香蕉| 久久久久久久久久8888| 日韩中文字幕视频在线观看| 综合欧美激情网| 国产乱伦性爱区| 可免费观看的av毛片中日美韩 | 曰韩av中文字幕专区| 国产操操日韩三级黄| 欧美中文字幕日韩在线| 丰满美女一级毛片在线播放| 最新亚洲黄色免费电影| 精品久久无码午夜福利| 日本色色视频网站| 大香蕉www.超碰| 99久国产精品午夜性色福利| 18啪啪手机免费性爱| 国产精品一区二区手机看片| 人人喜人人妻| 好湿好紧好爽 视频| 欧美精品四区| 欧美天天综| 人人操天天爽| 一级黄碟| 99re6在线视频播放免费精品| 就去色综合| 色综合天天爱去电影网| 国产主播福利| 亚洲AV无线| 精品人人插人人操| 资源在线观一 二| 人妻天天操天天爽视频免费| 丁香婷婷激情五月天无毒不卡| 麻豆一区在线| 一本大道久| www国产精品| www.色吧5.com| 国产欧美成人第一页在线观看| 91人妻素女| 婷婷五月天激情网| 欧美亚综合色图| 亚洲性综合| 久久大香蕉97| 亚洲国产成人7777| 国产精品免费视频不卡| 久久秀这里有精品| 日韩欧美午夜一区二区| 亚洲日韩肥臀视频在线观看| 久操 高清| 蜜臀在线看片| 国产精品剧情| 国产精品欧美日韩久久| 久热这里| 97精品中文字幕| 91N综合网| 亚洲人妻中文在线视频| 激情综合婷婷| 性爱AV天堂| 99re这里只有| 亚洲日韩精品一区视频在线| 欧美|91色综合| 日韩欧美中文字| 96精品久久| 欧美性爱中文字幕无线码| AV综合中文字幕干| 国产黄色av大片网站| 亚洲中文一区二区三区| 九九人妻| 中文字幕蜜乳av| 操逼片国产| 99精品在线观看| 青青草男人天堂| 一区二区视频在线播放| 久操免费电影| 老熟妇综合| 四虎av在线| 色综合V| 五月丁香社区婷婷日韩欧美精品影院 | 尤物网址| 99国产精品在线观看| 99最新日韩偷拍视频| 人人爱人人乐人人操| 亚洲成人在线播放| 九九热午夜欧亚国产视频| 欧美激情视频在线一区| 91丝袜在线观看视频在线观看| 久久9免费视频| 韩国黄片aaaa| 欧美一区二区三区黄色影视| 国产精品美女久久久久AⅤ国产馆| 亚洲精品 大香蕉| 草B在线| 国产极品美女高潮无套在线观看| 欧美亚洲宗合色性图| 手机午夜电影神马久久| 九月AV| 一起草三级AV电影在线观看 | av国产无码| 色妇91| 2019天天干天天操| 98福利在线视频| 免费αⅴ在线观看| 日韩色图 一区二区| 国产91精品福利在线| 欧美激情久久久久| 一级黄色牲爱A级片| 久久美国毛片| 综合一区中亚洲国产成人综合精品 | 欧美1727免费观看视频| 久久久96| 欧洲射精91| 9国产超碰| 亚洲综合影片| 国产精品无码av嫩草| 少妇色综合| 欧美高清91| 久久9亚洲| 欧美日韩在线视频网站| 久久超碰亚洲人| 精品国产91内射久久| 美日韩一二三区| 91亚·色| 超碰免费人妻人人| 久久这里| 中文字幕在线免费观看视频| 91性片| 人人操天天爽| 蜜乳AV一区二区三区四| 96久久久| 无码操逼天堂| 亚码激情| 秋霞无码av鲁丝片一区| 欧美丝袜中文字幕07在线| 久久久99久9| 亚洲欧美在线观看无码| 精品人妻少妇| 欧美日本天堂| 婷婷亚洲色| 国产亚洲精品一区二区三区| 男人天堂无码| 黄色二级片网站| 激情亚洲天堂| 色爱欲亚洲| 97在线欧洲| 操屄不卡视频| 日韩欧美性吧婷婷乱伦大香蕉| 欧美婷婷久久| 丁香五月偷拍| 91社区拍啪人妻| 欧美精品宗合| 久久国产精品视频| 久久久穴999| 黄页网站免费高清在线观看| 久久这里只有精品9| 久久综合超碰| 欧美激情亚洲色图| 五月天综合网| 国产成人免费观看在线视频| 国产精品成久久久久午夜午夜| 后入综合久久| 91色堂| 欧美熟妇人体| Av色五月| 超碰97资源网亚洲| 亚洲AV无码国产精品久久久久| 夜夜操一区二区| 日本少妇va7777| 99热色精品| 国产 亚洲 丝袜 制服| 精品综合久久久久久五月天| 熟女91网站| 欧美在线视频观看一二三四区高清| 天天透伊人| 久操婷婷| 大香蕉五月天婷婷| 五月天黄色激情视频| 成 人片 黄色大片| 成人五级久久| 亚洲男人天堂2019| AV九九| 久9热| 中文字幕jul-617人妻熟女| 日韩激情中文字幕有码| 国产不卡免费在线视频| 九九久久一区二区伦理| 日韩欧美tv一区二区在线观看| 俄罗斯一区二区视频在线观看| 在线视频免费观看午夜| 日韩一级久久毛片| 吖在线不卡一区二区国产剧情| WWW.操逼.COM| jazzjazz国产精品麻豆| 亚洲春色欧美激情自拍| 国产成人精品必看 | 伊人超碰97| 夜夜性| 97视频在线免费观看| 啊啊啊想要| 日韩啊V| AV一起草在线| 国产一区二区a毛片| 精品国产丝袜一区二区三区乱码| 高跟丝袜AV专区国产| 国产一区二区啪啪视频| 超碰在线99| 操九九九九九九| 亚洲成人精品久久久| av天天在线| 欧美成人精品一区二区男人蜜臀| 97久久国产精品女不卡| 高清国产精品福利网站| 在线色导航| 99精品成人免费看| 操人妻少妇中文| 在线视频一区二区传媒| 少妇久久久免费| 九九九九精品视频| 国产在线观看91精品一区| 日本激情免费大片| 欧美拳交在线播放| 色婷婷激情| 五月综合久久| 99RE在线视频精品,这里只有精品| 亚州图片第一页| …亚洲黄色厕厕女女在线播…| 亚洲国产一级黄色视频| 久久精品亚洲成a人天堂| 色欧美天天| 欧亚日韩三区| 久艹日日日| 欧美人与性动交a美精品| 丁香五月成人| 久噜噜| 97视频在线看| 日本中文字幕在线视频| 国产91精品久久久久久久网曝门| 久久久久人| 91被操| 精久久久| 久久天天艹| 爽爽淫人网| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 色777999综合| 玖玖久久久| 久久精品中文字幕无码l| 啊啊啊啊啊啊啊国| 97久久超碰国产精品| 成人性爱AV在线免费观看| 狠狠干狠狠干| 亚洲情色综合网| 操屄日韩| 精品四五区| 日日躁天天躁狠狠躁| 免费一级a毛片久久久久久鸭绿欲| 91黑丝在线播放| 麻豆区久久久久亚| 日韩国产欧美伦理在线| 2025亚洲男人天堂| 蜜臀99久久精品久久久懂爱| 97欧美色综合| 第四色奇米影视777| 欧美亚洲综合色| 日本在线激情一区二区三区| 亚洲在线a| 黄色电影观看久久9| 啊嗯好大视频在线观看| 午夜精品久久久久久久久久久久久| 国产乱码精品一区二区三区四川| 亚洲中文电影| 精品国产乱码| 亚州色图狠狠干| 97色网| 男人兔费天堂| 丰满人妻一区二区三区免费 | 老司机久久| 999精品国产高清一区二区| 玖玖97综合| 国产精品操| 亚洲丝袜色| 大香蕉综合网| 天天透伊人| 女人精品内射国产99| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 国产一区二区二区按摩精品啪视频| 色99在线| 亚州91| 综合日韩激情另类图片| 亚洲欧洲无码bt精品合集| 久草色悠悠在线视频| 看免费的黄片| 搡老女人911熟妇老熟女| 偷窥自拍亚洲色图| 妇女性内射冈站HDWWWCOM| 青女在线| 免费看欧美美女黄色大片| 欧美色交| 炮色五月| 97色色色| 亚洲天天更新| 日韩人妻播放| 欧美久久人体| 偷拍 精品另类 凸凹了四区| 精品久久久久久中文字幕视频免费| 素人美腿视频网站| 强奸乱伦AV网站| 男人的天堂无码| 色婷婷成人| www国产无码| 97日视频| 97久久超碰| 精品欧美老熟女一二区| 成人黄页| www.91色综合| 精品人体无圣光凹凸| 久久久月天| 成年男人的天堂| 边做饭边操逼逼| 搡老女人老熟女91老熟女综合网| 欧美亚洲特P| 国产久9| 色淫网站优优视频| 国内黄色精品| 亚洲日韩成人性爱视频| 大香蕉伊人网| 伊人少妇久久久| 东北黄色电影| 亚洲女毛多水多21P| 97久久网| 久久风骚城市| 欧美性爱一区| 亚洲色吧网| 操高情无码| 精品一级毛片在线观看| 91美女视频。| 60秒免费小视频| 99国产人成精品| 入口操逼网站| 免费福利视频中文字幕| 欧美综合网A| 亚洲文学偷乱拍啪啪啪啪 | 亚洲图片 激情小说| 亚州色交| 操人无码| 亚洲无码一区二区三区三州| 国产中文字幕在线点播| 黄页av| 一区操逼日比视频| 午夜a成v人电影| 国产99999| 亚洲第一男人天堂| 欧美在线视频观看一二三四区高清| 精品免费1| 色欧美天天| 高清在线偷拍自拍视频| 国产成年免费大片黄在线观看| 国产无码成人无码| 久久女人| 欧美 亚洲 在线| 欧美另类丝袜熟女| 91黄射| 玖玖爱伊人玖玖爱| 欧美天天综合站| 亚洲国内精品成人不卡| 10000部十八禁看电影| 很黄很污的免费网站| 男人天堂婷婷五月天校园春色| 久久婷婷色| 亚洲天堂 视频你懂的| 操我无码| 国产又色又爽又舒服的三级视频 | 9999九九九久久久| 欧美变态激情网| 成人热久久精品| 大香网伊人久久综合网eew| 久久亚洲天天做| 欧洲乱码视频| 国产天美传媒精品| 精品一二三区四视频| 操曰本熟女| 超碰这里有精品| 蜜桃臀久久| 新怡红院| 青青色在线观看| 国产毛片毛片4p懂色| 三级日本一区二区三区| 26uuu欧美日韩| 欧美强奸乱能| 色墦五月丁香| 色噜噜国产在线| 欧美色图下一页| 97就爱干| 美女t无毒不卡不卡| 91美女小视频| 午夜男女爽爽大片免费观看| 亚欧免费| 91日本在线观看| 欧美图片偷拍| AV在线资源| 99蜜月精品久久| 久久精品店| 99在线免费公开视频| 嫩草一区二区在线观看| 综合久| 天天干2019| 97在线青| 人妻少妇精品视频一区二区三区| 男人女人18禁片免费看网站| 强奸乱伦大香蕉| 97干在线| 中文字幕人妻色偷偷久久皮| 4tube欧美女厕所| 亚洲成a人v欧美综合天堂下载| 97资源站日韩| 熟妇操花| 欧美日韩中文亚洲v在线综合| 又黄又爽在线观看视频| 操亚州| 天天干夜夜鈤| 国产一级137片内射麻豆| 天天躁日日躁XXXXYY| 91AV国产精品| 中文字幕后石码四区五区| 日本三级A片网站com| 久久五月视频| 97爱b| 青青草毛片| 日本色色色色色视频| 白丝1区2区3区| 亚洲欧美中日韩| 中文色综合| 97超碰欧美手机在线| 亚洲影视综合| 日韩欧美亚洲一区二区三区影院| 91天天日| 国产91 丝袜在线播放| 成人无码电影在线观看网| 亚洲老熟妇xxx| 99re在线视频这里只有精品| 亚洲国产精品无码AV久久久| 久久丁香| 亚洲精品乱码久久久久久蜜桃麻豆| 26uuu国产亚洲综合| 67914亚洲精品| 婷婷人妻激情| 亚洲最大的综合性av| 乱老熟女一区二区三区| 亚洲阿v天堂在线| 91婷婷| chaopen97久久| 人人操人人搞人人草| 欧美 日韩 国产传媒| 91伊人| 欧美拳交在线播放| 嗯嗯啊啊啊好爽| 亚欧性爱在线无码| 在线播放中文字幕| 国产中文字幕曰本毛片| 亚洲日韩熟女人妻高清在线| 秋霞操逼片| 黑人天8A∨高清网站| 91国模| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日少妇视频| 91一区二匹| 黄色片大香蕉| 精品国产肉丝袜在线拍国语| 亚洲AV人人澡人人爱| 啪啪资源网| 久污| 久久亚洲精品成人av| 老熟女中文字幕高清| 操一区| ,国产乱人伦精品一区二区三区| 97视频免费播放| 一区二区激情国产熟女 | 免费公开人人操| 97超视频在线观看| 久久久久国产精品喷潮免费观看臀| 久久久久久久六六| 911粉嫩人妻| 在线精品福利免费播放| 亚欧操逼片在线观看| 日韩精品一区二区三区色欲| 91宗合网| 中文字幕加勒比海高清无码免费视频| 最近2018中文字幕在线高清第一页| 美女97超碰| 啪啪资源网| 亚州欧美在线| 男人的天堂激情| 精品亚洲国产成人精品| 久久禁| 99青草| 青娱乐欧美激情一区二区| 国产丸一视频| 亚洲 自拍偷拍 欧美| 久久宗合亚洲| 婷婷色导航| 家庭乱伦国产精品| 欧美色综合图片| 婷婷五月天丁香| 亚洲av综合伊人久久| 91AV天美在线视频| 免费视频无码| 中文字幕人成乱码熟女香港| 久肏视频字幕| 动漫片子网站3黄| 国产极品一区二区三区三州| 中文字幕99999| 青木玲在线不卡| 亚洲av夫妻操穴网| 制度丝袜99| 日日操夜夜操天天操免费观看麻豆| 欧美 传媒 麻豆 日韩 偷拍| 黄片直播三级黄片两女一男| 91五月天| 青青草白白色| 久久久精品网| 不卡av在线中文字幕| 2010男人的天堂| 亚洲凸凹超碰成人| 亚州色图第三区| 国产精品69人妻无码久久久| 蜜臀久久99精品久久久久久| 久久精品人妻一区二区| 久久九操在线观看| 在线天堂资源亚洲| 久久久久久亚洲中文| 亚洲丝袜天堂| 成人性爱免费播放| 大香蕉97久久| 欧美激情专区| 亚洲十八禁止| 超碰成人公开| 亚洲午夜福利在线影院| 97久久精品亚洲中六字幕| 五月丁香婷婷色| 天天弄天天操| 人妻色偷色噜| 亚洲性高潮| 亚洲日韩黑丝| 韩日精品福利视频一区不卡在线免| 99这里有精品视频| 人人妻人人狠人人| 欧美一区二区三区入口| 久久一二三四五六七八九区区区 | 精品999999| 久久久久久久久久久精| jiujiujiujingpin| 人妻熟女一区二区三区在线| 视频在线观看一二三区| 人妻熟女午夜精品在线| 人人透人人操| 人人操人人大香蕉| 视频一区二区免费在线| 夜夜影视四色| 98福利在线视频| 综合色播| 久久五十路熟女人妻| 麻豆91熟妇人妻中文字幕茄子| 91老司机在线视频免费观看 | 怡春院久久| 亚洲 一区二区 自拍| 在线无码视频| 久久中文字幕一区不卡| 精品无码一区二区三区| 免费精品国偷自产在线在线| 91春色| 国产精品美女| 97精品| 亚洲欧美日韩免费观看| 99久久无码| 国产精品一区二区久久精品| 日韩操逼性鲍| 懂色av色欲av蜜臀av| 中国少妇XXXX做受| 欧美人妻久久精品二区三区 | 色色色热| 屌逼麻豆| 翘臀vidoes| 蜜桃久久久久久久| 久久久性爱视频| 狠狠亚洲| 青青草导航在线视频| 97精品全部| 精品午夜福利| 国产91av在线播放| 国产免费操逼| 激情四射五月天| 天天看综合网| 日日黄色三级网站| 久久精品99| 欧美日韩久久精品爱爱| 中文字幕免费看| AV乱伦国产| 国产女人和拘做爰视频 | 人人操人人狠狠操| 日韩一级二级| 四虎AV影视国产精品亚洲精品| 97丝袜亚洲在线播放| 秘书高跟黑色丝袜国产91在线| 一区二区三| 亚洲蜜乳av| 亚洲精品男人的天堂| 国产精品亚洲四五区在线观看| 亚洲欧美国产va在线| 91色亚洲| www.伪伪| 精品妇女一区二区三区| 日韩中文字幕熟妇人妻| julia中文字幕在线观看| 中文字幕一区二区三区50路| 熟女这里只有精品6| 老熟女91av| 国产日韩欧美三级片| 啊啊啊啊啊啊啊国| 亚洲国产中文字幕| 网友自拍第一页| 人人摸人人干人人拍97| 亚洲有码 视频一区| 天美传媒av一区二区| 思思热一热婷婷热一热| 日韩兔费看黄片| 午夜激情成人在线观看| 国产精品夜夜| 国产一级内射无挡观看| 五月丁香六月激情综合| 欧美91网站| 中文字幕三四区| 精品性爱一区二区| 日日天天久久啊啊aaa| 新怡红院| 淫荡少妇免费| 97玖玖人妻| julia国产在线 | 日本一级婬片试看三分钟| 亚洲欧美一区二区三区在钱蜜桃 | 美女自卫慰黄网站免费| 日本男人插女人的逼黄色| 一区二区三区国产在线播放 | 最新亚洲黄色免费电影| 97久久视频| 麻豆视频test| 绯色一区二区三区不卡少妇| 午夜丁香| 亚洲欧美色图小说| 福利天堂| 大香蕉伊在线久草麻豆天堂故事| 97久久精品| 日韩三级在线观看mp4| 综合激情二| 超碰人妻中文在线| 色欲av国内精品久久久久久| 北野未奈加勒比av| 色色丁香| 精品中文日韩字幕视频| 午夜成人福利影视| 夜夜操天天肏| 肉丝网站91| 美女91av| 日本大香蕉综合网| 狠狠爱大香蕉| 丰满岳乱妇一区二区三区| 精品99999久久久久久| 欧美大片91| 99精品无码| 日日日啊啊啊| 99久久久无码精品国产人| 亚洲天堂电影网99999| 后入综合久久| 啊啊啊爽爽| 国产精品一区二区久久精品| yw尤物av无码点击进入麻豆| 久久夜夜| 大香蕉伊人在线成人AV在线观看| 亚洲一级特黄大片在线播放91| 99热在线播放| 久久久久久久国产| 天堂九九九九九九九九九| 亚洲αv一区二区三区| 蜜桃香蕉久草精品在线| 日韩美女操b| 日本淫乱女一区二区三区视频| 五月综合视频| 亚洲成人贴图| 日韩精彩免费| 激情五月综合开心五月| 久久久久久久久久黄色网| 亚洲综合另类小说色区亚洲成av人片在www | 久久伊人五月天| 精品欧美乱码久| 欧美少妇大量自拍视频在线观看| 无码不卡亚洲成?人片| 久插综合| 国产色精品午夜大片| 日本久久久久久久久久| www.狠狠干.coom| 美日韩男女操屄视频| 91国精产品| 狠狠综合| 国产JDAV无码视频在线观看| 日韩淫色网| 大香蕉手机视频| 成人国产视频在线观看| 传媒免费一区二区三区| 人人做人人妻人人夜视频| 92久久| 日韩钢筋无码高清啾啾啾| 丰满少妇乱子伦精品无| 亚州性9| 97超碰免费人人性爱| 婷婷91| 久久日韩精品一区二区| 一二三卡欧美日韩人妻免费精品| 五月丁香综合激情| 中文字幕日韩电影人妻 | 8050无码八戒| 91天天| 中文日韩欧美熟| 9久综合网| 精品一区二区成人| 中文字幕一二三| 亚拍在线| 欧美熟爽综合| 人人干人人搞人人摸| 中日韩免费看男女操逼大全| 日韩毛片9| 亚洲AV高潮| 久久久com| 免费亚洲黄色视频在线观看| 97日韩| 精品女同一区| 区一二区日韩亚洲乱码av电影| 婷婷五月天色色| 色五天伊人| 翔田千里AV无码秘 三区| 中日992视频| 亚州综合AⅤ| 亚洲欧洲小说图片视频 | 99热这里只有精品9| 日韩无码黄色片| jizz啪啪| 欧美高清色| 四虎精品亚洲| 黑人精品久久97| 97内射偷拍| 国产欧美精品日韩区二区麻豆天美| 久久久久国产精品喷潮免费观看臀 | 2017天天插| 我想要啊 啊 啊| 97天天弄| 91成人在线| 99r九九| 麻豆视频test| 爽爽淫人网| 99操视频| 亚洲AV成人无码久久精品播放| 欧亚性爱在线视频| 熟女激情综合网| 国产在线播放成人免费| 97Ai亚洲| 欧美熟妇精品黑人巨大91| 无码人妻丰满熟妇区毛片| 亚洲综合校园春色| 青娱乐手机日韩在线视频| 久久久久ab| 日韩精品99久久久久久中文字幕| 婷婷色香| 爱欲AV| 少妇人妻精品| 日韩av色图综合| 欧美性,色九九| 又黄又粗又硬又长又大| 大香蕉天天看妹子| 亚洲黄日韩无码专区| 久久夜嗨| 久久色一区二区| 日本东京热大香蕉a片| 欧美日韩婷婷中文| 成人黄页| 后入式999| 婷婷人妻激情| 欧美成人精品一区| 国产精品熟女一区二区三区| 秋霞Av理论一级在线| 欧美一区二区三区互相| 人人操人人干网页| 日本国产欧美高清在线|