家好,我是隨風(fēng)。
【不說別的,關(guān)注走一波。】
謝謝大家。
那就進(jìn)入正題:
相信大家對(duì)電腦不陌生,但你們懂它嗎?
隨風(fēng)將帶領(lǐng)大家重新開始認(rèn)識(shí)它們“軟件,硬件,固件”。
中國(guó)21世紀(jì)是人才市場(chǎng),懂多多才能賺錢多多,隨風(fēng)現(xiàn)在開始將所學(xué)知識(shí)送給大家。愿大家與君共同進(jìn)步。
軟件高級(jí)匯編語言java
大家可能會(huì)問為啥那么多語言,只說java,比如C,C++,Python。
有句話叫貪多嚼不爛,高級(jí)語言大同小異,只要能懂一樣。其他的將會(huì)學(xué)的很快。
第一講(java語言工具)
計(jì)算機(jī),立足之地
1. 1 搭建 Java 環(huán)境(0ai115232O113131O9111.html)
在學(xué)習(xí)Java語言之前,必須了解并搭建好它所需要的開發(fā)環(huán)境。要編譯和執(zhí)行Java 程序,JDK (Java Developers Kits)是必備的。下面將具體介紹下載并安裝JDK和配置環(huán) 境變量的方法。
1)下載 JDK
Java的JDK又稱Java SE,是Sun公司的產(chǎn)品。由于Sim公司已經(jīng)被Oracle收購(gòu),因 此 JDK 可以在 Oracle 公司的官方網(wǎng)站"http://www.oracle.com/index.html”下載。
下面以目前最新版本的JDK8為例介紹下載TOK的
方法,具體步驟如下。
(1)打開 IE 瀏覽器,輸入網(wǎng)址"http://www.oracle.com/index.htnir',瀏覽 Oracle 官方 主頁。將光標(biāo)移動(dòng)到工具欄上的Downloads菜單項(xiàng)上,將顯示下載列表下拉菜單,單擊Java SE超鏈接。
(2)在JDK的下載頁面中,單擊JDK的下載按鈕,即"Download"按鈕。
(3)在JDK的下載列表中,首先單擊"Accept License Agreementw的單選按鈕,如果 不選擇此按鈕,單擊要下載的超鏈接時(shí)將不能進(jìn)行下載。然后根據(jù)操作系統(tǒng)的位數(shù)選擇適當(dāng) 版本的JDK進(jìn)行下載。如果是64位的Windows操作系統(tǒng),那么需要下載jdk-8ul 12-windows -x64.exe文件,直接單擊該文件的超鏈接即可。上述操作步驟如圖1.1所示。在撰寫本書時(shí), 最新的JDK版本為JDK 8ull2o
說明:JDK的版本號(hào)隨時(shí)會(huì)發(fā)生變化。下載JDK時(shí),如果存在比8ull2更高的版本, 可以放心地下載最新版本的JDK。一般情況下,高版本都是向下兼容低版本的。
Java從入門到精通(第5版)?小白手冊(cè)
1.1.2配置JDK環(huán)境
1.JDK安裝
下載Endows平臺(tái)的JDK安裝文件jdk-8ull2-windows-x64.exe后即可安裝,步驟如下:
(1)雙擊已下載的安裝文件,將彈出歡迎對(duì)話框,單擊“下一步"按鈕,如圖1.2所 不。
(2)在彈出的對(duì)話框中,可以選擇安裝的功能組件,這里選擇默認(rèn)設(shè)置,如圖1.3所 示。
圖1.2歡迎對(duì)話框圖1.3 “自定義安裝”對(duì)話框
(1)單擊“下一步”按鈕,使用默認(rèn)的安裝路徑"C:\ProgramFilesUava\jdkL8.0_112\”, 如圖1.4所示。
(2)單擊“下一步”按鈕,開始安裝JDK。在安裝過程中會(huì)彈出JRE的“目標(biāo)文 件夾"對(duì)話框,使用JRE默認(rèn)的安裝路徑即可。
(3)安裝完成后,將彈出如圖1.5所示的對(duì)話框,單擊“關(guān)閉”按鈕即可。
圖1.4 JDK默認(rèn)的安裝路徑對(duì)話框圖1.5 “完成”對(duì)話框
1.在Windows 7系統(tǒng)中配置環(huán)境變量
安裝完JDK之后,必須配置環(huán)境變量方可使用Java環(huán)境。在Windows操作系統(tǒng)中,主 要配置3個(gè)環(huán)境變量,分別是JAVA_HOME、Path和CLASSPATH。其中JAVA_HOME用 來指定JDK的安裝路徑;Path用來使系統(tǒng)能夠在任何路徑下都可以識(shí)別java命令;
CLASSPATH用來加載Java類庫的路徑。在Windows 7系統(tǒng)中配置環(huán)境變量的步驟如下:
(1)在"計(jì)算機(jī)”圖標(biāo)上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”命令,在 彈出的"屬性”對(duì)話框左側(cè)單擊"高級(jí)系統(tǒng)設(shè)置”超鏈接,將打開如圖1.6所示的“系統(tǒng)屬 性”對(duì)話框。
(2)單擊“環(huán)境變量”按鈕,將彈出“環(huán)境變量”對(duì)話框,如圖1.7所示,單擊“系 統(tǒng)變量"欄下的“新建”按鈕,創(chuàng)建新的系統(tǒng)變量。
圖1.6 “系統(tǒng)屬性”對(duì)話框圖1.7 “環(huán)境變量”對(duì)話框
(1)彈出"新建系統(tǒng)變量”對(duì)話框,分別輸入變量名"JAVA_HOME”和變量值(即 JDK的安裝路徑),其中變量值是筆者的JDK安裝路徑,讀者需要根據(jù)自己的計(jì)算機(jī)環(huán)境 進(jìn)行修改,如圖1.8所示。單擊“確定”按鈕,關(guān)閉“新建系統(tǒng)變量”對(duì)話框。
(2)在圖1.7所示的"環(huán)境變量”對(duì)話框中雙擊Path變量,對(duì)其進(jìn)行修改。將原變量 值最前面的 uC:\ProgramData\Oracle\Java\javapath;M 刪除,并輸入 u%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;"(注意,最后的“;”不要丟掉,它用于分割不同的變量值), 如圖1.9所示。單擊“確定”按鈕完成環(huán)境變量的設(shè)置。
圖1.8 "新建系統(tǒng)變量”對(duì)話框圖1.9設(shè)置Path環(huán)境變量值
(1)在圖1.7所示的"環(huán)境變量”對(duì)話框中,單擊"系統(tǒng)變量”欄下的“新建”按鈕, 新建一個(gè) CLASSPATH 變量,變量值為 “.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\ tools.jar;",如圖 1.10 所示。
圖1.10 設(shè)置CLASSPATH變量
(6) JDK配置完成后,需確認(rèn)是否配置準(zhǔn)確。在Windows系統(tǒng)中測(cè)試JDK環(huán)境需要 選擇"開始”-"運(yùn)行”命令(沒有"運(yùn)行”命令可以按Windows+R組合鍵),然后在“運(yùn) 行”對(duì)話框中輸入“cmd”并單擊“確定”按鈕啟動(dòng)控制臺(tái)。在控制臺(tái)中輸入javac命令, 按Enter鍵,將輸出如圖1.11所示的JDK的編譯器信息,其中包括修改命令的語法和參數(shù) 選項(xiàng)等信息。這說明JDK環(huán)境搭建成功。
W 管理員:C:\Windows\system32\CMD.exe
圖1.11 JDK的編譯器信息
息序序
控2>
I?
岀
項(xiàng)
a 的
置置 的的
名 劍 文 -和
痛 -.■■J 時(shí) —IT
-=1
a 1 的她注注位 --Is
tvio包 ispt項(xiàng) ln<o選 dnc 的 吁苛
[ 要理著理財(cái) 費(fèi)的 >編譯 項(xiàng)注選婪論 t落淮 <時(shí)牠
名 序 程 ■51
B>亳 兩省 -X7-WM
ne
wfi] I I c t>>t [ s e n & s 艮艮.1 n n pr r s < s s -豆-可 c i e t。與 diorc:cece目目liodc ; t tdooo<<pc X n r r r m n eepppdsie
UP-KB e 1 e s s c c
Qth錄 呻吟d '
虱處 文生 弱胃置置類討牛
行.B和和的置置
執(zhí)PI^^lw理運(yùn)程文文文字麝 息息.在0文文文的的景要理類源用£^2 Mfl正的類類繼展養(yǎng)1處的 信試試土雖爵戶戶入文寫成式使告UM 試調(diào)澳三普用用簟K裝的行>.注生生帰臟T
S3聲置為
> HSS香香引防蕊否as查放放否源; 1 es震成尊使定定定毒書U
11望生生岀岀疋指望生宙岀直普 f 生不知不審… ; ;.、.j j !
1.2 Ec I i pse 的下載與安裝(0>1115232011313109112. html)
Eclipse是一個(gè)基于Java的、開放源碼的、可擴(kuò)展的應(yīng)用開發(fā)平臺(tái),它為編程人員提供 了一流的 Java 集成開發(fā)環(huán)境(Integrated Development Environment, IDE)。在 Eclipse 的官 方網(wǎng)站中提供了_個(gè)java EE版的Eclipse IDE。應(yīng)用Eclipse IDE for Java EE,既可以創(chuàng)建Java 項(xiàng)目,也可以創(chuàng)建動(dòng)態(tài)Web項(xiàng)目。
1.2.1 Eclipse的下載與安裝方法
在Eclipse的官方網(wǎng)站(網(wǎng)址為:http://www.eclipse.org)中,可以下載最新的Eclipse 的安裝包。由于Eclipse的版本經(jīng)常更新且高版本會(huì)兼容低版本,所以下載最新版本的Eclipse 即可。下面以Eclipse 4.4.1為例介紹Eclipse下載與安裝的具體操作步驟。
(1)在IE地址欄中輸入"http://www.eclipse.org”,進(jìn)入到Eclipse官方網(wǎng)站。
(2)單擊DOWNLOAD按鈕后,會(huì)進(jìn)入到Eclipse的下載列表頁面。
(3)找到Eclipse IDE for JavaEE developers,然后根據(jù)操作系統(tǒng)的位數(shù)選擇適當(dāng)?shù)陌姹?進(jìn)行下載。如果是64位的Windows操作系統(tǒng),單擊"Windows 64 Bit"超鏈接,進(jìn)入到Eclipse IDE for JavaEE developers的下載頁面,如圖1.12所示。
圖1.12 Eclipse IDE的下載頁面
(2)單擊 “[China] Be並ig Institute of Technology (http)” 超鏈接,將打開如圖 1.13 一 示的文件下載對(duì)話框。在該對(duì)話框中,單擊“保存”按鈕,即可將Eclipse的安裝文件下載 到本地計(jì)算機(jī)中。
圖1.13 Eclipse IDE的下載頁面
⑸ 將下載后的解壓包解壓到讀者指定的路徑下,即可完成Eclipse的安裝。
說明:Eclipse的下載頁面和版本隨時(shí)會(huì)發(fā)生變化,但萬變不高其宗。下載Eclipse時(shí), 如果存在比4.4.1更高的版本,可以放心地下載最新版本的Eclipse。一般情況下,高版本都 是向下兼容低版本的。
1.2.2 啟動(dòng) Ecl ipse
Eclipse安裝完成后,就可以啟動(dòng)Eclipse 了。雙擊Eclipse安裝目錄下的eclipse.exe文件, 即可啟動(dòng)Eclipse。在首次啟動(dòng)Eclipse時(shí),需要設(shè)置工作空間,這里將工作空間設(shè)置在EcHpse 根目錄的workspace文件夾下,如圖1.14所示。
圖1.14設(shè)置工作空間
在每次啟動(dòng)EcUpse時(shí),都會(huì)彈出設(shè)置工作空間的對(duì)話框。如果想在以后啟動(dòng)Eclipse時(shí), 不再進(jìn)行工作空間的設(shè)置,可以選中aUse this as tiie default and do not ask againv復(fù)選框《 單擊"OK"按鈕后,即可啟動(dòng)Eclipse,進(jìn)入到如圖1.15所示的界面'
1.3 MySQL數(shù)據(jù)庫的安裝與配置
MySQL是目前最為流行的開放源碼的數(shù)據(jù)庫,是完全網(wǎng)絡(luò)化的跨平臺(tái)的關(guān)系型數(shù)據(jù)庫 系統(tǒng),它是由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。任何人都能從Internet下 載MySQL軟件,而無需支付任何費(fèi)用,并且"開放源碼”意味著任何人都可以使用和修改 該軟件。如果愿意,用戶也可以研究源碼并進(jìn)行恰當(dāng)?shù)男薷模詽M足自己的需求,不過需要 注意的是,這種“自由"是有范圍的。
1.3. 1 下載并安裝 MySQL ( F)al 115232011313109113. htm I)
Mm
登錄 MySQL 官網(wǎng) http://dev.mysql.com,依次展開"Downloads-?Community^-MySQL on Windows—MySQL rnstaller","ht^)://devjiiysql.com/downloads/windows/instanei/",
即可下載MySQL軟件。
說明:MySQL數(shù)據(jù)庫的版本號(hào)隨時(shí)會(huì)發(fā)生變化。下載MySQL數(shù)據(jù)庫時(shí),如果存在比 5.6.24更高的版本,可以放心地下載最新版本的MySQL數(shù)據(jù)庫。一般情況下,高版本都是 向下兼容低版本的。
下載完成后,雙擊下載后的amysql-mstaHer-commimity-5.6.24.0.msiw文件,打開安裝向?qū)?duì) 畫框,然后按照提示一步步往下安裝即可。在安裝過程中,有兩處需要注意,分別如下。
說明:安裝MySQL數(shù)據(jù)庫之前,首先需要安裝.NET Framework 4.0框架。
(1)MySQL使用的默認(rèn)端口是3306,在安裝時(shí),可以將其修改為其他的端口號(hào),例 如3307。但是一般情況下,不要修改默認(rèn)的端口號(hào),除非3306端口已經(jīng)被占用。
(2)在設(shè)置用戶和安全的MySQL Server Configuration對(duì)話框中,可以設(shè)置root用戶 的登錄密碼,也可以添加新用戶,這里只設(shè)置root用戶的登錄密碼為root,其他釆用默認(rèn), 如圖1.16所示。
圖1.16設(shè)置用戶和安全的MySQL Server Configuration對(duì)話框
1.3.2環(huán)境變焦的配置
為了能讓W(xué)indows命令行操作MySQL數(shù)據(jù)庫,需要配置一下系統(tǒng)的環(huán)境變量。
計(jì)算機(jī)右鍵-屬性一高級(jí)系統(tǒng)設(shè)置一高級(jí)一環(huán)境變量,在打開的窗口中選接'系統(tǒng)變量” 下的“新建”按鈕創(chuàng)建環(huán)境變量。
(1)創(chuàng)建MYSQL_HOME環(huán)境變量,如圖L17所示。
?變量名:MYSQL_HOME?
?變量值:C:\ProgramFiles\MySQL\MySQLServer5.6o
圖1.17創(chuàng)建MYSQL_HOME環(huán)境變量
此處的變量值是MySQL的真實(shí)目錄,請(qǐng)根據(jù)實(shí)際情況自行更改。
(1)配置PATH環(huán)境變量,在系統(tǒng)變量中選擇“Path"并單擊“編輯”按鈕,在變量 值末尾添加新值“%MYSQL_HOME%\bin\;"。如圖1.18所示。
圖1.18配置PATH環(huán)境變量
1.3.3啟動(dòng)、連接、斷開和停止MySQL服務(wù)器
通過系統(tǒng)服務(wù)器和命令提示符(DOS)都可以啟動(dòng)、連接、斷開和停止MySQL,操作 非常簡(jiǎn)單。下面以Windows 7操作系統(tǒng)為例,講解其具體的操作流程。建議,通常情況下 不要停止MySQL服務(wù)器,否則數(shù)據(jù)庫將無法使用。
1.啟動(dòng)或停止MySQL服務(wù)器
啟動(dòng)或停止MySQL服務(wù)器的方法有兩種:系統(tǒng)服務(wù)器和命令提示符(DOS)。
EI通過系統(tǒng)服務(wù)器啟動(dòng)或停止MySQL服務(wù)器
如果MySQL設(shè)置為Windows服務(wù),則可以通過選擇“開始"一 “控制面板” _ “系 統(tǒng)和安全"一“管理工具” f “服務(wù)”命令打開Windows服務(wù)管理器。在服務(wù)器的列表中 找到MySQL服務(wù)并單擊右鍵,在弾出的快捷菜單中可完成MySQL服務(wù)的各種操作(如啟 動(dòng)、重新啟動(dòng)、停止、暫停或恢復(fù)等),如圖1.19所示。
圖1.19通過系統(tǒng)服務(wù)啟動(dòng)或停止MySQL服務(wù)器
0 在命令提示符下啟動(dòng)或停止MySQL服務(wù)器
單擊“開始”菜單,在出現(xiàn)的命令輸入框中輸入“cmd”命令,按Enter鍵打開DOS窗 口。在命令提示符下輸入:
\> net start mysql
此時(shí)再按Enter鍵,啟用MySQL服務(wù)器。 在命令提示符下輸入:
\> net stop mysql
按Enter鍵,即可停止MySQL服務(wù)器。
2.連接或斷開MySQL服務(wù)器
下面分別介紹連接或斷開MySQL服務(wù)器的方法。
0 連接MySQL服務(wù)器
連接MySQL服務(wù)器通過mysql命令實(shí)現(xiàn)。在MySQL服務(wù)器啟動(dòng)后,選擇"開始"- "運(yùn)行”命令,在彈出的“運(yùn)行"窗口中輸入"cmd”命令,按Enter鍵后進(jìn)入DOS窗口, 在命令提示符下輸入:
說明:在連接MySQL服務(wù)器時(shí),MySQL服務(wù)器所在地址(如-hl27.0.0.1)可以省略 不寫。
0 斷開MySQL服務(wù)器
連接到MySQL服務(wù)器后,可以通過在MySQL提示符下輸入“exit”或者"quit”命令 斷開MySQL連接,格式如下:
|mysql> quit;
3)4 打開 MySQL 5. 6 Command Line Cl ient
MySQL服務(wù)器安裝完成后,就可以通過其提供的MySQL 5.6 Command Line Client程序 來操作MySQL數(shù)據(jù)了,這時(shí),必須先打開MySQL 5.6 Command Line Client,并登錄MySQL 服務(wù)器。下面介紹具體的步驟。
在開始菜單中,選擇"所有程序” —MySQL—MySQL Server 5.6—MySQL 5.6 Command Line Client 命令,將打開 MySQL 5.6 Command Line Client 窗口,在該窗口 中輸入 root 用戶 的密碼(這里為root),即可登錄到MySQL服務(wù)器,如圖1.20所示。
圖1.20登錄到MySQL服務(wù)器
1.3.5 MySQL Workbench 圖形化管理工具 O 1115232011313109114. htmI)
MySQL數(shù)據(jù)庫安裝完成后,會(huì)自動(dòng)安裝一個(gè)圖形化工具Workbench,用于創(chuàng)建并管理 數(shù)據(jù)庫,用戶可以使用該工具以圖形化的方式管理MySQL數(shù)據(jù)庫。具體使用步驟如下。
(1)在開始菜單中選擇“所有程序"-MySQL^MySQL Workbench 6.1 CE菜單項(xiàng), 將打開如圖1.21所示的MySQL Workbench主屏界面。
(2)在圖1.21中,單擊Local instance MySQL 56超鏈接,將打開一個(gè)輸入用戶密碼的 對(duì)話框,在該對(duì)話框中輸入root用戶的密碼,單擊"OK”按鈕,即可打開如圖1.22所示的 MySQL Workbench數(shù)據(jù)庫管理界面,在該界面中,可以進(jìn)行創(chuàng)建/管理數(shù)據(jù)庫、創(chuàng)建/管理數(shù) 據(jù)表、編輯表數(shù)據(jù)、查詢表數(shù)據(jù)和執(zhí)行已有的SQL腳本等操作。
繼回
1.4 向 MySQL 數(shù)據(jù)庫導(dǎo)入 sql 文件(Qalll5232011313109115.html)潔籲
ISMS
在大多數(shù)情況下,開發(fā)人員需根據(jù)實(shí)際需求自行創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)表,以及向數(shù)據(jù)表添 加數(shù)據(jù)。如果程序源文件中有備份好的sql文件,可通過打開MySQL 5.6 Command Line Client 程序并登錄MySQL服務(wù)器,輸入"source +空格+ sql文件路徑”后,按Enter鍵,即可 完成在MySQL數(shù)據(jù)庫中創(chuàng)建sql文件指定的數(shù)據(jù)庫、數(shù)據(jù)表,以及向數(shù)據(jù)表添加數(shù)據(jù)等操 作。
以“光盤\Code\Src\resourcesw路徑下的db lottery.sql文件為例,向MySQL數(shù)據(jù)庫 導(dǎo)入db_lottery.sql文件的具體步驟如下。
(1)在開始菜單中,選擇“所有程序” 一MySQL-MySQL Server 5.6—MySQL 5.6 Command Line Client 命令,將打開 MySQL 5.6 Command Line Client 窗口,如圖 1.23 所示。
圖1.23 MySQL客戶端命令行窗口
(2)在如圖1.23所示的MySQL客戶端命令行窗口中,輸入root用戶的密碼(這里為 root),將登錄到MySQL服務(wù)器,如圖1.24所示。
圖1.24登錄到MySQL服務(wù)器
(3)將"光盤\Code\Src\resources”路徑下的db_lottery.sql文件復(fù)制、粘貼到桌面上, 其效果如圖1.25中紅色框圈出的部分所示。
圖1.25將db_lotteiy.sql文件復(fù)制、粘貼到桌面上
說明:將db_lottery.sql文件復(fù)制、粘貼到桌面上是為了避免db_lotteiy.sql文件的絕對(duì) 路徑中包含中文。如果sql文件的絕對(duì)路徑中包含中丈,導(dǎo)入該sql文件時(shí)MySQL服務(wù)器 會(huì)顯示“error”字樣的報(bào)錯(cuò)信息。
(4)在如圖1.24所示的MySQL服務(wù)器窗口中,首先在光標(biāo)閃爍處輸入“source +空 格",然后將桌面上的db_lottery.sql文件拖曳到輸入“source +空格”后的光標(biāo)閃爍處。
環(huán)境措建調(diào)試
MySQL服務(wù)器中source命令的效果如圖1.26所示。
圖L27 MySQL服務(wù)器中執(zhí)行dbjottery.sql文件中的sql語句
(6)在MySQL服務(wù)器中的光標(biāo)閃爍處輸入"show databases;"后,按Enter鍵。通過 上述操作能夠驗(yàn)證dbjottery.sql文件是否被成功導(dǎo)入到MySQL數(shù)據(jù)庫中。顯示MySQL數(shù)
據(jù)庫中已存在的數(shù)據(jù)庫,如圖1.28所示(紅框圈出的部分即為導(dǎo)入db_mttery?sql文件后生 成的數(shù)據(jù)庫)。
圖L28顯示MySQL數(shù)據(jù)庫中已存在的數(shù)據(jù)庫
(7)在MySQL服務(wù)器中的光標(biāo)閃爍處輸入“exit;”后,按下Enter鍵。通過上述操作, 能夠安全退出MySQL服務(wù)器。
1.5本章總結(jié)
本章主要對(duì)開發(fā)Java程序時(shí)所用的JDK和MySQL數(shù)據(jù)庫等工具的下載、安裝及使用 進(jìn)行了詳細(xì)講解。通過本章的學(xué)習(xí),讀者應(yīng)該能夠快速搭建好開發(fā)Java程序的環(huán)境,以便 快速進(jìn)入開發(fā)狀態(tài)。
第2章 開發(fā)工具介紹
?開介
(口1115232010344102111. htmI)
Eclipse是一個(gè)基于Java的、開放源碼的、可擴(kuò)展的應(yīng)用開發(fā)平臺(tái),它為開發(fā)人員提供 了一流的 Java 集成開發(fā)環(huán)境(Integrated Development Environment, IDE)。在 Eclipse 的官 方網(wǎng)站中提供了一個(gè)Java EE版的Eclipse IDE。應(yīng)用Eclipse IDE for Java EE,既可以創(chuàng)建Java 項(xiàng)目,也可以創(chuàng)建動(dòng)態(tài)Web項(xiàng)目。
2.1 了解Eclipse的工作臺(tái)
雙擊Eclipse安裝目錄下的爭(zhēng)eclipse,改£文件啟動(dòng)Eclipse,在彈出的選擇工作空間的 對(duì)話框中,指定工作空間位置為Eclipse安裝目錄下的workspace目錄下,如圖2.1所示。
說明:在每次啟動(dòng)Eclipse時(shí),都會(huì)彈出設(shè)置工作空間的對(duì)話框,如果想在以后啟動(dòng)時(shí), 不再進(jìn)行工作空間設(shè)置,可以選中"Use this as the default and do not ask again*復(fù)選框。
單擊"OK”按鈕,若是初次進(jìn)入圖2.1選擇的工作空間,貝!I出現(xiàn)Eclipse的歡迎頁,否 則直接進(jìn)入到Eclipse的工作臺(tái)。如果出現(xiàn)歡迎界面,關(guān)閉該歡迎界面,將進(jìn)入到Eclipse的 工作臺(tái)。Eclipse的工作臺(tái)主要由菜單欄、工具欄、透視圖工具欄、項(xiàng)目資源管理器視圖、 大綱視圖、編輯器和其他視圖組成。Eclipse的工作臺(tái)如圖2.2所示。
2.2 Eclipse的菜單簡(jiǎn)介
在Eclipse工作臺(tái)的上方提供了菜單欄,該菜單欄包含了實(shí)現(xiàn)Eclipse各項(xiàng)功能的命令, 并且與編輯器相關(guān),即菜單欄中的菜單項(xiàng)與當(dāng)前編輯器內(nèi)打開的文件是關(guān)聯(lián)的。例如,編輯 器內(nèi)沒有打開任何文件,那么,將顯示如圖2.2所示的菜單欄。如果打開了一個(gè)Java文件, 那么將顯示如圖2.3所示的菜單欄。
jfe v/ebworkspace - Java EE -昔日彩華F導(dǎo)航菜單c/com/frame/Logink幫助菜單
File Ec it Source Refactor Navigate Search Project Run :A/indow
圖2.3 Eclipse的菜單欄
從圖2.3中可以看出,打開一個(gè)Java文件后,Eclipse的菜單欄中共包括10個(gè)菜單,這 些菜單中又包含了相應(yīng)的子菜單。Eclipse中常用的菜單如圖2.4所示。
■ i!F?E3XZ
Nev(N)
Opan rile...ntfxn..
Cl?a?AM(c>
Cl??? All會(huì)■關(guān)ai (L)
U ?? (S3
國(guó) Save A?..0貝存為<a>-
芯 Si?? All3(t>
if a m
<n..
Di (■)-.
C ■■ (n
Cenvert Line 0?llatter? T?(I)
一 Print.
■aitart
in la?4rt..X加入<i>-
船 Ei??rt£j露出<?>-
■n <?>
EXIt與出<x)
X# (File) X*
mma
<ci
Estreat BethW .Cl)
Eitract Lm?I Variable..MBflSSI <11..
Eitraat CwiataAt...Masa al..
Ini !??...AS Ci)l.
Can??et Uc?l VeriabU to,—
C?nv?M Anony??M? Clasa te Mm'"再■京MS■.異(D)
■ ?v? TfM t? ■?? fl !?_.SdllfiNSKfV (tk.
1?tr?ct Ssp?,c ■??.”)
Kitraat 1 砒?“......殖■■口 CU..
Fw?h..下?《?妃
Fall "...±tt ctx..
Eatraet Claes...*0?
Iatr?tf?ie?”,?砒._91 入OU
latr*tf?ie? IMIr?et <??...5IAKH(T)u.
latrFs?t?rv?.?Air (ru
亂入g.
<??????!?<? ”?,?...M*a cik.
??Mralif? DeclarWCll-
i*f?r 4an?r<? Type ArguMMt*
■igrava JAt File.
Create t?r i?t...■ ?■“ (?X..
V S?r ??t.-fiJKB* CT1-
Nlstery...■W <■>_
皿
T oca 1? CvasantU!?i?W (L)
? ■ftilW <?>
■????? Um* Co???cC,at壊注■ ?)
l???rat< E1 M?nt Cow?nt9?jtaan (t)
UH" IlgMm cs>
Shift LeftS.9 CH)
Correct IMMitatiow染正?爆id
F?fMt-式 CF)
Fareat fl??ent-式化兄? (?)
A“ la??rt? K*? 入(0)
■幟尊入(e)
Clean Up...MQ on
, ■,兵■方第CVL.
l?tt?ra aM S?tt?ea.t * 6?tt?r io tetter
????*at?■ ■代■方it (Bl.
???wrat? taStrintO--,?toM,'M(X-
6???,?t? ha?kC?tf?<) ?“ ?q??l?Cl..ItfkaehCetfeOlDaQualan..
C?n?rat? C?natrvat?r vainc ri?l4?...”用于It金成的?■■ <A1..
?*n?rat? C4N?trv?tar? fr?a S???*9lM? .從■費(fèi)中,酸梅??■《CL.
Svrr??n4 lith代■方式(■)
Catcrnal It* Str inga ..? ■化字衍?(Ml..
f ?M|it?rn?l ia?d Itr i<i|?
(source) X*
m皿
A?《n
% Q?i
Ru? Nietarr
Run At
■v? C?nf isvraticne...
??bug HIBtery D?bu< A*
0?bug C*n?i|vrat (??■...
? T?gg1■ BraaKpcintQ?h <?)
5眞(B>
MM CB> ■行配■ OIL.
?iCfteea (w) ?ica式(?) ??ei <?!..
?CK>
?A fL)
?Yegg l? Line If ealipoint
?Teg|l? ■?tho4 Br?*h??int , Taggle Vatabvaint
?MH. *11 BraakMiMs
3 ■??ov? Al 1
*j AM 4. En?9<i?R BrMk*0ln<. 0 M4 Cl??* Lo“ tr?ak??lnt... 口 All ■???,?*??“,? ?9■方(■> 9 It検■■點(diǎn) <■)
、?u*?aja ck) 餐■看第*?益cr> *:?awa (i: 0 *fe??入-jA (隊(duì). 0 IHUflM CiX..
O ???? CT>...
InatanM Cawnt...
latch
J
3 ???*!■?
Qg E??cut??;供計(jì)■(?)-.
?r<n
Q ” (K> 0 ■承 <f>
(x>
AMifeM (”
% Eitemal loala4 ?BTA CO
(Search) g
ems□HO
??? ?>A40??**□(?〉
E44t?r?■
HI4? T??lbar(T)
Sho? Vie*■ (”
P?r*t?et tv*-?? A ?
WM Ct)
<F>
?0 l?te
?? V*
?i
?r?" r,x H??,?,?hy
0??n Call Hi?rar?hv
0??c ?,??,Ii?k
■*?n ■■^Iwantat i?n
?x。 Sv*?r ,■*,???《?t?t i?e
0??? AttacMtf Jav?4?e
9*?n free Cl @『VW…
?“a T,x i? H??ref?hv...
0??n .?,《?re?
?T?ah..
可SatO
0 0??nl?<
In Br?atfcrtoab
lbw la
9
6 Fr??i?H?
D last Edit
O BmU
Q『?,??“mn
■入 Cl)
?1 (?)
irx(?>
<a) n弁■用■次■何<i) FT 弁■?■ (?> rrw??(? nxa?a(s> nXWlOMJoeJtM kNKMHX <0)
&J8次,再中IT開HOI CO ffffna tux..
? fins* KMSft
H nxai
示 <?> (■)
5卞一個(gè)(i> 割上f (¥)
O上一個(gè)■?位■CO
9“ (B)
Q??(F)
ma皿
0p?n Fr?jMt CI?M Pr?J?8t .BulN All
?ui y,?j??t f?Hdnc fot
Clean...njmiH(t> &MVH (1) 余?曾?C*> 榆?4目(?> ”!:?■ <■)
H?(?)???
, d,l? lUtOMt iMllr<■)
^0?wat?
Pf * !?■■fl (F>
項(xiàng)目(project) ?<
圖2.4 Eclipse常用菜單中英文對(duì)照單
環(huán)境搭建與程序調(diào)試
2.3快捷鍵介紹
在程序開發(fā)過程中,合理地使用快捷鍵不但可以減少代碼的錯(cuò)誤率,而且可以提高開發(fā) 效率。因此,掌握一些常用的快捷鍵是必要的。為此Eclipse提供了許多快捷鍵,Eclipse的 快捷鍵可以通過以下步驟進(jìn)行查看。
(1)在Eclipse的菜單欄中選擇“Window” 一 <<Preferencesw菜單項(xiàng),如圖2.5所示。
圖25選擇首選項(xiàng)菜單
(2)在打開的^Preferences"對(duì)話框中展開“General”節(jié)點(diǎn)后,選中該節(jié)點(diǎn)的“Keys” 子節(jié)點(diǎn),將顯示如圖2.6所示的對(duì)話框。
圖 2.6 Preferences 對(duì)話框
(3)在圖2.6右側(cè)的列表中,將顯示Eclipse中提供的命令及其對(duì)應(yīng)的快捷鍵,讀者可 以在該對(duì)話框中査看所需命令的快捷鍵,也可以選中指定命令,修改該命令所對(duì)應(yīng)的快捷鍵。
說明:雖然可以修改Eclipse的快捷鍵,但是筆者建議不要隨意修改。
⑷Eclipse常用快捷鍵。熟練掌握Eclipse的快捷鍵能夠大大提高開發(fā)效率。Eclipse
提供的快捷鍵如表2.1所示。
表2.1常用的快捷鍵
快捷鍵說明
Alt+/代碼提示
F3跳轉(zhuǎn)到類或變量的聲明
Alt +上下方向鍵將選中的一行或多行向上或向下移動(dòng)
Alt +左右方向鍵跳到前一次或后一次的編輯位置,在代碼跟蹤時(shí)用的比較多
Ctrl + /注釋或取消注釋
Ctrl + D刪除光標(biāo)所在行的代碼
Ctrl + K將光標(biāo)停留在變量上,按Ctrl+K快捷鍵可查找下一個(gè)同樣的變量
Ctrl + O打開視圖的小窗口
Ctrl + W關(guān)閉單個(gè)窗口
Ctrl +鼠標(biāo)單擊可以跟蹤方法和類的源碼
Ctrl +鼠標(biāo)停留可以顯示方法和類的源碼
Ctrl + M將當(dāng)前視圖最大化
Ctrl+1光標(biāo)停留在某變量,按Ctrl+1快捷鍵,可提供快速實(shí)現(xiàn)的重構(gòu)方法。 選中若干行,按Ctrl+1快捷鍵可將此段代碼放入fbr、while、if、do 或try等代碼塊中
Ctrl + Q回到最后編輯的位置
Ctrl + F6切換窗口
Ctrl +Shift+ K和Ctrl+K快捷鍵查找的方向相反
Ctrl +Shift+ F代碼格式化。如果將代碼進(jìn)行部分選擇,僅對(duì)所選代碼進(jìn)行格式化
Ctrl + Shift+ 0快速地導(dǎo)入類的路徑
Ctrl + Shift+ X將所選字符轉(zhuǎn)為大寫
Ctrl +Shift+ Y將所選字符轉(zhuǎn)為小寫
Ctrl + Shift+ /注釋代碼塊
Ctrl + Shift + \取消注釋代碼塊
Ctrl + Shift + M導(dǎo)入未引用的包
Ctrl + Shift + D在debug模式里顯示變量值
Ctrl + Shift + T查找工程中的類
Ctrl + Alt + Down復(fù)制光標(biāo)所在行至其下一行
雙擊左括號(hào)(小括號(hào),中 括號(hào),大括號(hào))將選擇括號(hào)內(nèi)的所有內(nèi)容
環(huán)境搭建與跡調(diào)試
第3章 程序調(diào)試方法
(□1115232010344102111. htm I)U液
讀者在程序開發(fā)過程中會(huì)不斷體會(huì)到程序調(diào)試的重要性。為驗(yàn)證Java單元的運(yùn)行狀況, 以往會(huì)在某個(gè)方法調(diào)用的開始和結(jié)束位置分別使用System.out.printlnO方法輸出狀態(tài)信息, 并根據(jù)這些信息判斷程序執(zhí)行狀況,但這種方法比較原始,而且經(jīng)常導(dǎo)致程序代碼混亂(導(dǎo) 出的都是 System. out.println()方法)。
本節(jié)將簡(jiǎn)單介紹Eclipse內(nèi)置的Java調(diào)試器的使用方法,使用該調(diào)試器可以設(shè)置程序的 斷點(diǎn),實(shí)現(xiàn)程序單步執(zhí)行,在調(diào)試過程中査看變量和表達(dá)式的值等調(diào)試操作,這樣可以避免 在程序中編寫大量的System.out.printlnO方法輸出調(diào)試信息。
使用Eclipse的Java調(diào)試器需要設(shè)置程序斷點(diǎn),然后使用單步調(diào)試分別執(zhí)行程序代碼的 每一行。示例代碼如下: 01 public class MyTest ( 02 public static void main(String[] args) { 03System. oz/f.println("輸出 1 行”);
04System.。說.printing輸出2行”);
05System. O以println("輸出 3 行”);
06)
07 }
3.1設(shè)置斷點(diǎn)
設(shè)置斷點(diǎn)是程序調(diào)試中必不可少的手段,Java調(diào)試器每次遇到程序斷點(diǎn)時(shí)都會(huì)將當(dāng)前線 程掛起,即暫停當(dāng)前程序的運(yùn)行。
可以在Java編輯器中顯示代碼行號(hào)的位置雙擊"添加或刪除”當(dāng)前行的斷點(diǎn),或者在 當(dāng)前行的位置單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇"Toggle Breakpoint”命令實(shí)現(xiàn)斷點(diǎn) 的添加與刪除。以在"SystemQirf.println("輸出1行”)前添加斷點(diǎn)為例,如圖3.1所示。
圖3.1向Java編輯器中添加斷點(diǎn)
3.2以調(diào)試方式運(yùn)行Java程序
要在Eclipse中調(diào)試MyTest程序,可以在Eclipse中的MyTestjava文件處的空白位置上
單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“Debug As" — " 1 Java Application"命令。調(diào)試 器將在斷點(diǎn)處掛起當(dāng)前線程,使程序暫停,如圖3.2所示。
圖3.2程序執(zhí)行到斷點(diǎn)后暫停
3.3程序調(diào)試
程序執(zhí)行到斷點(diǎn)被暫停后,可以通過"Debug”(調(diào)試)視圖工具欄上的按鈕執(zhí)行相應(yīng) 的調(diào)試操作,如運(yùn)行或停止等。“Debug”(調(diào)試)視圖如圖3.3所示。
T技術(shù)研習(xí)社,專注互聯(lián)網(wǎng)技術(shù)研究與分享,喜歡的朋友可以點(diǎn)擊【關(guān)注】;把經(jīng)驗(yàn)傳遞給有夢(mèng)想的人;
下載安裝JDK
JDK下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
安裝地址到指定的目錄
1.環(huán)境變量
環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù),如:臨時(shí)文件夾位置和系統(tǒng)文件夾位置等。
環(huán)境變量是在操作系統(tǒng)中一個(gè)具有特定名字的對(duì)象,它包含了一個(gè)或者多個(gè)應(yīng)用程序所將使用到的信息。例如Windows和DOS操作系統(tǒng)中的path環(huán)境變量,當(dāng)要求系統(tǒng)運(yùn)行一個(gè)程序而沒有告訴它程序所在的完整路徑時(shí),系統(tǒng)除了在當(dāng)前目錄下面尋找此程序外,還應(yīng)到path中指定的路徑去找。用戶通過設(shè)置環(huán)境變量,來更好的運(yùn)行進(jìn)程。
2.配置環(huán)境變量
步驟一
計(jì)算機(jī)→屬性→高級(jí)系統(tǒng)設(shè)置→高級(jí)→環(huán)境變量
步驟二
系統(tǒng)變量→新建 JAVA_HOME 變量,變量值填寫jdk的安裝目錄(默認(rèn)是 C:\Program Files\Java\jdk1.8.0_92)
步驟三
系統(tǒng)變量→找到 Path 變量→編輯;在變量值最后輸入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
【注意】
原來Path的變量值末尾有沒有;號(hào),如果沒有,先輸入;號(hào)再輸入變量值
步驟四
系統(tǒng)變量→ 新建 CLASSPATH 變量;變量值填寫 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
1.什么是IDE
集成開發(fā)環(huán)境(IDE,Integrated Development Environment )是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面等工具。集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件服務(wù)套。所有具備這一特性的軟件或者軟件套(組)都可以叫集成開發(fā)環(huán)境。
2.3.2IDE的選擇
Eclipse
Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。
Eclipse是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計(jì)算機(jī)語言比如C++和Python的開發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。
官方地址:http://www.eclipse.org/downloads/
MyEclipse
MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開發(fā)環(huán)境,由Genuitec公司發(fā)布,它是收費(fèi)的。
MyEclipse 是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML、Struts、JSP、CSS、Javascript、SQL,Hibernate。
官方目前提供了4種版本,分別是:
MyEclipse:標(biāo)準(zhǔn)版,是我們通常用的一個(gè)版本。
MyEclipse Blue:即藍(lán)色版,主要是針對(duì)IBM RAD和WSAD的開發(fā)者的,因?yàn)镸yEclipse上 的web項(xiàng)目部署到WAS服務(wù)器是很麻煩的一件事。
MyEclipse Spring: 即Spring版,其最大的特點(diǎn)就是提供了更強(qiáng)的針對(duì)Spring框架的支持。
MyEclipse Bling: 即Bling版,就是集成了Spring功能的MyEclipse Blue。(MyEclipse Blue + Spring = MyEclipse Bling)
官方地址:http://www.myeclipseide.com/
NetBeans
NetBeans IDE是一個(gè)屢獲殊榮的集成開發(fā)環(huán)境,可以方便的在Windows,Mac,Linux和Solaris中運(yùn)行。NetBeans包括開源的開發(fā)環(huán)境和應(yīng)用平臺(tái),NetBeans IDE可以使開發(fā)人員利用Java平臺(tái)能夠快速創(chuàng)建Web、企業(yè)、桌面以及移動(dòng)的應(yīng)用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C + +等開發(fā)語言。
NetBeans項(xiàng)目由一個(gè)活躍的開發(fā)社區(qū)提供支持, NetBean開發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。
官方地址:http://netbeans.org/features/index.html
IntelliJ IDEA
IntelliJ IDEA是一款綜合的Java 編程環(huán)境,被許多開發(fā)人員和行業(yè)專家譽(yù)為市場(chǎng)上最好的IDE。它提供了一系列最實(shí)用的的工具組合:智能編碼輔助和自動(dòng)控制,支持J2EE,Ant,JUnit和CVS集成,非平行的編碼檢查和創(chuàng)新的GUI設(shè)計(jì)器。IDEA把Java開發(fā)人員從一些耗時(shí)的常規(guī)工作中解放出來,顯著地提高了開發(fā)效率。具有運(yùn)行更快速,生成更好的代碼;持續(xù)的重新設(shè)計(jì)和日常編碼變得更加簡(jiǎn)易,與其它工具的完美集成;很高的性價(jià)比等特點(diǎn)。在4.0版本中支持Generics,BEA WebLogic集成,改良的CVS集成以及GUI設(shè)計(jì)器。
IntelliJ IDEA以前是收費(fèi)軟件,不過在2009年以后就開始推出了免費(fèi)的社區(qū)開源版本。
官方地址:http://www.jetbrains.com/idea/
Eclipse/IDEA下載和安裝
Eclipse的下載和安裝
下載網(wǎng)址
https://www.eclipse.org/downloads/
安裝Eclipse
直接解開壓縮包到磁盤某個(gè)分區(qū)(如:D盤)的根目錄
2.4.2 IDEA的下載和安裝
下載網(wǎng)址
http://www.jetbrains.com/idea/
安裝IDEA
選擇安裝目錄,我們將其設(shè)置為軟件安裝的常用目錄,接著點(diǎn)擊next便進(jìn)入安裝步驟,這個(gè)過程要等待一會(huì),安裝完點(diǎn)擊Finish即可。
從Qt5.14開始,官方的在線安裝提供了qt for webassembly構(gòu)建套件,這對(duì)很多小白來說絕對(duì)是個(gè)好消息,也絕對(duì)是個(gè)好東西,好消息是不用再去交叉編譯自己生成qt for webassembly的qt庫,在線安裝版本直接就給你安裝好,很多小白就困在如何交叉編譯qt for webassembly的qt庫上了,環(huán)境簡(jiǎn)直是弄哭了,望而卻步;好東西是你可以直接將你現(xiàn)有的qt程序直接編譯成wasm文件然后直接網(wǎng)頁運(yùn)行,注意這里不是說activex的形式在IE中運(yùn)行,而是直接各種支持wasm的瀏覽器上直接運(yùn)行,比如谷歌瀏覽器、火狐瀏覽器、edge瀏覽器等,反正主流的瀏覽器都支持,是不是很牛逼,大致的原理就是借助emsdk中的emscripten編譯器將qt的程序直接靜態(tài)編譯生成wasm文件,然后同時(shí)生成對(duì)應(yīng)的js文件和html文件,js文件負(fù)責(zé)加載wasm文件進(jìn)行編譯使用canvs繪制程序。理論上c++程序執(zhí)行效率要比js高,個(gè)人體驗(yàn)下來也是效率蠻高,最激動(dòng)的就是一行代碼不用修改,直接就可以編譯成網(wǎng)頁程序。
WebAssembly介紹:
- WebAssembly是一種可以使用非JavaScript編程語言編寫代碼并且能在瀏覽器上運(yùn)行的技術(shù)方案。
- WebAssembly有一套完整的語義,實(shí)際上wasm是體積小且加載快的二進(jìn)制格式,其目標(biāo)就是充分發(fā)揮硬件能力以達(dá)到原生執(zhí)行效率。
- WebAssembly運(yùn)行在一個(gè)沙箱化的執(zhí)行環(huán)境中,甚至可以在現(xiàn)有的JavaScript虛擬機(jī)中實(shí)現(xiàn)。在web環(huán)境中,WebAssembly將會(huì)嚴(yán)格遵守同源策略以及瀏覽器安全策略。
- WebAssembly設(shè)計(jì)了一個(gè)非常規(guī)整的文本格式用來、調(diào)試、測(cè)試、實(shí)驗(yàn)、優(yōu)化、學(xué)習(xí)、教學(xué)或者編寫程序。可以以這種文本格式在web頁面上查看wasm模塊的源碼。
- WebAssembly在web中被設(shè)計(jì)成無版本、特性可測(cè)試、向后兼容的。WebAssembly可以被JavaScript調(diào)用,進(jìn)入JavaScript上下文,也可以像WebAPI一樣調(diào)用瀏覽器的功能。當(dāng)然,WebAssembly不僅可以運(yùn)行在瀏覽器上,也可以運(yùn)行在非web環(huán)境下。
1. qt+widget編譯的程序網(wǎng)頁地址:
[https://feiyangqingyun.gitee.io/qwidgetdemo/](https://feiyangqingyun.gitee.io/qwidgetdemo/)
2. qt+quick編譯的程序網(wǎng)頁地址:
[https://feiyangqingyun.gitee.io/qwidgetdemo/gallery.html](https://feiyangqingyun.gitee.io/qwidgetdemo/gallery.html)
3. WebAssembly中文網(wǎng)
[https://www.wasm.com.cn/](https://www.wasm.com.cn/)
4. qt for webassembly官網(wǎng)介紹
[https://doc.qt.io/qt-5/wasm.html](https://doc.qt.io/qt-5/wasm.html)
### (一)、安裝Qt集成開發(fā)環(huán)境
從Qt5.15開始官方不再提供離線安裝包,只提供源碼包自行編譯或者在線安裝,在線安裝的時(shí)候需要輸入賬號(hào)信息登錄才能在線下載選擇的Qt版本和構(gòu)建套件及其他工具,慢慢的各位Qt開發(fā)者要習(xí)慣這種方式,要么自己熟悉編譯流程自行編譯,對(duì)應(yīng)大部分初學(xué)者來說一個(gè)是沒有這個(gè)必要還一個(gè)是太難了,建議放棄這種方式,所以從現(xiàn)在開始就慢慢的要習(xí)慣在線安裝方式,官方提供了在線安裝的程序,雙擊即可運(yùn)行,相信90%的Qt開發(fā)者都使用過,這里直接略過,只需要在選擇安裝的構(gòu)建套件的時(shí)候記得勾選WebAssembly構(gòu)建套件就行,這樣已經(jīng)很方便了,之前都是需要自己編譯呢。
安裝好以后如果勾選了mingw版本的Qt構(gòu)建套件,則可以自行測(cè)試hello跑起來,同時(shí)你也會(huì)發(fā)現(xiàn)qt for webassembly這個(gè)構(gòu)建條件是不可用的,別急,那是因?yàn)楝F(xiàn)在你只安裝了qt for webassembly的qt的庫,而并沒有找到需要的編譯器emscripten。
### (二)、安裝emsdk編譯器
任何編程語言開發(fā)環(huán)境,都離不開編譯器,需要用對(duì)應(yīng)的編譯器將代碼編譯成對(duì)應(yīng)的可執(zhí)行文件,Qt是一個(gè)兼容了N種編譯器的通用代碼庫,你使用何種編譯器則調(diào)用對(duì)應(yīng)的Qt庫然后再編譯生成對(duì)應(yīng)的程序,qt for webassembly就需要借助emsdk中的編譯器emscripten來編譯,而不是使用msvc、mingw、gcc等,所以需要單獨(dú)安裝emsdk編譯器。
#### 1、常規(guī)安裝辦法
- 前提:電腦安裝有g(shù)it環(huán)境,能從github下載項(xiàng)目,安裝有python環(huán)境,比如python3.7.4,如果不會(huì)玩git命令行請(qǐng)自行百度。
- 第一步:雙擊python-3.7.4-amd64.exe,安裝python開發(fā)環(huán)境,記得勾選添加環(huán)境變量。
- 第二步:獲取源碼,打開git命令行工具,輸入 git clone https://github.com/emscripten-core/emsdk.git ,等待下載完成,一般1-2分鐘就下載完成。
- 第三步:打開cmd工具,進(jìn)入到emsdk目錄,執(zhí)行 emsdk install 1.39.7 安裝emsdk編譯器(Qt5.15對(duì)應(yīng)的是1.39.7版本,而不是1.39.8,之前下載的1.39.8用下來每次編譯都有警告提示版本不一致說是要1.39.7)。這個(gè)下載需要點(diǎn)時(shí)間請(qǐng)耐心等待,我電腦大概13分鐘,具體看網(wǎng)速。
- 第四步:安裝完成后繼續(xù)在當(dāng)前的cmd命令行窗口執(zhí)行 emsdk activate --embedded 1.39.7 激活sdk。
- 第五步:激活成功以后,將emsdk目錄下的.emscripten文件復(fù)制到C:\Users\Administrator目錄下(即用戶目錄),Qt for webass構(gòu)建套件編譯的時(shí)候會(huì)去這里找編譯器和各種編譯需要的變量。
- 第六步:用記事本打開.emscripten,將 emsdk_path = os.path.dirname(os.environ.get('EM_CONFIG')).replace('\', '/') 改成emsdk目錄的絕對(duì)路徑,比如 emsdk_path = 'H:/github/emsdk',如果運(yùn)行有問題則全部改成絕對(duì)路徑。
- 第七步:打開QtCreator,配置Qt for WebAssembly構(gòu)建套件,此時(shí)可以看到編譯器中能夠識(shí)別到所需的em編譯器。
- 第八步:編譯好以后如果彈出的是IE瀏覽器則復(fù)制地址拷貝到谷歌瀏覽器或者edge或者火狐瀏覽器運(yùn)行,目前IE瀏覽器不支持WebAssembly。
- 第九步:默認(rèn)采用的是靜態(tài)編譯,意味著可以脫離Qt環(huán)境運(yùn)行,.wasm文件比較大因?yàn)殪o態(tài)集成了Qt的運(yùn)行庫。除了編譯運(yùn)行以外,還可以直接發(fā)布到有ngix或者apche環(huán)境的站點(diǎn),直接可以運(yùn)行。他就類似于PHP需要站點(diǎn)環(huán)境支持才能運(yùn)行。
#### 2、小白懶人辦法
常規(guī)的辦法是萬能的,包括選用其他版本的編譯器等,但是大部分的初學(xué)者其實(shí)還沒有g(shù)it環(huán)境和python環(huán)境呢,怎破,此時(shí)非常想體驗(yàn)一把將qt程序編譯到網(wǎng)頁運(yùn)行的想法超級(jí)強(qiáng)烈,馬上安排懶人辦法,注意此辦法針對(duì)的是Qt5.15.2版本,本人特意將下載好的編譯器整個(gè)文件夾中各種無關(guān)的文件全部刪除。
emsdk地址:[https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A](https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A) 提取碼:o05q 名稱:emsdk.zip
- 第一步:將下載好的emsdk壓縮包解壓到目錄,為了方便統(tǒng)一管理,我這里放在C:/Qt。
- 第二步:將emsdk目錄下的.emscripten文件復(fù)制到C:\Users\Administrator目錄下(即用戶目錄),Qt for webass構(gòu)建套件編譯的時(shí)候會(huì)去這里找編譯器和各種編譯需要的變量。
- 第三步:默認(rèn).emscripten文件中填寫的是我這邊安裝的目錄,你可以用記事本打開進(jìn)行編輯改成你的目錄。
- 第四步:重新打開QtCreator,切換到工具-選項(xiàng)-kits,重新設(shè)置Qt5.15.2 webassemly的編譯器,下拉選擇Emscripten Compiler。
- 第五步:新建個(gè)項(xiàng)目,拖幾個(gè)控件放界面,編譯大概一分鐘左右,由于是靜態(tài)編譯時(shí)間會(huì)久一點(diǎn),此時(shí)會(huì)生成五個(gè)文件,其中qtloader.js和qtlogo.svg每個(gè)項(xiàng)目是一樣的,不同的文件是untitled.js、untitled.html、untitled.wasm。需要發(fā)布的話只需要將這5個(gè)文件拷貝到網(wǎng)站的WWW目錄下就行。
- 第六步:編譯完成以后會(huì)自動(dòng)打開電腦默認(rèn)瀏覽器比如IE瀏覽器,因?yàn)镮E瀏覽器不支持wasm,所以你需要將地址復(fù)制拷貝到edge或者谷歌火狐等瀏覽器運(yùn)行。
- 第七步:如果要支持中文則需要將中文字體文件添加到項(xiàng)目的資源文件一起編譯。
- 其他說明:首次加載比較慢,后面由于有緩存的原因重新加載非常快,建議發(fā)布的時(shí)候可以放一個(gè)帶寬很好的服務(wù)器。
### (三)、支持的模塊
目前qt for webassembly套件不是支持所有的模塊,比如常見的sql數(shù)據(jù)庫模塊就不支持,估計(jì)現(xiàn)在wasm還是定位在客戶端的原因吧,network中的tcp udp也不支持,好消息是websocket client是支持的,也就意味著你可以寫個(gè)websocket的server端負(fù)責(zé)監(jiān)聽和解析,web端直接websocket通信交互,比如傳輸視頻數(shù)據(jù),這不就是網(wǎng)頁中顯示實(shí)時(shí)視頻了!親測(cè)無誤。
- Qt5Charts
- Qt5Core
- Qt5Gui
- Qt5Quick
- Qt5Svg
- Qt5WebSockets
- Qt5Widgets
- Qt5QuickControls2
- 其他部分模塊
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。