精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux SkyEye安裝交叉編譯器

運維 系統(tǒng)運維
Linux SkyEye是開源軟件的一個項目,Linux SkyEye的目標是在Linux和Windows操作系統(tǒng)里提供一個完全的仿真環(huán)境。Linux SkyEye仿真環(huán)境相當于一個嵌入式計算機系統(tǒng),你可以在Linux SkyEye里運行一些嵌入式Linux操作系統(tǒng),如ARMLinux,uClinux,uc/OS-II(ucos-ii)等,并能分析和調(diào)試它們的源代碼。

Linux SkyEye對于電腦使用的玩家的常用軟件,然后我就學(xué)習(xí)及深入的研究Linux SkyEye,在這里和大家一起探討Linux SkyEye的使用方法,希望對大家有用。Linux SkyEye是一個可以運行嵌入式操作系統(tǒng)的硬件仿真工具,這樣就可以在沒有硬件條件下來進行嵌入式系統(tǒng)的開發(fā)。

以下操作均在Fedora Core 1.0里通過。Linux SkyEye項目資源列表http://gro.clinux.org/projects/Linux SkyEye/

1、什么是Linux SkyEye?

Linux SkyEye是開源軟件的一個項目,Linux SkyEye的目標是在Linux和Windows操作系統(tǒng)里提供一個完全的仿真環(huán)境。Linux SkyEye仿真環(huán)境相當于一個嵌入式計算機系統(tǒng),你可以在Linux SkyEye里運行一些嵌入式Linux操作系統(tǒng),如ARMLinux,uClinux,uc/OS-II(ucos-ii)等,并能分析和調(diào)試它們的源代碼。

如果你想知道關(guān)于Linux SkyEye和嵌入式系統(tǒng)更詳細的信息,請訪問下面的站點:www.Linux SkyEye.org http://www.Linux SkyEye.org/index_cn.html通過Linux SkyEye能仿真下面的硬件:CPU核心:ARM7TDMI, ARM720T, ARM9, StrongARM, XScaleCPU: Atmel AT91/X40, Cirrus CIRRUS LOGIC EP7312, Intel SA1100/SA1110, Intel XScale PXA 250/255, CS89712, samsung 4510B,

  1. samsung 44B0(還不全)內(nèi)存: RAM, ROM, Flash周邊設(shè)備:   
  2. Timer, UART, ne2k網(wǎng)絡(luò)芯片, LCD, 觸摸屏等目前能在Linux SkyEye上運行下面的操作系統(tǒng)和系統(tǒng)軟件:  
  3. uC/OSII-2.5.x(支持網(wǎng)絡(luò))  
  4. uClinux(基于Linux2.4.x內(nèi)核, 支持網(wǎng)絡(luò))  
  5. ARM Linux 2.4.x/2.6.x  
  6. lwIP on uC/OSII  
  7. 基于uC/OSII, uClinux, ARM Linux的應(yīng)用程序 


2.Linux SkyEye可以做什么事情?
1. 通過Linux SkyEye可以幫助促進嵌入式系統(tǒng)的學(xué)習(xí),在不需要額外硬件的情況下學(xué)習(xí)和分析uclinux操作系統(tǒng)和其它嵌入式操作系統(tǒng),如ucosII等。
2. Linux SkyEye可用于嵌入式系統(tǒng)的教學(xué)。
3. 希望通過Linux SkyEye促進操作系統(tǒng)的研究,如ucosII,uclinux+RTAI,uclinux2.5.x等。
4. 可以基于Linux SkyEye進行仿真特定硬件模塊的研究。
5. Linux SkyEye可以作為嵌入式集成開發(fā)環(huán)境開發(fā)嵌入式系統(tǒng)(當然需要對Linux SkyEye做大量的工作)。
注:引自陳渝《Linux SkyEye Project FAQ》

3、安裝Linux SkyEye

到http://gro.clinux.org/projects/Linux SkyEye/下載Linux SkyEye-0.7.0.tar.bz2包:tar jxvf Linux SkyEye-v0.7.0.tar.bz2進入解壓后的Linux SkyEye目錄,如果Linux SkyEye的版本低于0.6.0,則運行下面的命令:/configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtktest如果Linux SkyEye的版本高于0.6.0,則運行下面的命令:/configure --target=arm-elf --prefix=/usr/local

接下來執(zhí)行:

  1. make  
  2. make install安裝完成后執(zhí)行Linux SkyEye 

注意:

  1. a.如果你使用的是Mandrake Linux發(fā)行版,那么你在編譯Linux SkyEye時遇到錯誤,并且錯誤與readline, ncurse, termcap等有關(guān),你可以試試下面的方法:ln -s /usr/include/ncurses/termcap.h /usr/local/include/termcap.h接著再make和make install看能否成功!  
  2. b.如果你的Linux發(fā)行版是Debian Linux,那么不要使用gcc 2.95或是gcc 3.0,請使用gcc 3.2+  
  3. c.gcc的版本要在2.96或以上  
  4. d.如果Linux SkyEye的版本大于0.6.0,那么使用LCD仿真需要在Linux系統(tǒng)里安裝GTK軟件。 

4、安裝arm-elf交叉編譯器

下載arm-elf-tools-20030314.shftp://166.111.68.183/pub/embed/uclinux/soft/tools/arm或到ftp://166.111.8.229/OS/Embeded執(zhí)行:chmod a+x arm-elf-tools-20030314.sh然后:./arm-elf-tools-20030314.sh ls /usr/local/bin/你應(yīng)能看到以arm-elf開頭的可執(zhí)行文件,其中arm-elf-gcc就是用來編譯你目標平臺的編譯器的,當然還有一些小工具,后面將一一講來。

5、測試你的arm-elf-gcc編譯器

先寫一個小程序hello.cPHP 代碼:#include <stdio.h>

  1. int main(void)  
  2. {  
  3. int i;  
  4. for(i = 0; i < 6; i++){  
  5. printf("i = %d  ",i);  
  6. printf("Hello, embedded linux!"n");  
  7. return 0;  
  8. }  


然后執(zhí)行:arm-elf-gcc -Wl,-elf2flt -o hello hello.c-elf2flt參數(shù)是將elf文件格式轉(zhuǎn)為flat文件格式,這個工具是在你安裝交叉編譯器產(chǎn)生的?;蛘吣憧梢詫憘€Makefile文件,執(zhí)行:make這里是我的Makefile文件,僅供參考:PHP 代碼:# begin

  1. CC = arm-elf-gcc  
  2. CFLAGS = -D__PIC__ -fpic -msingle-pic-base -O2 -pipe -Wall -g  
  3. LDFLAGS = -Wl,-elf2flt  
  4. LIBS =  
  5. OBJS = hello.o  
  6. all:hello  
  7. hello:  $(OBJS)  
  8. $(CC) $(CFLAGS) $(LDFLAGS) -o hello $(OBJS) $(LIBS)  
  9. clean:  
  10. rm -rf *.o *.elf *.gdb hello  
  11. # end  

如果編譯通過,就會產(chǎn)生hello可執(zhí)行文件。用下面的命令:file hello你會發(fā)現(xiàn),它是BFLT(binary FLAT),你目標平臺所支持的文件格式。

6、執(zhí)行你的hello程序

這里,我們將借助genromfs這個小工具來完成測試,這個工具就是你在安裝交叉編譯器時產(chǎn)生的,你可以直接使用它。到http://gro.clinux.org/projects/skyey...-1.0.4.tar.bz2包:

  1. tar jxvf Linux SkyEye-binary-testutils-1.0.4.tar.bz2  
  2. cd testsuits/at91/uclinux2(當然你還可以用別的)  
  3. mkdir romfs(建一個目錄,后面用)  
  4. mount -o loop boot.rom /mnt/xxx  
  5. cp -r /mnt/xxx/* romfs 

另外,把你編譯好的可執(zhí)行程序拷貝到/romfs/bin目錄里,這里就是hello了!genromfs -f boot.rom -d romfs/注:可以用genromfs -h來獲得幫助!

OK!執(zhí)行下面的命令:

  1. Linux SkyEye linux  
  2. (Linux SkyEye)target sim  
  3. (Linux SkyEye)load  
  4. (Linux SkyEye)run  
  5. kernel start..... 

很熟悉了吧。。。cd /binhello可以看到結(jié)果了嗎?其實到了這一步,你就可以開發(fā)自己的程序了!


7、一個應(yīng)用程序的開發(fā)實例

下面介紹的程序主要是完成一個網(wǎng)絡(luò)應(yīng)用,網(wǎng)絡(luò)應(yīng)用的標準模型是客戶機-服務(wù)器模型,它的主要執(zhí)行過程如下:
(1)系統(tǒng)啟動服務(wù)器執(zhí)行。服務(wù)器完成一些初始化操作,然后進入睡眠狀態(tài),等待客戶機請求;
(2)在網(wǎng)絡(luò)的某臺機器上,用戶執(zhí)行客戶機程序;
(3)客戶機進程與服務(wù)器進程建立一條連接;
(4)連接建立之后,客戶機通過網(wǎng)絡(luò)向服務(wù)器發(fā)出請求,請求某種服務(wù);
(5)服務(wù)器接收到客戶機請求后,根據(jù)客戶機請求的內(nèi)容進行相應(yīng)的處理,然后將處理結(jié)果返回;
(6)服務(wù)器斷開與客戶機的連接,繼續(xù)睡眠,等待其他客戶機的請求;

Linux系統(tǒng)中的很多服務(wù)器是在系統(tǒng)初啟時啟動的,如時間服務(wù)器、打印服務(wù)器、文件傳輸服務(wù)器和電子郵件服務(wù)器等。大多數(shù)時間這些服務(wù)器進程處于睡眠狀態(tài),等待客戶機的請求。

下面這兩個客戶機-服務(wù)器程序比較簡單,主要是對網(wǎng)絡(luò)客戶機-服務(wù)器模型的實際運行有大致印象。這個客戶機-服務(wù)器的操作過程非常簡單:客戶機與服務(wù)器建立連接之后,服務(wù)器向客戶機返回一條消息。

服務(wù)器程序的源代碼如下:
PHP 代碼:

  1. /* tcpserver.c */  
  2. #include <stdlib.h> 
  3. #include <stdio.h> 
  4. #include <errno.h> 
  5. #include <string.h> 
  6. #include <netdb.h> 
  7. #include <sys/types.h> 
  8. #include <netinet/in.h> 
  9. #include <sys/socket.h> 
  10. #define WAITBUF 10  
  11.  
  12. int main(int argc, char *argv[])  
  13. {  
  14. int sockfd, new_fd;  
  15. struct sockaddr_in server_addr;  
  16. struct sockaddr_in client_addr;  
  17. unsigned int sin_size, portnumber;  
  18. char hello[]="Hello! Socket communication world!"n";  
  19.  
  20. if(argc != 2)  
  21. {  
  22. fprintf(stderr, "Usage:%s portnumber"a"n", argv[0]);  
  23. exit(1);  
  24. }  
  25.  
  26. if((portnumber = atoi(argv[1])) < 0)  
  27. {  
  28. fprintf(stderr, "Usage: %s portnumber error"a"n", argv[0]);  
  29. }  
  30.  
  31. if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)  
  32. {  
  33. fprintf(stderr, "Socket error:%s"n"a", strerror(errno));  
  34. exit(1);  
  35. }  
  36.  
  37. bzero(&server_addr, sizeof(struct sockaddr_in));  
  38. server_addr.sin_family = AF_INET;  
  39.  
  40. server_addr.sin_addr.s_addr = htonl(INADDR_ANY);  
  41. server_addr.sin_port = portnumber;  
  42.  
  43. if(bind(sockfd,(struct sockaddr *)(&server_addr), sizeof(struct sockaddr)) == -1)  
  44. {  
  45. fprintf(stderr, "Bind error:%s"n"a", strerror(errno));  
  46. exit(1);  
  47. }  
  48.  
  49. if(listen(sockfd, WAITBUF) == -1)  
  50. {  
  51. fprintf(stderr, "Listen error:%s"n"a", strerror(errno));  
  52. exit(1);  
  53. }  
  54.  
  55. while(1)  
  56. {  
  57. sin_size = sizeof(struct sockaddr_in);  
  58. if((new_fd = accept(sockfd, (struct sockaddr *)(&client_addr), &sin_size)) == -1)  
  59. {  
  60. fprintf( stderr, "Accept error:%s"n"a", strerror(errno));  
  61. exit(1);  
  62. }  
  63. fprintf(stderr, "Server get connection from %s"n", inet_ntoa(client_addr.sin_addr));  
  64. if(send(new_fd, hello, strlen(hello), 0) == -1)  
  65. {  
  66. fprintf(stderr, "Write Error:%s"n", strerror(errno));  
  67. exit(1);  
  68. }  
  69.  
  70. close(new_fd);  
  71. }  
  72. close(sockfd);  
  73. exit(0);  
  74. }   


給服務(wù)器程序?qū)懸粋€Makefile文件,如下:
PHP 代碼:

  1. # start  
  2.  
  3. CC = arm-elf-gcc  
  4.  
  5. CFLAGS = -D__PIC__ -fpic -msingle-pic-base -O2 -pipe -Wall -g  
  6. LDFLAGS = -Wl,-elf2flt  
  7.  
  8. LIBS =  
  9. OBJS = tcpserver.o  
  10.  
  11. all:tcpserver  
  12.  
  13. tcpser:  $(OBJS)  
  14. $(CC) $(CFLAGS) $(LDFLAGS) -o tcpserver $(OBJS) $(LIBS)  
  15.  
  16. clean:  
  17. rm -rf *.o *.elf *.gdb hello  
  18.  
  19. # end   
  20.  

客戶機程序的源代碼如下:
PHP 代碼:

  1. /* tcpclient.c */  
  2. #include <stdlib.h> 
  3. #include <stdio.h> 
  4. #include <errno.h> 
  5. #include <string.h> 
  6. #include <netdb.h> 
  7. #include <sys/types.h> 
  8. #include <netinet/in.h> 
  9. #include <sys/socket.h> 
  10.  
  11. #define RECVBUFSIZE 1024  
  12. int main(int argc, char *argv[])  
  13. {  
  14. int sockfd;  
  15. char buffer[RECVBUFSIZE];  
  16. struct sockaddr_in server_addr;  
  17. int portnumber, nbytes;  
  18. if(argc != 3)  
  19. {  
  20. fprintf(stderr, "Usage:%s hostname portnumber"a"n", argv[0]);  
  21. exit(1);  
  22. }  
  23. if((portnumber=atoi(argv[2])) < 0)  
  24. {  
  25. fprintf(stderr,"Usage:%s hostname portnumber"a"n", argv[0]);  
  26. exit(1);  
  27. }  
  28. if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)  
  29. {  
  30. fprintf(stderr, "Socket Error:%s"a"n", strerror(errno));  
  31. exit(1);  
  32. }  
  33. bzero(&server_addr, sizeof(server_addr));  
  34. server_addr.sin_family = AF_INET;  
  35. server_addr.sin_port = portnumber;  
  36. server_addr.sin_addr.s_addr = inet_addr(argv[1]);  
  37. if(connect(sockfd, (struct sockaddr *)(&server_addr), sizeof(struct sockaddr)) == -1)  
  38. {  
  39. fprintf(stderr, "Connect Error:%s"a"n", strerror(errno));  
  40. exit(1);  
  41. }  
  42.  
  43. if((nbytes = recv(sockfd, buffer, RECVBUFSIZE, 0)) == -1)  
  44. {  
  45. fprintf(stderr, "Read Error:%s"n", strerror(errno));  
  46. exit(1);  
  47. }  
  48. buffer[nbytes]='"0';  
  49. printf("I have received:%s"n", buffer );  
  50. close(sockfd);  
  51. exit(0);  
  52. }   
  53.  

最后,Linux SkyEye-binary-testutils-1.1.0.tar.bz2/at91x40/uclinux1包里提取boot.rom,用步聚6中的方法,把tcpserver程序放在boot.rom的bin目錄中在目標板上運行tcpserver 2000在主機上運行./tcpclient 10.0.0.2 2000看看結(jié)果!程序的源碼的注釋因篇幅不在這給出,大家可以參考一些Linux網(wǎng)絡(luò)編程的書籍,我也會在我的主頁上更新一些資料,有需要的朋友可以去下載!

8、編譯并運行uClinux-dist-20030909.tar.gz

到ftp://166.111.68.183/pub/embed/uclinux/soft/或到ftp://166.111.8.229/OS/Embeded/uclinux/pub/uClinux/dist下載uClinux-dist-20030909.tar.gz假設(shè)把它下載到/usr/src/目錄下.

然后依次執(zhí)行下面的命令:tar zxvf uClinux-dist-20030909.tar.gzv cd uClinux-dist/在圖形方式下可用命令make xconfig或在命令行方式下用命令make menuconfig vendor/product中選擇GDB/ARMulator kernel版本選擇2.4然后save and exit


運行下面這兩條命:
make dep
make

此時在/usr/src/uClinux-dist/linux-2.4.x目錄下會生成可執(zhí)行文件linux在/usr/src/uClinux-dist/images/會生成romfs.img等文件在uClinux-dist目錄下建立仿真AT91的Linux SkyEye配置文件Linux SkyEye.conf,內(nèi)容如下:

  1. cpu: arm7tdmi  
  2. mach: at91  
  3. mem_bank: map=Mtype=RWaddr=0x00000000size=0x00004000 
  4. mem_bank: map=Mtype=RWaddr=0x01000000size=0x00400000 
  5. mem_bank: map=Mtype=Raddr=0x01400000size=0x00400000file=images/romfs.img  
  6. mem_bank: map=Mtype=RWaddr=0x02000000size=0x00400000 
  7. mem_bank: map=Mtype=RWaddr=0x02400000size=0x00008000 
  8. mem_bank: map=Mtype=RWaddr=0x04000000size=0x00400000 
  9. mem_bank: map=Itype=RWaddr=0xf0000000size=0x10000000 


這個時候就可以用Linux SkyEye來調(diào)試運行kernel了,在/usr/src/uClinux-dist執(zhí)行如下命令:

  1. Linux SkyEye linux-2.4.x/linux  
  2. (Linux SkyEye)target sim  
  3. (Linux SkyEye)load  
  4. (Linux SkyEye)run  
  5. kernel start..... 

注意:要在Linux SkyEye.conf所在目錄下執(zhí)行Linux SkyEye linux-2.4.x/linux

9、加入網(wǎng)絡(luò)功能
a.用root用戶進行操作。
b.你要看你的/lib/modules/'uname -r'/kernel/drivers/net/目錄里有沒有tun.o如果沒有的話你就需要編譯你的linux內(nèi)核來獲得tun.o了。
c.(1)運行tun設(shè)備模塊:

  1. #insmod /lib/modules/'uname -r'/kernel/drivers/net/tun.o如果你沒有該設(shè)備,那你就要用下面的命令來創(chuàng)建它:  
  2. #mkdir /dev/net  
  3. #mknod /dev/net/tun c 10 200 

(2)運行vnet(虛擬集線器)設(shè)備模塊(這一步不是必需的):獲取vnet的源碼,然后創(chuàng)建設(shè)備:

  1. #mknod /dev/net/vnet c 10 201  
  2. #chmod 666 /dev/net/vnet  
  3.  
  4. 創(chuàng)建vnet.o#make vnet.o插入模塊vnet.o#insmod vnet.o進入test目錄,用test來測度vnet.o  
  5. #cd test  
  6. #make  
  7. #./testvnet1  

d.配置Linux SkyEye.conf文件

  1. cpu: arm7tdmi  
  2. mach: at91  
  3. mem_bank: map=Mtype=RWaddr=0x00000000size=0x00004000 
  4. mem_bank: map=Mtype=RWaddr=0x01000000size=0x00400000 
  5. mem_bank: map=Mtype=Raddr=0x01400000size=0x00400000file=images/romfs.img  
  6. mem_bank: map=Mtype=RWaddr=0x02000000size=0x00400000 
  7. mem_bank: map=Mtype=RWaddr=0x02400000size=0x00008000 
  8. mem_bank: map=Mtype=RWaddr=0x04000000size=0x00400000 
  9. mem_bank: map=Itype=RWaddr=0xf0000000size=0x10000000 
  10. # format: state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd  
  11. net: state=onmac=0:4:3:2:1:f, ethmod=tunhostip=10.0.0.1 


下面將對上面的一些參數(shù)作下說明:state=on/off意思是仿真的NIC(網(wǎng)絡(luò)接口板)是有線的還是無線的;mac=仿真適配器的MAC地址;ethmod=tuntap/vnet在主機環(huán)境里使用的虛擬設(shè)備;hostip=意思是主機環(huán)境與keyeye交互用的IP格式: state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd

  1. For example:  
  2. #set nic info state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd  
  3. net: state=onmac=0:4:3:2:1:f, ethmod=tunhostip=10.0.0.1  
  4. 或  
  5. net: state=onmac=0:4:3:2:1:f, ethmod=vnethostip=10.0.0.1 

注意:
如果你想在同一時刻運行兩個或更多的Linux SkyEye,那么請為每一個Linux SkyEye使用不同的Linux SkyEye.conf e.運行Linux SkyEye linux-2.4.x/linux

10、安裝完成Linux SkyEye后,下一步將做什么?

1、對于嵌入式操作系統(tǒng)的初學(xué)者和入門者和入門的學(xué)生而言,他們可以先看一些有關(guān)操作系統(tǒng)和嵌入式操作系統(tǒng)方面的教材和書籍,如與uC/OS、Minix、uClinux、Linux相關(guān)的書籍等。然后可以在Linux SkyEye上開發(fā)一些簡單的應(yīng)用程序例子(如進程間通信、進程優(yōu)先級、死鎖情況、網(wǎng)絡(luò)應(yīng)用等),對某些操作系統(tǒng)功能(如進程調(diào)度、內(nèi)存管理、網(wǎng)絡(luò)子系統(tǒng)、文件子系統(tǒng)等)進行簡單的修改和擴展,并通過Linux SkyEye進行運行和調(diào)試,看看會發(fā)生什么情況。

2、對于有一定經(jīng)驗的軟件工程師而言,在Linux SkyEye上完成一定的應(yīng)用系統(tǒng)原型開發(fā)是值得一做的事情。比如移植或開發(fā)一個文件子系統(tǒng)或網(wǎng)絡(luò)子系統(tǒng)到一個特定的操作系統(tǒng)中,相信比在一個真實的開發(fā)板上開發(fā)要容易一些。在Linux SkyEye上進行一些操作系統(tǒng)的移植和開發(fā)(如移植RTLinux、RTAI等其它操作系統(tǒng)到Linux SkyEye上)也是很有挑戰(zhàn)性的工作。

3、對于硬件工程師而言,對Linux SkyEye進行擴充,設(shè)計新的硬件仿真(如USB、IDE硬盤等)使得Linux SkyEye的硬件仿真功能更加強大,支持更多功能的軟件,是很有意義的事情。

參考:Linux SkyEye項目站點里的一篇中文文檔;陳渝《Linux SkyEye Project FAQ》;Linux SkyEye-0.7.0中的README文檔。

后記:為了讓大家能快速上手,進行實際的開發(fā)工作,我趕湊了一篇文檔,很粗糙。但我堅信隨著更多的有經(jīng)驗的人的加入;隨著我們自己水平的提高,一定會出現(xiàn)更多、更好的文章來。就讓我們快點行動起來吧!

最后,我再次建議大家看一下《嵌入式Linux技術(shù)與應(yīng)用》這本書。可以到http://www.Linux SkyEye.org/document.htm或是ftp://166.111.68.183/pub/embed/Linux SkyEye/document/或是http://www.huihoo.org/mirrors/Linux SkyEye/下載文檔,可以獲得更多有關(guān)Linux SkyEye和嵌入式Linux開發(fā)的知識和經(jīng)驗.

【編輯推薦】

  1. Linux rpm安裝源代碼打包
  2. Linux進程狀態(tài)解析之T、Z、X
  3. SELinux服務(wù)器不關(guān)閉配置 samba的方法
  4. Linux進程狀態(tài)解析之R、S、D
  5. Linux tomcat安裝步驟測試JDK是否安裝成功
責任編輯:佚名 來源: CSDN
相關(guān)推薦

2010-02-24 16:49:24

Fedora SkyE

2011-04-22 14:59:14

RedHat編譯器

2011-01-06 11:36:00

linuxGCC編譯器

2010-03-02 17:11:48

Linux SkyEy

2010-06-04 17:37:45

Linux編程工具

2010-01-13 16:46:44

CentOS Apac

2010-02-22 16:09:18

CentOS安裝

2010-01-21 09:11:38

C++編譯器

2010-01-18 10:34:21

C++編譯器

2010-03-23 11:17:16

Python 動態(tài)編譯

2017-03-20 18:01:55

編譯器匯編

2009-08-10 17:12:54

C#編譯器

2013-03-29 10:02:37

編譯器語言編譯開發(fā)

2010-10-20 13:43:37

C++編譯器

2019-08-06 08:20:07

編譯器工具開發(fā)者

2010-02-26 13:43:36

Linux gcc

2009-07-06 12:49:33

JSP編譯器

2009-08-14 11:34:26

Mono C#編譯器

2010-01-18 10:28:15

C++編譯器

2009-08-04 15:52:58

ASP.NET編譯器
點贊
收藏

51CTO技術(shù)棧公眾號

久久手机精品视频| 欧美亚洲国产一卡| 国产日韩一区欧美| 在线永久看片免费的视频| 禁果av一区二区三区| 欧美日韩成人综合在线一区二区| 超薄肉色丝袜足j调教99| 亚洲国产综合一区| 国产一区二区三区的电影| 亚洲天堂第一页| 日本高清一区二区视频| av女在线播放| 国产精品三级视频| 成人久久18免费网站漫画| 中文字幕第15页| 91精品啪在线观看国产81旧版 | 欧美裸体男粗大视频在线观看| 苍井空张开腿实干12次| 欧洲一级精品| 亚洲最新视频在线播放| 日本一区二区三区免费看| 99热这里只有精品9| 久久电影一区| 久久久久久久久久久久av| 神马久久久久久久久久久| 99精品在免费线中文字幕网站一区| 在线观看日韩电影| 91精品国产91久久久久麻豆 主演| 黄色av网站在线看| 粉嫩绯色av一区二区在线观看| 国产成人激情视频| 在线看成人av| 欧美1区免费| 在线观看久久av| 一级国产黄色片| 天堂精品久久久久| 欧美日韩免费观看一区三区| 激情六月丁香婷婷| caoprom在线| 亚洲精品乱码久久久久久久久| 视频在线精品一区| 欧美777四色影视在线| 成人久久久精品乱码一区二区三区| 国产精品毛片a∨一区二区三区|国| 中文字幕在线观看免费视频| 国产综合亚洲精品一区二| 久久九九亚洲综合| 国产中文字幕久久| 日韩精品一卡| 中文字幕亚洲无线码a| a毛片毛片av永久免费| 久久免费视频66| 精品国产乱码久久久久久浪潮| 午夜影院免费观看视频| 成人免费91| 欧美久久一二区| 污污动漫在线观看| 啪啪av大全导航福利综合导航| 欧美在线观看视频一区二区 | 国产传媒在线| 婷婷开心久久网| 国产免费一区二区视频| 久久国产精品黑丝| 亚洲成人av一区二区三区| 久艹视频在线免费观看| www视频在线观看| 亚洲成年人影院| 男人的天堂狠狠干| 涩涩视频网站在线观看| 日本韩国欧美在线| 男人舔女人下面高潮视频| 精品欧美一区二区三区在线观看| 91高清视频在线| 亚洲精品久久久久久宅男| 国产一区二区三区免费在线 | 亚洲一卡二卡三卡四卡无卡久久 | 国产一区二区三区av在线| 亚洲人午夜射精精品日韩| 不卡av在线免费观看| 麻豆传媒一区二区| 不卡在线视频| 亚洲麻豆国产自偷在线| 成年人看的毛片| 国产无遮挡裸体视频在线观看| 日韩欧美高清在线视频| 在线看的黄色网址| 亚洲成人影音| 亚洲女人天堂色在线7777| 美国黄色特级片| 伊人成综合网| 91po在线观看91精品国产性色 | 久久九九国产| 国产日韩欧美日韩大片| 亚洲av无码一区二区三区性色| 成人aaaa免费全部观看| 日本不卡二区高清三区| 国产写真视频在线观看| 亚洲福利一区二区| 已婚少妇美妙人妻系列| 粉嫩av国产一区二区三区| 亚洲国产免费av| 中文字幕黄色网址| 91久久午夜| 国产美女被下药99| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻av无码一区二区三区 | 欧美一级特黄aaaaaa| 国产欧美一区二区精品仙草咪| 国产一级黄色录像片| 亚洲深夜视频| 欧美一区二区视频在线观看2022| 你懂得在线视频| 91久久国产| 青草成人免费视频| 不卡的日韩av| 中文久久乱码一区二区| 国产无限制自拍| 男人的天堂免费在线视频| 一本色道**综合亚洲精品蜜桃冫| 日本特黄在线观看| 日韩精品免费| 热门国产精品亚洲第一区在线| 99久久精品免费看国产交换| 国产农村妇女毛片精品久久麻豆 | 欧美男男青年gay1069videost | 久久a级毛片毛片免费观看| 丝袜亚洲欧美日韩综合| 黄色在线观看国产| 懂色中文一区二区在线播放| 杨幂一区欧美专区| 搜成人激情视频| 亚洲精品久久久久国产| 久久久久久久久久一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 另类小说综合网| bl在线肉h视频大尺度| 日韩欧美激情在线| 91精品少妇一区二区三区蜜桃臀| 久久久久在线| 久久精品国产第一区二区三区最新章节 | 国产又粗又爽视频| 99久久夜色精品国产网站| 大荫蒂性生交片| 精品一区二区三区中文字幕| 久久精品国产精品| 97成人免费视频| 国产精品夫妻自拍| 日韩av片网站| 日韩在线观看| 国产美女久久精品| 日本在线看片免费人成视1000| 91福利视频网站| 午夜影院黄色片| 男女性色大片免费观看一区二区| 日本一区二区三区www| 亚洲a∨精品一区二区三区导航| 亚洲免费一在线| 日韩免费av网站| 国产拍揄自揄精品视频麻豆| 日韩中文字幕免费在线| 欧美日韩国产一区二区三区不卡 | 精品三级国产| 欧美另类精品xxxx孕妇| 亚洲精品一区二区三区区别| 亚洲在线中文字幕| 中文字幕三级电影| 国产日韩欧美高清免费| 品久久久久久久久久96高清| 成人精品一区二区三区电影| 日韩中文字幕网站| 国产精品探花视频| 亚洲最大成人综合| 中文字幕在线观看网址| 日韩高清不卡一区二区| 亚洲人成人77777线观看| 色8久久久久| 久久99国产精品自在自在app | 亚洲欧洲午夜一线一品| 免费在线观看av的网站| 中文字幕佐山爱一区二区免费| 超碰在线免费av| 伊人激情综合| 日产精品久久久一区二区| 欧美aaa级| 欧美另类第一页| 日本福利片在线| 欧美色精品在线视频| 清纯粉嫩极品夜夜嗨av| 91网上在线视频| 香蕉视频999| 91久久黄色| 亚洲精品在线免费看| 日韩欧美一级| 日本一欧美一欧美一亚洲视频 | 国产精品嫩草影院com| 无码国产精品一区二区高潮| 亚洲一区区二区| 久久av秘一区二区三区| 成午夜精品一区二区三区软件| 日本中文字幕不卡免费| 国产三级在线播放| 日韩精品免费一线在线观看| 亚洲天堂网在线观看视频| 亚洲午夜久久久久久久久久久| 成都免费高清电影| 国产激情视频一区二区三区欧美| 国产一区二区三区精彩视频 | 久久蜜桃香蕉精品一区二区三区| 手机版av在线| 男女av一区三区二区色多| 艳母动漫在线观看| 男男gay无套免费视频欧美| 96精品久久久久中文字幕| 成人美女视频| 欧美激情综合色| 幼a在线观看| 亚洲美女性视频| 国产综合无码一区二区色蜜蜜| 91高清视频在线| 97超碰人人干| 一区二区三区在线影院| 国产一区第一页| 久久久国产综合精品女国产盗摄| 美女流白浆视频| 九九久久精品视频| 男操女免费网站| 久久国产一二区| www插插插无码视频网站| 欧美一区网站| 正在播放国产精品| 国产a久久精品一区二区三区 | 大胆日韩av| 免费日韩电影在线观看| 超碰97久久| 97视频中文字幕| 成人污版视频| 国产日韩欧美综合| 国产精品videossex撒尿| 欧美综合第一页| 啊啊啊久久久| 久久久欧美一区二区| 亚洲区欧洲区| 欧美精品一区三区| av网址在线免费观看| 视频在线一区二区| www.在线播放| 中国人与牲禽动交精品| 成年人视频免费在线观看| 国产亚洲精品激情久久| 毛片网站在线观看| 亚洲男人的天堂网站| 欧美xxx.com| 夜夜嗨av色综合久久久综合网| 欧美在线一卡| 亚洲人成在线观看网站高清| 你懂的视频在线免费| 亚洲男人天堂2019| av网站在线免费播放| 亚洲欧美日韩在线高清直播| 精彩国产在线| 一区二区成人av| 在线免费观看黄色网址| 最新国产精品拍自在线播放| 日本www在线观看| 久久天堂av综合合色| 在线观看av免费| 欧美精品videossex88| 韩国成人免费视频| 欧美在线免费看| 日韩一区二区三区在线免费观看 | 视频亚洲一区二区| 精品国产乱码久久久久久久软件| 丝袜连裤袜欧美激情日韩| 欧美精品二区三区四区免费看视频| 国产精品欧美在线观看| 一级二级三级欧美| 欧美特黄视频| 国产91对白刺激露脸在线观看| 日韩国产精品大片| 91人妻一区二区三区| 99国产精品视频免费观看| 国产成人一区二区在线观看| 亚洲欧洲国产专区| 精品一级少妇久久久久久久| 狠狠色狠狠色综合日日五| 中文字幕日韩第一页| 日韩欧美一级二级三级久久久| 爽爽视频在线观看| 视频直播国产精品| 波多野结衣中文字幕久久| 国产成人精品电影| crdy在线观看欧美| 九9re精品视频在线观看re6| 日本欧美国产| 国产乱子伦精品无码专区| 日韩综合一区二区| 午夜性福利视频| 国产日产亚洲精品系列| 校园春色 亚洲| 91福利在线导航| 亚洲精品国产一区二| 永久555www成人免费| 美女航空一级毛片在线播放| 国产不卡视频在线| 91嫩草精品| 亚欧精品在线| 99热在线精品观看| 亚洲在线观看网站| 久久久久亚洲蜜桃| 玖玖爱免费视频| 欧美日韩一级黄| 外国精品视频在线观看| 中文字幕亚洲一区二区三区| 97人人爽人人澡人人精品| 国产日韩精品入口| 国产一区二区三区电影在线观看| 欧美国产视频一区| 久久99精品国产.久久久久| 亚洲综合色一区| 亚洲欧美色综合| 中文字幕精品一区二| 亚洲精品国产精品乱码不99按摩 | 网红女主播少妇精品视频| 异国色恋浪漫潭| 日本色综合中文字幕| 变态另类丨国产精品| 亚洲午夜久久久久久久久久久 | 国内精品国产成人| av黄色在线免费观看| 五月综合激情日本mⅴ| 国产av一区二区三区| 色婷婷久久av| а√天堂资源国产精品| 欧美大陆一区二区| 99成人精品| 成人做爰www看视频软件| 亚洲四区在线观看| 一级做a爱片性色毛片| 国产亚洲日本欧美韩国| 中文日产幕无线码一区二区| 国产精品区一区二区三含羞草| 欧美在线高清| 国产精品igao网网址不卡| 国产精品视频麻豆| 最近中文字幕在线观看视频| 国产亚洲精品美女久久久| 成人香蕉视频| 欧美一区免费视频| 日日嗨av一区二区三区四区| 亚洲午夜久久久久久久国产| 日本精品视频一区二区| 九色在线播放| 国产精品人成电影| 狠狠色丁香婷婷综合影院| 黄色三级视频片| 国产丝袜欧美中文另类| 青青国产在线视频| 中文字幕久热精品视频在线| 日本综合视频| 一区二区三区偷拍| 国产在线精品一区二区三区不卡 | 黑人精品xxx一区一二区| 手机av免费在线观看| 欧美在线一级va免费观看| 国产精品美女久久久久久不卡| 人妻丰满熟妇av无码区app| 欧美国产视频在线| 国产又粗又长视频| 欧美成aaa人片免费看| 巨人精品**| 日本在线观看a| 中文字幕欧美日韩一区| 国产在成人精品线拍偷自揄拍| 欧美精品在线免费| 鲁大师精品99久久久| 久久精品网站视频| 亚洲色图另类专区| 日本人妻丰满熟妇久久久久久| 4438全国成人免费| 久久精品国产68国产精品亚洲| 手机精品视频在线| 亚洲国产视频直播| 国产成人天天5g影院在线观看| 国产精品一二三视频| 欧美精品入口| 一区二区三区伦理片| 在线电影国产精品| 国产免费拔擦拔擦8x高清在线人| 日韩电影大全在线观看| 国产美女精品在线| 波多野结衣视频网站| 日韩一区二区精品视频| 超碰成人免费| 三级视频中文字幕| 亚洲成人av电影| 免费a级在线播放| 精品不卡在线| 国产尤物一区二区在线| 波多野结衣国产| 欧美乱大交xxxxx另类电影| 国产亚洲第一伦理第一区|