資料介紹
3.6 使用autotools
在上一小節,讀者已經了解到了make項目管理器的強大功能。的確,makefile可以幫助make完成它的使命,但要承認的是,編寫makefile確實不是一件輕松的事,尤其對于一個較大的項目而言更是如此。那么,有沒有一種輕松的手段生成makefile而同時又能讓用戶享受make的優越性呢?本節要講的autotools系列工具正是為此而設的,它只需用戶輸入簡單的目標文件、依賴文件、文件目錄等就可以輕松地生成makefile了,這無疑是廣大用戶所希望的。另外,這些工具還可以完成系統配置信息的收集,從而可以方便地處理各種移植性的問題。也正是基于此,現在Linux上的軟件開發一般都用autotools來制作makefile,讀者在后面的講述中就會了解到。
3.6.1 autotools使用流程
正如前面所言,autotools是系列工具,讀者首先要確認系統是否裝了以下工具(可以用which命令進行查看)。
n aclocal
n autoscan
n autoconf
n autoheader
n automake
使用autotools主要就是利用各個工具的腳本文件以生成最后的makefile。其總體流程是這樣的。
n 使用aclocal生成一個“aclocal.m4”文件,該文件主要處理本地的宏定義;
n 改寫“configure.scan”文件,并將其重命名為“configure.in”,并使用autoconf文件生成configure文件。
接下來,筆者將通過一個簡單的hello.c例子帶領讀者熟悉autotools生成makefile的過程,由于在這過程中會涉及較多的腳本文件,為了更清楚地了解相互之間的關系,強烈建議讀者實際動手操作以體會其整個過程。
1.autoscan
它會在給定目錄及其子目錄樹中檢查源文件,若沒有給出目錄,就在當前目錄及其子目錄樹中進行檢查。它會搜索源文件以尋找一般的移植性問題并創建一個文件“configure.scan”,該文件就是接下來autoconf要用到的“configure.in”原型。如下所示:
[root@localhost automake]# autoscan
autom4te: configure.ac: no such file or directory
autoscan: /usr/bin/autom4te failed with exit status: 1
[root@localhost automake]# ls
autoscan.log configure.scan hello.c
由上述代碼可知autoscan首先會嘗試去讀入“configure.ac”(同configure.in的配置文件)文件,此時還沒有創建該配置文件,于是它會自動生成一個“configure.in”的原型文件“configure.scan”。
2.autoconf
configure.in是autoconf的腳本配置文件,它的原型文件“configure.scan”如下所示:
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
#The next one is modified by david
#AC_INIT(FULL-PACKAGE-NAME,VERSION,BUG-REPORT-ADDRESS)
AC_INIT(hello,1.0)
# The next one is added by david
AM_INIT_AUTOMAKE(hello,1.0)
AC_CONFIG_SRCDIR([hello.c])
AC_CONFIG_HEADER([config.h])
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([makefile])
AC_OUTPUT
下面對這個腳本文件進行解釋。
n 以“#”號開始的行是注釋。
n AC_PREREQ宏聲明本文件要求的autoconf版本,如本例使用的版本2.59。
n AC_INIT宏用來定義軟件的名稱和版本等信息,在本例中省略了BUG-REPORT-ADDRESS,一般為作者的E-mail。
n AM_INIT_AUTOMAKE是筆者另加的,它是automake所必備的宏,使automake自動生成makefile.in,也同前面一樣,PACKAGE是所要產生軟件套件的名稱,VERSION是版本編號。
n AC_CONFIG_SRCDIR宏用來檢查所指定的源碼文件是否存在,以及確定源碼目錄的有效性。在此處源碼文件為當前目錄下的hello.c。
n AC_CONFIG_HEADER宏用于生成config.h文件,以便autoheader使用。
n AC_CONFIG_FILES宏用于生成相應的makefile文件。
n 中間的注釋之間可以分別添加用戶測試程序、測試函數庫、測試頭文件等宏定義。
接下來首先運行aclocal,生成一個“aclocal.m4”文件,該文件主要處理本地的宏定義。如下所示:
[root@localhost automake]# aclocal
再接著運行autoconf,生成“configure”可執行文件。如下所示:
[root@localhost automake]# autoconf
[root@localhost automake]# ls
aclocal.m4 autom4te.cache autoscan.log configure configure.in hello.c
3.autoheader
接著使用autoheader命令,它負責生成config.h.in文件。該工具通常會從“acconfig.h”文件中復制用戶附加的符號定義,因為這里沒有附加符號定義,所以不需要創建“acconfig.h”文件。如下所示:
[root@localhost automake]# autoheader
4.automake
這一步是創建makefile很重要的一步,automake要用的腳本配置文件是makefile.am,用戶需要自己創建相應的文件。之后,automake工具轉換成makefile.in。在該例中,筆者創建的文件為makefile.am,如下所示:
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS= hello
hello_SOURCES= hello.c
下面對該腳本文件的對應項進行解釋。
n 其中的AUTOMAKE_OPTIONS為設置automake的選項。GNU對自己發布的軟件有嚴格的規范,比如必須附帶許可證聲明文件COPYING等,否則automake執行時會報錯。automake提供了3種軟件等級:foreign、gnu和gnits,讓用戶選擇采用,默認等級為gnu。在本示例中采用foreign等級,它只檢測必須的文件。
n bin_PROGRAMS定義要產生的執行文件名。如果要產生多個執行文件,每個文件名用空格隔開。
n hello_SOURCES定義“hello”這個執行程序所需要的原始文件。如果“hello”這個程序是由多個原始文件所產生的,則必須把它所用到的所有原始文件都列出來,并用空格隔開。例如:若目標體“hello”需要“hello.c”、“david.c”、“hello.h”三個依賴文件,則定義hello_SOURCES=hello.c david.c hello.h。要注意的是,如果要定義多個執行文件,則對每個執行程序都要定義相應的file_SOURCES。
接下來可以使用automake命令來生成“configure.in”文件,在這里使用選項“-a”(或者“—adding-missing”)可以讓automake自動添加一些必需的腳本文件。如下所示:
[root@localhost automake]# automake –a(或者automake --add-missing)
configure.in: installing ‘。/install-sh’
configure.in: installing ‘。/missing’
makefile.am: installing ‘depcomp’
[root@localhost automake]# ls
aclocal.m4 autoscan.log configure.in hello.c makefile.am missing
autom4te.cache configure depcomp install-sh makefile.in config.h.in
可以看到,在automake之后就可以生成configure.in文件。
5.運行configure
在這一步中,通過運行自動配置設置文件configure,把makefile.in變成了最終的makefile。如下所示:
[root@localhost automake]# 。/configure
checking for a BSD-compatible install.。. /usr/bin/install -c
checking whether build environment is sane.。. yes
checking for gawk.。. gawk
checking whether make sets $(MAKE)。.. yes
checking for gcc.。. gcc
checking for C compiler default output file name.。. a.out
checking whether the C compiler works.。. yes
checking whether we are cross compiling.。. no
checking for suffix of executables.。.
checking for suffix of object files.。. o
checking whether we are using the GNU C compiler.。. yes
checking whether gcc accepts -g.。. yes
checking for gcc option to accept ANSI C.。. none needed
checking for style of include used by make.。. GNU
checking dependency style of gcc.。. gcc3
configure: creating 。/config.status
config.status: creating makefile
config.status: executing depfiles commands
可以看到,在運行configure時收集了系統的信息,用戶可以在configure命令中對其進行方便的配置。在。/configure的自定義參數有兩種,一種是開關式(--enable-XXX或--disable-XXX),另一種是開放式,即后面要填入一串字符(--with-XXX=yyyy)參數。讀者可以自行嘗試其使用方法。另外,讀者可以查看同一目錄下的“config.log”文件,以方便調試之用。
到此為止,makefile就可以自動生成了。回憶整個步驟,用戶不再需要定制不同的規則,而只需要輸入簡單的文件及目錄名即可,這樣就大大方便了用戶的使用。autotools生成makefile的流程如圖3.9所示。
圖3.9 autotools生成makefile的流程圖
3.6.2 使用autotools所生成的makefile
autotools生成的makefile除具有普通的編譯功能外,還具有以下主要功能(感興趣的讀者可以查看這個簡單的hello.c程序的makefile)。
1.make
鍵入make默認執行“make all”命令,即目標體為all,其執行情況如下所示:
[root@localhost automake]# make
if gcc -DPACKAGE_NAME=\“\” -DPACKAGE_TARNAME=\“\” -DPACKAGE_VERSION=\“\” -DPACKAGE_STRING=\“\” -DPACKAGE_BUGREPORT=\“\” -DPACKAGE=\“hello\” -DVERSION=\“1.0\” -I. -I. -g -O2 -MT hello.o -MD -MP -MF “.deps/hello.Tpo” -c -o hello.o hello.c; \
then mv -f “.deps/hello.Tpo” “.deps/hello.Po”; else rm -f “.deps/hello.Tpo”; exit 1; fi
gcc -g -O2 -o hello hello.o
此時在本目錄下就生成了可執行文件“hello”,運行“。/hello”能出現正常結果,如下所示:
[root@localhost automake]# 。/hello
Hello!Autoconf!
2.make install
此時,會把該程序安裝到系統目錄中去,如下所示:
[root@localhost automake]# make install
if gcc -DPACKAGE_NAME=\“\” -DPACKAGE_TARNAME=\“\” -DPACKAGE_VERSION=\“\” -DPACKAGE_STRING=\“\” -DPACKAGE_BUGREPORT=\“\” -DPACKAGE=\“hello\” -DVERSION=\“1.0\” -I. -I. -g -O2 -MT hello.o -MD -MP -MF “.deps/hello.Tpo” -c -o hello.o hello.c; \
then mv -f “.deps/hello.Tpo” “.deps/hello.Po”; else rm -f “.deps/hello.Tpo”; exit 1; fi
gcc -g -O2 -o hello hello.o
make[1]: Entering directory ‘/root/workplace/automake’
test -z “/usr/local/bin” || mkdir -p -- “/usr/local/bin”
/usr/bin/install -c ‘hello’ ‘/usr/local/bin/hello’
make[1]: Nothing to be done for ‘install-data-am’。
make[1]: Leaving directory ‘/root/workplace/automake’
此時,若直接運行hello,也能出現正確結果,如下所示:
[root@localhost automake]# hello
Hello!Autoconf!
3.make clean
此時,make會清除之前所編譯的可執行文件及目標文件(object file, *.o),如下所示:
[root@localhost automake]# make clean
test -z “hello” || rm -f hello
rm -f *.o
4.make dist
此時,make將程序和相關的文檔打包為一個壓縮文檔以供發布,如下所示:
[root@localhost automake]# make dist
[root@localhost automake]# ls hello-1.0-tar.gz
hello-1.0-tar.gz
可見該命令生成了一個hello-1.0-tar.gz壓縮文件。
由上面的講述讀者不難看出,autotools是軟件維護與發布的必備工具,鑒于此,如今GUN的軟件一般都是由automake來制作的。
想一想對于automake制作的這類軟件,應如何安裝呢?
?
在上一小節,讀者已經了解到了make項目管理器的強大功能。的確,makefile可以幫助make完成它的使命,但要承認的是,編寫makefile確實不是一件輕松的事,尤其對于一個較大的項目而言更是如此。那么,有沒有一種輕松的手段生成makefile而同時又能讓用戶享受make的優越性呢?本節要講的autotools系列工具正是為此而設的,它只需用戶輸入簡單的目標文件、依賴文件、文件目錄等就可以輕松地生成makefile了,這無疑是廣大用戶所希望的。另外,這些工具還可以完成系統配置信息的收集,從而可以方便地處理各種移植性的問題。也正是基于此,現在Linux上的軟件開發一般都用autotools來制作makefile,讀者在后面的講述中就會了解到。
3.6.1 autotools使用流程
正如前面所言,autotools是系列工具,讀者首先要確認系統是否裝了以下工具(可以用which命令進行查看)。
n aclocal
n autoscan
n autoconf
n autoheader
n automake
使用autotools主要就是利用各個工具的腳本文件以生成最后的makefile。其總體流程是這樣的。
n 使用aclocal生成一個“aclocal.m4”文件,該文件主要處理本地的宏定義;
n 改寫“configure.scan”文件,并將其重命名為“configure.in”,并使用autoconf文件生成configure文件。
接下來,筆者將通過一個簡單的hello.c例子帶領讀者熟悉autotools生成makefile的過程,由于在這過程中會涉及較多的腳本文件,為了更清楚地了解相互之間的關系,強烈建議讀者實際動手操作以體會其整個過程。
1.autoscan
它會在給定目錄及其子目錄樹中檢查源文件,若沒有給出目錄,就在當前目錄及其子目錄樹中進行檢查。它會搜索源文件以尋找一般的移植性問題并創建一個文件“configure.scan”,該文件就是接下來autoconf要用到的“configure.in”原型。如下所示:
[root@localhost automake]# autoscan
autom4te: configure.ac: no such file or directory
autoscan: /usr/bin/autom4te failed with exit status: 1
[root@localhost automake]# ls
autoscan.log configure.scan hello.c
由上述代碼可知autoscan首先會嘗試去讀入“configure.ac”(同configure.in的配置文件)文件,此時還沒有創建該配置文件,于是它會自動生成一個“configure.in”的原型文件“configure.scan”。
2.autoconf
configure.in是autoconf的腳本配置文件,它的原型文件“configure.scan”如下所示:
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
#The next one is modified by david
#AC_INIT(FULL-PACKAGE-NAME,VERSION,BUG-REPORT-ADDRESS)
AC_INIT(hello,1.0)
# The next one is added by david
AM_INIT_AUTOMAKE(hello,1.0)
AC_CONFIG_SRCDIR([hello.c])
AC_CONFIG_HEADER([config.h])
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([makefile])
AC_OUTPUT
下面對這個腳本文件進行解釋。
n 以“#”號開始的行是注釋。
n AC_PREREQ宏聲明本文件要求的autoconf版本,如本例使用的版本2.59。
n AC_INIT宏用來定義軟件的名稱和版本等信息,在本例中省略了BUG-REPORT-ADDRESS,一般為作者的E-mail。
n AM_INIT_AUTOMAKE是筆者另加的,它是automake所必備的宏,使automake自動生成makefile.in,也同前面一樣,PACKAGE是所要產生軟件套件的名稱,VERSION是版本編號。
n AC_CONFIG_SRCDIR宏用來檢查所指定的源碼文件是否存在,以及確定源碼目錄的有效性。在此處源碼文件為當前目錄下的hello.c。
n AC_CONFIG_HEADER宏用于生成config.h文件,以便autoheader使用。
n AC_CONFIG_FILES宏用于生成相應的makefile文件。
n 中間的注釋之間可以分別添加用戶測試程序、測試函數庫、測試頭文件等宏定義。
接下來首先運行aclocal,生成一個“aclocal.m4”文件,該文件主要處理本地的宏定義。如下所示:
[root@localhost automake]# aclocal
再接著運行autoconf,生成“configure”可執行文件。如下所示:
[root@localhost automake]# autoconf
[root@localhost automake]# ls
aclocal.m4 autom4te.cache autoscan.log configure configure.in hello.c
3.autoheader
接著使用autoheader命令,它負責生成config.h.in文件。該工具通常會從“acconfig.h”文件中復制用戶附加的符號定義,因為這里沒有附加符號定義,所以不需要創建“acconfig.h”文件。如下所示:
[root@localhost automake]# autoheader
4.automake
這一步是創建makefile很重要的一步,automake要用的腳本配置文件是makefile.am,用戶需要自己創建相應的文件。之后,automake工具轉換成makefile.in。在該例中,筆者創建的文件為makefile.am,如下所示:
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS= hello
hello_SOURCES= hello.c
下面對該腳本文件的對應項進行解釋。
n 其中的AUTOMAKE_OPTIONS為設置automake的選項。GNU對自己發布的軟件有嚴格的規范,比如必須附帶許可證聲明文件COPYING等,否則automake執行時會報錯。automake提供了3種軟件等級:foreign、gnu和gnits,讓用戶選擇采用,默認等級為gnu。在本示例中采用foreign等級,它只檢測必須的文件。
n bin_PROGRAMS定義要產生的執行文件名。如果要產生多個執行文件,每個文件名用空格隔開。
n hello_SOURCES定義“hello”這個執行程序所需要的原始文件。如果“hello”這個程序是由多個原始文件所產生的,則必須把它所用到的所有原始文件都列出來,并用空格隔開。例如:若目標體“hello”需要“hello.c”、“david.c”、“hello.h”三個依賴文件,則定義hello_SOURCES=hello.c david.c hello.h。要注意的是,如果要定義多個執行文件,則對每個執行程序都要定義相應的file_SOURCES。
接下來可以使用automake命令來生成“configure.in”文件,在這里使用選項“-a”(或者“—adding-missing”)可以讓automake自動添加一些必需的腳本文件。如下所示:
[root@localhost automake]# automake –a(或者automake --add-missing)
configure.in: installing ‘。/install-sh’
configure.in: installing ‘。/missing’
makefile.am: installing ‘depcomp’
[root@localhost automake]# ls
aclocal.m4 autoscan.log configure.in hello.c makefile.am missing
autom4te.cache configure depcomp install-sh makefile.in config.h.in
可以看到,在automake之后就可以生成configure.in文件。
5.運行configure
在這一步中,通過運行自動配置設置文件configure,把makefile.in變成了最終的makefile。如下所示:
[root@localhost automake]# 。/configure
checking for a BSD-compatible install.。. /usr/bin/install -c
checking whether build environment is sane.。. yes
checking for gawk.。. gawk
checking whether make sets $(MAKE)。.. yes
checking for gcc.。. gcc
checking for C compiler default output file name.。. a.out
checking whether the C compiler works.。. yes
checking whether we are cross compiling.。. no
checking for suffix of executables.。.
checking for suffix of object files.。. o
checking whether we are using the GNU C compiler.。. yes
checking whether gcc accepts -g.。. yes
checking for gcc option to accept ANSI C.。. none needed
checking for style of include used by make.。. GNU
checking dependency style of gcc.。. gcc3
configure: creating 。/config.status
config.status: creating makefile
config.status: executing depfiles commands
可以看到,在運行configure時收集了系統的信息,用戶可以在configure命令中對其進行方便的配置。在。/configure的自定義參數有兩種,一種是開關式(--enable-XXX或--disable-XXX),另一種是開放式,即后面要填入一串字符(--with-XXX=yyyy)參數。讀者可以自行嘗試其使用方法。另外,讀者可以查看同一目錄下的“config.log”文件,以方便調試之用。
到此為止,makefile就可以自動生成了。回憶整個步驟,用戶不再需要定制不同的規則,而只需要輸入簡單的文件及目錄名即可,這樣就大大方便了用戶的使用。autotools生成makefile的流程如圖3.9所示。
圖3.9 autotools生成makefile的流程圖
3.6.2 使用autotools所生成的makefile
autotools生成的makefile除具有普通的編譯功能外,還具有以下主要功能(感興趣的讀者可以查看這個簡單的hello.c程序的makefile)。
1.make
鍵入make默認執行“make all”命令,即目標體為all,其執行情況如下所示:
[root@localhost automake]# make
if gcc -DPACKAGE_NAME=\“\” -DPACKAGE_TARNAME=\“\” -DPACKAGE_VERSION=\“\” -DPACKAGE_STRING=\“\” -DPACKAGE_BUGREPORT=\“\” -DPACKAGE=\“hello\” -DVERSION=\“1.0\” -I. -I. -g -O2 -MT hello.o -MD -MP -MF “.deps/hello.Tpo” -c -o hello.o hello.c; \
then mv -f “.deps/hello.Tpo” “.deps/hello.Po”; else rm -f “.deps/hello.Tpo”; exit 1; fi
gcc -g -O2 -o hello hello.o
此時在本目錄下就生成了可執行文件“hello”,運行“。/hello”能出現正常結果,如下所示:
[root@localhost automake]# 。/hello
Hello!Autoconf!
2.make install
此時,會把該程序安裝到系統目錄中去,如下所示:
[root@localhost automake]# make install
if gcc -DPACKAGE_NAME=\“\” -DPACKAGE_TARNAME=\“\” -DPACKAGE_VERSION=\“\” -DPACKAGE_STRING=\“\” -DPACKAGE_BUGREPORT=\“\” -DPACKAGE=\“hello\” -DVERSION=\“1.0\” -I. -I. -g -O2 -MT hello.o -MD -MP -MF “.deps/hello.Tpo” -c -o hello.o hello.c; \
then mv -f “.deps/hello.Tpo” “.deps/hello.Po”; else rm -f “.deps/hello.Tpo”; exit 1; fi
gcc -g -O2 -o hello hello.o
make[1]: Entering directory ‘/root/workplace/automake’
test -z “/usr/local/bin” || mkdir -p -- “/usr/local/bin”
/usr/bin/install -c ‘hello’ ‘/usr/local/bin/hello’
make[1]: Nothing to be done for ‘install-data-am’。
make[1]: Leaving directory ‘/root/workplace/automake’
此時,若直接運行hello,也能出現正確結果,如下所示:
[root@localhost automake]# hello
Hello!Autoconf!
3.make clean
此時,make會清除之前所編譯的可執行文件及目標文件(object file, *.o),如下所示:
[root@localhost automake]# make clean
test -z “hello” || rm -f hello
rm -f *.o
4.make dist
此時,make將程序和相關的文檔打包為一個壓縮文檔以供發布,如下所示:
[root@localhost automake]# make dist
[root@localhost automake]# ls hello-1.0-tar.gz
hello-1.0-tar.gz
可見該命令生成了一個hello-1.0-tar.gz壓縮文件。
由上面的講述讀者不難看出,autotools是軟件維護與發布的必備工具,鑒于此,如今GUN的軟件一般都是由automake來制作的。
想一想對于automake制作的這類軟件,應如何安裝呢?
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- Linux下C語言編程入門教程詳細說明 39次下載
- LINUX系統教程之如何在Linux系統下進行編程 9次下載
- Linux操作系統實用教程之如何進行Linux系統下的編程管理 5次下載
- Linux操作系統下C語言編程入門.pdf 95次下載
- Linux下C編程 嵌入式開發 31次下載
- 基于Linux操作系統下C語言編程入門 11次下載
- linux 下C編程 9次下載
- Linux下C語言編程概述 0次下載
- Linux下基于Socket的網絡編程 0次下載
- Linux下的網絡編程總結 0次下載
- Linux下Socket網絡編程 0次下載
- Linux之hello_mul_c教程 4次下載
- Linux下C編程電子書 0次下載
- linux下c語言編程pdf 0次下載
- Linux autotools 教程
- Linux 下GCC的編譯 2026次閱讀
- Linux 下的make 工具和 Makefile 859次閱讀
- 深入探索Linux中的C語言 1228次閱讀
- 如何在Linux系統下開啟wifi 4300次閱讀
- Linux系統編程有哪些優勢 1224次閱讀
- 為什么Linus不用C井語言寫Linux系統 3662次閱讀
- 淺談嵌入式Linux下的C語言編程知識要點 4572次閱讀
- 嵌入式Linux下的C編程知識要點匯總 3040次閱讀
- 基于嵌入式linux系統下的串口編程具體設置詳解 6843次閱讀
- 基于嵌入式Linux下的I2C設備驅動的總體思路與框架設計 3671次閱讀
- Zynq 7015 linux跑起來之導入之BOOT.bin生成詳解 7238次閱讀
- 關于Linux下多線程編程技術學習總結 2135次閱讀
- linux高級技巧:服務器集群之keepalived 4932次閱讀
- 搭建測試環境常用linux命令_linux下web測試環境的搭建 1.1w次閱讀
- Linux下ARM 和單片機的串口通信設計 3431次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多