當前位置:首頁 » 編程軟體 » cygwin編譯器

cygwin編譯器

發布時間: 2022-08-10 22:57:03

❶ cygwin安裝G++編譯器的問題!急求!!

cygwin安裝時可以從網站選擇安裝包,開發工具裡面可以選擇安裝gcc和g++的,一般不用自己下載源碼去安裝。如果已經裝了cygwin,也可以選擇升級。
libstdc++是用來鏈接c++程序的庫文件,本身不需要安裝,在命令行敲g++,g++會調用gcc編譯程序(所以它沒有完整的編譯器,比gcc的包小得多),但gcc命令不能自動和C++程序使用的庫聯接,所以通常用g++來完成鏈接。鏈接時使用命令g++和gcc -lstdc++其實是等價的。

❷ CYGWIN是什麼

Cygwin 是免費軟體工具的一件收藏品由Cygnus Solutions 最初發展允許微軟視窗的各種各樣的版本行動有些象UNIX 系統。它瞄準主要比再版運行在POSIX 系統的端起的軟體(譬如GNU/linux 系統、BSD 系統, 和UNIX 系統) 運行在窗口與少許更多。項目最好端起了以Cygwin 工作在視窗NT 和視窗2000, 但一些也許可接受運行在視窗95 和視窗98 。Cygwin 由紅色帽子和其他人的雇員目前保持。
Cygwin 包括實施POSIX 系統調用API 就Win32 系統調用來說, GNU 發展toolchain 的圖書館(譬如GCC 和GDB) 允許基本的軟體開發任務, 並且一些應用程序等效與UNIX 系統的通常項目。2001 年它增加了X 窗口系統。

包裹並且包括一個圖書館稱服務與當地MSVCRT 圖書館的MinGW (窗口API) 包括有窗口; MinGW 有較少RAM 和盤天花板, 經營在一個許可執照之下, 和可能與任一軟體連接, 但它不實施一樣許多POSIX 規格象Cygwin 圖書館。

紅色帽子通常准許Cygwin 圖書館在GNU 公眾執照之下有例外允許連接與執照依照開放來源定義的任一個免費軟體。(紅色帽子並且做可利用的昂貴的執照重新分配使用Cygwin 圖書館根據私有的協議。) 的項目

歷史
Cygwin 開始了在1995 作為史蒂夫張伯倫項目, 觀察的Cygnus 工程師那NT 和95 利用了COFF 作為他們的目標文件格式, 並且那GNU 已經包括支持對於x86 和COFF, 和C 程序庫newlib; 那麼至少在理論上它不應該是困難的對retarget GCC 和得到一個發怒編譯器導致會管理在窗口的executables 。這被證明是那麼實踐上, 和原型迅速過來。

下步將試圖引導編譯器在窗口系統, 但這要求Unix 的足夠的仿效讓GNU 配置shell script 程序奔跑, 要求殼象打擊, 反過來要求叉子並且標准I/O. Windows 包括相似的功能, 因此Cygwin 圖書館適當的正義需要翻譯電話和主持數據的民辦的版本, 譬如文件標碼。

在1996 年以前, 其它工程師加入了, 因為它是確切cygwin 會是一個有用的方式提供Cygnus 的嵌入工具被主持在窗口系統(早先戰略是利用DJGPP) 。它是特別有吸引力的因為它是可能做三通十字架編寫, 例如使用一個重的Sun 工作站建立窗口x Mip cross-compiler, 是更加快速的比使用時間的個人計算機。開始大約1998 年, Cygnus 並且開始提供Cygwin 包裹作為產品利益因本身之能力。

❸ 關於cygwin

它是linux系統的模擬器,不是編輯器也不是編譯器。

❹ cygwin裡面有3個編譯器,到底哪個是有用的

如果你意思是問怎樣生成庫,那查編譯器相關的,看你用的什麼編譯器toolchain(VC? GCC?),手冊都會有編譯器、鏈接器的命令行參數說明,編譯時用相關選項指定庫路徑即可 如果你的問題是和Cygwin的路徑和環境變數有關的

❺ cygwin 中如何安裝arm-linux-gcc交叉編譯器

交叉編譯工具鏈作為嵌入式Linux開發的基礎,直接影響到嵌入式開發的項目進度和完成質量。由於目前大多數開發人員使用Windows作為嵌入式開發的宿主機,在Windows中通過安裝VMware等虛擬機軟體來進行嵌入式Linux開發,這樣對宿主機的性能要求極高。Cygwin直接作為Windows下的軟體完全能滿足嵌入式Linux的開發工作,對硬體的要求低及方便快捷的特點成為嵌入式開發的最佳選擇。

目前網路上Cygwin下直接可用的交叉編譯器寥寥無幾且版本都比較低,不能滿足開源軟體對編譯器版本依賴性的要求(如低版本工具鏈編譯U-Boot出現軟浮點問題等);Crosstool等交叉工具鏈製作工具也是更新跟不上自由軟體版本的進度;同時系統介紹Cygwin下製作交叉編譯器方面的資料很少。針對上述情況,基於最新版gcc等自由軟體構建Cygwin下的交叉編譯器顯得尤為迫切和重要。
構建前准備工作
首先Cygwin下必須保證基本工具比如make}gcc等來構建bootstrap-gcc編譯器,這可以在安裝Cygwin時選擇安裝。參照gcc等安裝說明文檔來在Cygwin下查看是否已經安裝,如輸入gcc --v等。
源碼下載
gcc-4.5.0的編譯需mpc的支持,而mpc又依賴gmp和mpfr庫。從各個項目官方網站上下載的最新的源碼:
binutils-2.20. l .tar.bz2
gmp-S.O. l .tar.bz2
mpc-0.8.2.tar.gz
mpfr-3.O.O.tar.bz2
gcc-4.S.O.tar.bz2
linux-2.6.34.tar.bz2
glibc-2.11.2.tar.bz2
glibc-ports-2. l l .tar.bz2
gdb-7. l.tar.bz2

設置環境變數
HOST:工具鏈要運行的目標機器;BUILD:用來建立工具鏈的機器;TARGET工具鏈編譯產生的二進制代碼可以運行的機器。
BUILD=i686-pc-cygwin
HOST=i686-pc-cygwin TARGET=arm-linux
SYSROOT指定根目錄,$PREFIX指定安裝目錄。目標系統的頭文件、庫文件、運行時對象都將被限定在其中,這在交叉編譯中有時很重要,可以防止使用宿主機的頭文件和庫文件。本文首選$SYSROOT為安裝目錄,$PREFIX主要作為glibc庫安裝目錄。
SYSROOT=/cross-root
PREFIX=/cross-root/arm-linux
由於GCC-4.5.0需要mpfr,gmp,mpc的支持,而這三個庫又不需要交叉編譯,僅僅是在編譯交叉編譯鏈時使用,所以放在一個臨時的目錄。
TEMP_PREFIX=/build-temp
控制某些程序的本地化的環境變數:
LC ALL=POSIX
設置環境變數:
PATH=$SYSROOT/bin:兒in:/usr/bin
設置編譯時的線程數f31減少編譯時間:
PROCS=2
定義各個軟體版本:
BINUTILS V=2.20.1
GCC V=4.5.0
GMP V=5.0.1
MPFR V=3.0.0
MPC V二0.8.2
LINUX V二2.6.34
GLIBC V=2.11.2
GLIBC-PORTS V=2.11
GDB V=7.1
構建過程詳解
鑒於手工編譯費時費力,統一把構建過程寫到Makefile腳本文件中,把其同源碼包放在同一目錄下,執行make或順次執行每個命令即可進行無人值守的編譯安裝交叉工具
鏈。以下主要以Makefile執行過程為主線進行講解。
執行「make」命令實現全速運行
可在Cygwin的Shell環境下執行「make>make.log 2>&1」命令把編譯過程及出現的錯誤都輸出到make.log中,便於查找:
all:prerequest install-deps install-cross-stage-one install-
cross-stage-two
預處理操作
"make prerequest',命令實現單步執行的第一步,實現輸出變數、建立目錄及解壓源碼包等操作。0'set十h」關閉bash的Hash功能,使要運行程序的時候,shell將總是搜索PATH里的目錄[4]。這樣新工具一旦編譯好,shell就可以在$(SYSROOT)/bin目錄里找到: prerequest:
set +h&&mkdir -p $(SYSROOT)/bin&&
mkdir -p $(PREFIX)/include&&
mkdir -p $(TEMP一REFIX)&&
export PATH LCes ALL&&
tar -xvf gmp-$(GMP_V).tar.bz2&&
tar -xvf mpfr-$(MPFR_V).tar.bz2&&
tar -xvf mpc-$(MPC_V).tar.gz&&
tar -xvf binutils-$(BINUTILS_V).tar.bz2&&
tar -xvf gcc-$(GCC_V).tar.bz2&&
tar -xvf linux-$(LINUX_V).tar.bz2&&
tar -xvf glibc-$(GLIBC_V).tar.bz2&&
tar -xvf glibc-ports-$(GLIBC-PORTS_V).tar.bz2&&
my glibc-ports-$(GLIBC-PORTS_V)
glibc-$(GLIBC_V)/ports&&
tar -xvf gdb-$(GDB V).tar.bz2
非交叉編譯安裝gcc支持包mpc
00make install-deps」命令實現單步執行的第二步,實現mpc本地編譯,mpc依賴於gmp和mpfr
install-deps:gmp mpfr mpc
gmp:gmp-$(GMP_V)
mkdir -p build/gmp&&cd build/gmp&&
../../gmp-*/configure
--disable-shared --prefix=$(TEMP_PREFIX)&&
$(MAKE)一$(PROCS)&&$(MAKE) install
mpfr:mpfr-$(MPFR_V)
mkdir -p b-uild/mpfr&&cd build/mpfr&&
../..//mpfr-*/configure
LDF'LAGS="-Wl,-search_paths_first」--disable-shared
--with-gmp=$(TEMP_PREFIX)
--prefix=$(TEMP_PREFIX)&&
$(MAKE)一$(PROCS) all&&$(MAKE) install
mpc: mpc-$(MPC_V) gmp mpfr
mkdir -p build/mpc&&cd build/mpc&&
../../mpc-*/configure
--with-mpfr=$(TEMP PREFIX)
--with-gmp=$(TEMP_PREFIX)
--prefix=$(TEMP_PREFIX)&&
$(MAKE)一$(PROCS)&&$(MAKE) install
交叉編譯第一階段
"make install-cross-stage-one',命令實現單步執行的第三步,編譯安裝binutils,bootstrap-gcc和獲取Linux內核頭文件:
install-cross-stage-one:cross-binutils cross-gcc get-kernel-headers
編譯安裝binutils
cross-binutils: binutils-$(BINUTILS_ V)
mkdir -p build/binutils&&cd build/binutils&&
../..//binutils-*/configure --prefix=$(SYSROOT)
--target=$(TARGET)--disable-nls&&
$(MAKE)j$(PROCS)&&$(MAKE) install
編譯安裝bootstrap-gcc。使用一disable-shared參數的意思是不編譯和安裝libgcc_ eh.a文件。glibc軟體包依賴這個庫,因為它使用其內部的一lgcc_eh來創建系統[6]。這種依賴
性,可通過建立一個指向libgcc.a符號鏈接得到滿足,因為該文件最終將含有通常在libgcc- eh.a中的對象(也可通過補丁文件實現)。
cross-gcc:gcc-$(GCC_V)
mkdir -p build/gcc&&cd build/gcc&&
二//gcc-*/configure
--target=$(TARGET)--prefix=$(SYSROOT)
--disable-nls --disable-shared --disable-multilib
--disable-decimal-float--disable-threads
--disable-libmudflap --disable-libssp
--disable-libgomp --enable-languages=c
--with-gmp=$(TEMP_PREFIX)
--with-mpfr=$(TEMP_PREFIX)
--with-mpc=$(TEMP_PREFIX)&&
$(MAKE) -j$(PROCS)&&$(MAICE) install&&
In -vs libgcc.a'arm-linux-gcc -print-libgcc-file-name I
sed's/libgcc/& eh/'}
獲取Linux內核頭文件:
get-kernel-headersainux-$(LINUX_V)
cd linux-$(LINUX_V)&&
$(MAICE) mrproper&&$(MAKE) headers check&&
$(MAKE) ARCH=arm&&
INSTALLes HDR_ PATH=dest headers_ install&&
find dest/include
(-name .install一。-name ..installNaNd)-delete&&
cp -rv desdinclude/* $(PREFIX)/include
交叉編譯第二階段
編譯安裝glibc、重新編譯安裝binutils、完整編譯安裝gcc和編譯安裝gdb o "make install-cross-stage-two',命令實現單步執行的第四步: install-cross-stage-two:cross-glibc cross-rebinutils cross-g++ cross-gdb
編譯安裝glibca glib。的安裝路徑特意選為$(PREFIX),與gcc更好找到動態鏈接庫也有關系,選在$(SYSROOT)提示找不到crti.o; glibc已經不再支持i386; glibc對ARM等的處理器的支持主要通過glibc-ports包來實現;正確認識大小寫敏感(Case Sensitive)和大小寫不敏感(CaseInsensitive)系統,大小寫敏感問題主要影響到glibc,是交叉編譯glibc成功的關鍵:Cygwin幫助手冊中可知Cygwin是默認大小寫不敏感的n},但是UNIX系統是大小寫敏感的,這也是Cygwin和UNIX類系統的一個區別。通過作者自行參考製作的glibc-2.11.2-cygwin.patch補T使glibc變為Case-Insensitive,此補丁主要是對大小寫敏感問題改名來實現。
交叉編譯過程中安裝的鏈接器,在安裝完Glibc以前都無法使用。也就是說這個配置的forced unwind支持測試會失敗,因為它依賴運行中的鏈接器。設置libc_ cvforced unwind=yes這個選項是為了通知configure支持force-unwind,而不需要進行測試。libc cv_c_cleanup=yes類似的,在configure腳本中使用libc_cv_c cleanup=yes,以便配置成跳過測試而支持C語言清理處理。
cross-glibc:glibc-$(GLIBC_V)
cd glibc-$(GLIBC_V)&&
patch -Np 1 –i...//glibc-2.11.2-cygwin.patch&&
cd..&&mkdir -p build/glibc&&
cd build/glibc&&
echo"libc cv_forcedes unwind=yes">config.cache&&
echo "libc cv_c_cleanup=yes">>config.cache&&
echo "libc cv_arm_tls=yes">>config.cache&&
../../glibc-*/configure --host=$(TARGET)
--build=$(../OneScheme/glibc-2.11.2/scripts/config.guess)
--prefix=$(PREFIX)--disable-profile
--enable-add-ons --enable-kernel=2.6.22.5
--with-headers=$(PREFIX)/include
--cache-file=config.cache&&
$(MAKE)&&$(MAKE) install
重新編譯安裝binutils。編譯之前要調整工具鏈,使其
指向新生成的動態連接器。
調整工具鏈:
SPECS=
'dirname $(arm-linux-gcc -print-libgcc-file-name)'/specs
arm-linux-gcc -mpspecs
sed -e '[email protected]/lib(64)\?/[email protected]$(PREFTX)[email protected]' -e ,}/}}*cPP}$/{n;s,$,-isystem $(PREFIX)/include,}"
>$SPECS
echo "New specs file is: $SPECS"
unset SPECS
測試調整後工具鏈:
echo 'main(川』>mmy.c
arm-linux-gcc
-B/cross-root/arm-linux/lib mmy.c
readelf -1 a.out I grep』:/cross-roobarm-linux'
調整正確的輸出結果:
[Requesting program interpreter: /tools/lib/ld-linux.so.2j
一切正確後刪除測試程序:
rm -v mmy.c a.out
重新編譯binutils。指定--host,--build及--target,否則配置不成功,其config.guess識別能力不如gcc做的好。
cross-rebinutils: binutils-$(BINUTILS_V)
mkdir -p build/rebinutils&&
cd build/rebinutils&&CC="$(TARGET)-gcc
-B/cross-roodarm-linux/lib/"&&AR=$(TARGET)-ar&&
RANLIB=$(TARGET)-ranlib&&../..//binutils-*/configure
--host=$(HOST)--build=$(BUILD)--target=$(TARGET)
--prefix=$(SYSROOT)--disable-nls
--with-lib-path=$(PREFIX)/lib&&
$(MAKE)--$(PROCS)&&$(MAKE) install
高於4.3版的gcc把這個編譯當作一個重置的編譯器,並且禁止在被一prefix指定的位置搜索startfiles。因為這次不是重置的編譯器,並且$(SYSROOT)目錄中的startfiles對於創
建一個鏈接到$$(SYSROOT)目錄庫的工作編譯器很重要,所以我們使用下面的補丁,它可以部分還原gcc的老功能tai . patch -Npl –i../gcc-4.5.0-startfiles_fix-l.patch
在正常條件下,運行gcc的fixincludes腳本,是為了修復可能損壞的頭文件。它會把宿主系統中已修復的頭文件安裝到gcc專屬頭文件目錄里,通過執行下面的命令,可以抑
制fixincludes腳本的運行[9](此時目錄為/gcc-4.5.0)。
cp -v gcc/Makefile.in{,.orig}
sed '[email protected]\./fixinc\[email protected] [email protected]'
gcc/Makefile.in.orig > gcc/Makefile.in
下面更改gcc的默認動態鏈接器的位置,使用已安裝在/cross-root/ann-linux目錄下的鏈接器,這樣確保在gcc真實的編譯過程中使用新的動態鏈接器。即在編譯過程中創建的所有
二進制文件,都會鏈接到新的glibc文件
for file in
$(find gcc/config -name linux64.h-o -name linux.h –o -name sysv4.h)
do cp -uv $file{,.orig}
sed -a '[email protected]/lib(64)?(32)?/[email protected]/cross-root/[email protected]』-e'[email protected]/[email protected]/[email protected]' $file.orig>$file echo『
#undef STANDARD INCLUDE DIR
#define STANDARD_ INCLUDE DIR "/cross-root/arm-linux/include"
#define STANDARD STARTFILE PREFIX 1 "/cross-root/arm-linux/lib"
#define STANDARD_ STARTFILE_ PREFIX_ 2」」』>>$file
touch $file.orig done
完整編譯安裝gcc。最好通過指定--libexecdir更改libexecdir到atm-linux目錄下。--with-local-prefix選項指定gcc本地包含文件的安裝路徑此處設為$$(PREFIX),安裝後就會在內核頭文件的路徑下。路徑前指定$(Pwd)則以當前路徑為基點,不指定則默認以/home路徑為基點,這點要注意。
cross-g++:gcc-$(GCC-)
mkdir -p build/g十+&&cd build/g++&&
CC="$(TARGET)-gcc AR=$(TARGET)-ar&&
-B/cross-roodarm-linux/lib/"&&
RANLIB=$(TARGET)-ranlib&&
..//gcc-*/configure
--host=$(HOST)--build=$(BUILD)--target=$(TARGET)
--prefix=$(SYSROOT)--with-local-prefix=$(PREFIX)
--enable-clocale=gnu --enable-shared
--enable-threads=posix --enable -cxa_atexit
--enable-languages=c,c++--enable-c99
--enable-long-long --disable-libstdcxx-pch
--disable-libunwind-exceptions
--with-gmp=$(TEMP_PREFIX)
--with-mpfr=$(TEMP_PREFIX)
--with-mpc=$(TEMP_PREFIX)&&
$(MAKE) LD_IBRARY_ATH=
$(pwd)/$(../../gcc-4.5.0/config.guess)/libgcc&&
$(MAKE) install
編譯安裝gdb,至此完成整個工具鏈的製作。
cross-gdb: gdb-$(GDB V)
mkdir -p build/gdb&&cd build/gdb&&
../../gdb-*/configure --prefix=$(SYSROOT)
--target=$(TARGET)--disable-werror&&
$(MAKE)-j$(PROCS)&&$(MAKE) install
「make clean」命令清除編譯生成的文件和創建解壓的文件夾
.PHONY:clean
dean:
rm -fr $(TEMP_PREFIX) build
binutils-$(BINUTIL,S_V) gcc-$(GCC_V)
glibc-$(NEWL.IB_V) gdb-$(GDB_V)
gmp-$(GMP_V) mpc-$(MPC_V) mpfr-$(MPFR_V)
工具鏈測試
命令行中輸入以下內容:
echo 'main(){}』>mmy.c
arm-linux-gcc -o mmy.exe mmy.c
file mmy.exe
運行正常的結果:
mmy.exe: ELF 32-bit LSB executable, ARM, version 1,for GNU/Linux 2.6.22, dynamically linked (uses shared libs),not stripped.

❻ 怎樣安裝Cygwin

安裝教程:

本版本是基於官方的在線下載安裝方式,請確認電腦可以正常聯網。
1、首先下載cygwin的安裝包程序,解壓打開,裡面小編已經打包了32和64位兩個版本,朋友們可以根據自己的系統位數來選擇!運行setup.exe程序,出現安裝畫面,如圖所示:

2、點擊「下一步」,我們可以看到有三個選項,分別代表了三種安裝模式:(我們選擇第一種,直接從網上安裝)
Install from Internet,這種模式直接從Internet安裝,適合網速較快的情況;
Download Without Installing,這種模式只從網上下載安裝文件,但不安裝;
Install from Local Directory,這種模式與上面第二種模式對應,當你的安裝包已經下載到本地,則可以使用此模式從本地安裝。

3、指定安裝目錄和許可權,一般默認即可(注意:目錄不可為中文字元)
4、設定安裝包存放本地路徑

5、選擇連接方式,第一個(默認)即可,【下一步】

6、選擇下載站點的對話框。

7、正在下載數據,請耐心等待。。。。。

8、這里我們需要選擇下載安裝的組件包,為了使我們安裝的Cygwin能夠編譯程序,我們需要安裝gcc編譯器(默認情況下,gcc並不會被安裝,我們需要選中它來安裝)。為了安裝gcc,我們用滑鼠點開組件列表中的「Devel」分支,在該分支下,有很多組件, 我們必須的是:
binutils
gcc-core
gcc-g++
gcc-mingw-core
gcc-mingw-g++
gdb

9、選好後【下一步】,會顯示你選擇的安裝包:

10、完成之後我們選擇【下一步】,進入下載安裝過程,如下圖所示:(選擇的組件越多,下載安裝的時間就越長)

11、選擇是否添加桌面快捷方式和系統菜單欄顯示

12、至此安裝已經全部完成了,我們通過雙擊桌面圖標來啟動Cygwin里的Bash,或者你可將C:/Cygwin/bin加到%PATH%當中,您就可以直接在cmd.exe裡面使用Linux命令了,比如less,cat, wc , wget等,如果您有一個Bash腳本,您也可以直接用C:/Cygwin/bin/bash.exe X:/scripts/Monitor.sh的形式進行調用。

13、現在可以在windows中使用unix命令了,例如,試一下 ls -a(注意:「ls」與「-」之間有一個空格)

❼ CygWin是什麼

cygwin是一個在windows平台上運行的unix模擬環境,是cygnus solutions公司開發的自由軟體(該公司開發了很多好東西,著名的還有eCos,不過現已被Redhat收購)。它對於學習unix/linux操作環境,或者從unix到windows的應用程序移植,或者進行某些特殊的開發工作,尤其是使用gnu工具集在windows上進行嵌入式系統開發,非常有用。隨著嵌入式系統開發在國內日漸流行,越來越多的開發者對cygwin產生了興趣。

cygnus當初首先把gcc,gdb,gas等開發工具進行了改進,使他們能夠生成並解釋win32的目標文件。然後,他們要把這些工具移植到windows平台上去。一種方案是基於win32 api對這些工具的源代碼進行大幅修改,這樣做顯然需要大量工作。因此,他們採取了一種不同的方法——他們寫了一個共享庫(就是cygwin dll),把win32 api中沒有的unix風格的調用(如fork,spawn,signals,select,sockets等)封裝在裡面,也就是說,他們基於win32 api寫了一個unix系統庫的模擬層。這樣,只要把這些工具的源代碼和這個共享庫連接到一起,就可以使用unix主機上的交叉編譯器來生成可以在windows平台上運行的工具集。以這些移植到windows平台上的開發工具為基礎,cygnus又逐步把其他的工具(幾乎不需要對源代碼進行修改,只需要修改他們的配置腳本)軟體移植到windows上來。這樣,在windows平台上運行bash和開發工具、用戶工具,感覺好像在unix上工作。

熱點內容
管家婆伺服器怎樣連接本地ip 發布:2022-10-05 01:39:00 瀏覽:281
方舟指令腳本吧 發布:2022-10-05 01:37:06 瀏覽:531
本地密碼是什麼 發布:2022-10-05 01:32:23 瀏覽:169
決斗王游戲鏈接如何配置技能 發布:2022-10-05 01:28:52 瀏覽:958
編譯applealc 發布:2022-10-05 01:27:34 瀏覽:676
王者安卓微信怎麼二維碼登錄 發布:2022-10-05 01:27:18 瀏覽:392
sql2005調試 發布:2022-10-05 01:17:27 瀏覽:91
android從入門到精通明日科技 發布:2022-10-05 01:17:20 瀏覽:186
電信wifi怎麼改密碼 發布:2022-10-05 01:12:33 瀏覽:569
東南亞租伺服器怎麼樣 發布:2022-10-05 01:10:55 瀏覽:359