deepin 操作系統(tǒng)(項(xiàng)目式)(微課版)- 課件 項(xiàng)目9 部署開發(fā)工作站_第1頁
deepin 操作系統(tǒng)(項(xiàng)目式)(微課版)- 課件 項(xiàng)目9 部署開發(fā)工作站_第2頁
deepin 操作系統(tǒng)(項(xiàng)目式)(微課版)- 課件 項(xiàng)目9 部署開發(fā)工作站_第3頁
deepin 操作系統(tǒng)(項(xiàng)目式)(微課版)- 課件 項(xiàng)目9 部署開發(fā)工作站_第4頁
deepin 操作系統(tǒng)(項(xiàng)目式)(微課版)- 課件 項(xiàng)目9 部署開發(fā)工作站_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

deepin操作系統(tǒng)

(項(xiàng)目式)(微課版)工業(yè)和信息化精品系列教材——云計(jì)算技術(shù)項(xiàng)目9

部署開發(fā)工作站能力CAPACITY要求初步掌握C/C++程序的編譯和調(diào)試的方法初步掌握使用Autotools生成Make?le文件的方法學(xué)會部署DTK桌面應(yīng)用開發(fā)環(huán)境了解LAMP平臺與PHP開發(fā)環(huán)境學(xué)會部署PHP開發(fā)環(huán)境任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)9.1編譯C/C++程序任務(wù)說明01OPTION02OPTION03OPTION了解C/C++程序開發(fā)的一般過程了解C/C++程序編譯和調(diào)試初步掌握GCC編譯器和GDB調(diào)試器的使用04OPTION了解make自動化編譯05OPTION學(xué)會使用Autotools工具自動產(chǎn)生Makefile任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.1程序編寫編輯器Vi(Vim)EmacsgeditNanonotepadqq集成開發(fā)環(huán)境AnjutaQtCreater任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.2程序編譯編譯方式將高級語言源程序整個編譯成目標(biāo)程序,然后通過連接程序?qū)⒛繕?biāo)程序連接成可執(zhí)行程序??蓤?zhí)行程序可以脫離源程序和編譯程序而單獨(dú)執(zhí)行,執(zhí)行效率高,速度快。編譯方式將源程序逐句翻譯、逐句執(zhí)行,解釋過程不產(chǎn)生目標(biāo)程序,邊翻譯邊執(zhí)行。源程序和解釋程序必須同時參與才能運(yùn)行,由于不產(chǎn)生目標(biāo)文件和可執(zhí)行文件,執(zhí)行效率相對較低,速度慢,但是解釋方式的優(yōu)點(diǎn)是程序設(shè)計(jì)的靈活性強(qiáng)、編程效率更高。任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.2程序編譯GCC編譯階段任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.2程序編譯靜態(tài)連接通常對函數(shù)庫的連接是在編譯時完成的。在Linux中將靜態(tài)連接庫文件稱為歸檔文件。動態(tài)連接將函數(shù)庫的連接推遲到程序運(yùn)行時來實(shí)現(xiàn),就要用到動態(tài)連接庫。動態(tài)連接的函數(shù)具有共享特性,連接時不會將它們合成到可執(zhí)行文件中。任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.3程序調(diào)試程序調(diào)試是指將編制的程序投入實(shí)際運(yùn)行前,用手工或編譯程序等方法進(jìn)行測試,修正語法錯誤和邏輯錯誤的過程。運(yùn)行一個帶有調(diào)試程序的程序與直接執(zhí)行不同,因?yàn)檎{(diào)試程序可保存源碼信息。GDB是GNU發(fā)布的調(diào)試工具,可通過將它與GCC配合使用。任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.4make與自動化編譯Makefile文件Makefile文件通過若干條規(guī)則來定義文件依賴關(guān)系。規(guī)則構(gòu)成目標(biāo)(target)條件(prerequisites)命令(command)基本語法格式 目標(biāo)...:條件...

命令

... ...任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.4make與自動化編譯Makefile文件示例任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.4make與自動化編譯make工具make通過Makefile文件維護(hù)源程序?qū)崿F(xiàn)自動編譯。

make[選項(xiàng)][目標(biāo)名]make命令主要選項(xiàng)

-f描述文件:指定make編譯所依據(jù)的描述文件(Makefile)。

-n:只顯示生成指定目標(biāo)的所有執(zhí)行命令,但并不實(shí)際執(zhí)行。

-p:輸出Makefile文件中所有宏定義和目標(biāo)文件描述。

-d:使用Debug(調(diào)試)模式。

-c目錄:在讀取Makefile之前改變到指定的目錄。任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.4make與自動化編譯make基于Makefile的編譯機(jī)制make命令解析Makefile內(nèi)容,根據(jù)情況進(jìn)行自動編譯。如果該項(xiàng)目沒有編譯過,也就是沒有生成過目標(biāo),那么就根據(jù)所給的條件來生成目標(biāo),所有源文件都要編譯并進(jìn)行連接。如果該項(xiàng)目已經(jīng)編譯過,生成有目標(biāo),一旦條件發(fā)生變化,則需要重新生成目標(biāo)。任務(wù)9.1編譯和調(diào)試C/C++程序相關(guān)知識9.1.4make與自動化編譯Makefile的高級特性隱式規(guī)則變量定義文件包含任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)實(shí)現(xiàn)任務(wù)9.1.1使用GCC編譯器部署C/C++編譯環(huán)境sudoaptinstallbuild-essential了解GCC編譯器的用法gcc命令的基本用法gcc[選項(xiàng)][源文件]gcc編譯輸出選項(xiàng)-E選項(xiàng):對源文件進(jìn)行預(yù)處理,生成的結(jié)果輸出到標(biāo)準(zhǔn)輸出。-S選項(xiàng):對源文件進(jìn)行預(yù)處理和編譯,也就是編譯成匯編代碼。-c選項(xiàng):對源文件進(jìn)行預(yù)處理、編譯和匯編,也就是生成目標(biāo)文件(obj)。gcc編譯優(yōu)化選項(xiàng)-O1(或者-O):表示優(yōu)化生成代碼。-O2:表示進(jìn)一步優(yōu)化。-O3:比-O2更進(jìn)一步優(yōu)化,包括inline函數(shù)。-O0:表示不進(jìn)行優(yōu)化處理。任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)實(shí)現(xiàn)任務(wù)9.1.1使用GCC編譯器編譯C程序?qū)estgcc.c進(jìn)行預(yù)處理、編譯、匯編并連接形成可執(zhí)行文件tester@linuxpc1:~$gcc-otestgcctestgcc.c編譯C++程序g++的基本用法g++[選項(xiàng)][源文件]將C++源程序進(jìn)行預(yù)處理、編譯、匯編并連接形成可執(zhí)行文件tester@linuxpc1:~$g++-otestg++testg++.cpp編譯多個源文件多個文件一起編譯。分別編譯各個源文件再對編譯后輸出的目標(biāo)文件進(jìn)行連接。任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)實(shí)現(xiàn)任務(wù)9.1.2使用GDB調(diào)試器安裝GDB調(diào)試器sudoaptinstallgdb生成帶有調(diào)試信息的目標(biāo)代碼進(jìn)行程序調(diào)試必須在程序編譯時包含調(diào)試信息。默認(rèn)情況下,GCC在編譯時沒有將調(diào)試信息插入到所生成的二進(jìn)制代碼中。要在編譯時生成調(diào)試信息,可以使用gcc命令的-g或者-ggdb選項(xiàng)。類似于編譯優(yōu)化選項(xiàng),GCC在產(chǎn)生調(diào)試信息時同樣可以進(jìn)行分級。任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)實(shí)現(xiàn)任務(wù)9.1.2使用GDB調(diào)試器使用gdb命令進(jìn)行調(diào)試test@deepin-PC:~$gdbtest_cgdb......(gdb)list#查看源碼1#include<stdio.h>2intmain(void)3{4printf("HelloWorld!\n");5return0;6}7(gdb)break4#設(shè)置斷點(diǎn)Breakpoint1at0x401126:filetest_gcc.c,line4.(gdb)run#運(yùn)行程序Startingprogram:/home/test/test_cgdbBreakpoint1,main()attest_gcc.c:44printf("HelloWorld!\n");(gdb)next#執(zhí)行下一步HelloWorld!5return0;(gdb)quit#退出調(diào)試環(huán)境任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)實(shí)現(xiàn)任務(wù)9.1.3使用Autotools工具輔助編譯構(gòu)建軟件安裝Autotools工具sudoaptinstallautomake使用Autotools工具生成Makefile文件(1)準(zhǔn)備源代碼。(2)切換到項(xiàng)目工作目錄,執(zhí)行命令autoscan命令掃描工作目錄生成configure.scan文件。(3)將文件configure.scan重命名為configure.ac,然后再編輯修改這個配置文件。(4)在項(xiàng)目目錄下執(zhí)行aclocal命令,掃描configure.ac文件生成aclocal.m4文件。(5)在項(xiàng)目目錄下執(zhí)行autoconf命令生成configure文件。(6)在項(xiàng)目目錄下執(zhí)行autoheader命令生成config.h.in文件。(7)在項(xiàng)目目錄下創(chuàng)建一個Makefile.am文件,供automake工具根據(jù)configure.in中的參數(shù)將Makefile.am轉(zhuǎn)換成Makefile.in文件。(8)在項(xiàng)目目錄下執(zhí)行automake命令生成Makefile.in文件。通常要使用選項(xiàng)--add-missing讓automake自動添加一些必需的腳本文件。(9)在項(xiàng)目目錄下執(zhí)行./congigure命令,基于Makefile.in生成最終的Makefile文件。該命令將一些配置參數(shù)添加到Makefile文件中。任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)實(shí)現(xiàn)任務(wù)9.1.3使用Autotools工具輔助編譯構(gòu)建軟件編譯并安裝程序(1)在項(xiàng)目目錄下執(zhí)行make命令,基于Makefile文件編譯源碼文件并生成可執(zhí)行文件。(2)在項(xiàng)目目錄下執(zhí)行makeinstall命令將編譯后的軟件包安裝到系統(tǒng)中。(3)運(yùn)行所生成的可執(zhí)行文件進(jìn)行測試。(4)如果要對外發(fā)布,可以在項(xiàng)目目錄下執(zhí)行makedist命令將程序和相關(guān)的文檔打包為一個壓縮文檔。任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)說明01OPTION02OPTION03OPTION了解主流的GUI開發(fā)工具和框架了解DTK開發(fā)套件掌握DTK開發(fā)環(huán)境的部署方法04OPTION體驗(yàn)簡單的DTK桌面應(yīng)用開發(fā)任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境相關(guān)知識9.2.1主流的GUI開發(fā)工具和框架GTK+GTK+是跨多種平臺的開源GUI工具包。GTK+可以用來進(jìn)行跨平臺GUI應(yīng)用程序的開發(fā)。GTK+開發(fā)套件的主要庫GlibPangoATKGNOME桌面環(huán)境以GTK+為基礎(chǔ),為GNOME編寫的程序使用GTK+作為其工具箱。任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境相關(guān)知識9.2.1主流的GUI開發(fā)工具和框架QtQt不僅是GUI庫,而且具有編程語言功能,擁有更好的開發(fā)環(huán)境和工具。Qt發(fā)展為一套跨平臺的開發(fā)框架和工具集,旨在實(shí)現(xiàn)同一套代碼部署于嵌入式、桌面、移動端等所有目標(biāo)平臺。Qt的設(shè)計(jì)工具QtDesignStudio具備現(xiàn)成UI組件的可視化2D/3D編輯器,涵蓋從原型設(shè)計(jì)到產(chǎn)品開發(fā)各階段。Qt的開發(fā)工具QtCreator是響應(yīng)性強(qiáng)、直觀的跨平臺IDE。Qt的開發(fā)框架QtFramework包含一整套高度直觀、模塊化的C++庫類。Qt使用QML創(chuàng)建流暢的用戶界面,并使用C++提高性能。最新版本Qt6旨在成為打造面向未來生產(chǎn)力平臺的基石。任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境相關(guān)知識9.2.2

DTK——基于Qt的通用開發(fā)框架DTK可以用來編寫風(fēng)格統(tǒng)一的深度桌面和深度系列應(yīng)用。DTK具有統(tǒng)一的體驗(yàn)具有豐富的表現(xiàn)力,覆蓋50多個Qt控件,自定義控件10多個。提供跨平臺架構(gòu),支持3大操作系統(tǒng),4大CPU架構(gòu)7個CPU品牌。提供統(tǒng)一的開發(fā)工具,可以快速生成項(xiàng)目模板。DTK提供功能強(qiáng)大的接口。DTK支持?jǐn)U展,提供應(yīng)用和桌面擴(kuò)展接口模塊10多個。任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境安裝DTK開發(fā)環(huán)境任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境安裝DTK開發(fā)環(huán)境(1)安裝DTK基礎(chǔ)開發(fā)庫(2)安裝IDEdtkcore:核心庫,包含所有與圖形不相關(guān)的實(shí)現(xiàn)。dtkgui:圖形庫,實(shí)現(xiàn)與圖形相關(guān)且與具體的UI控件無關(guān)的基礎(chǔ)功能。dtkwidget:控件庫,提供各種DTK基礎(chǔ)控件。(3)安裝其他軟件包任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境測試DTK開發(fā)環(huán)境選擇項(xiàng)目模板任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境測試DTK開發(fā)環(huán)境設(shè)置項(xiàng)目名稱和創(chuàng)建路徑任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境測試DTK開發(fā)環(huán)境選擇項(xiàng)目構(gòu)建系統(tǒng)任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境測試DTK開發(fā)環(huán)境選擇項(xiàng)目構(gòu)建套件任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境測試DTK開發(fā)環(huán)境項(xiàng)目管理匯總信息任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境測試DTK開發(fā)環(huán)境項(xiàng)目管理界面任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.1部署DTK開發(fā)環(huán)境測試DTK開發(fā)環(huán)境項(xiàng)目管理匯總信息進(jìn)度條的演示程序任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.2開發(fā)一個簡單的DTK桌面應(yīng)用新建C++類任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.2開發(fā)一個簡單的DTK桌面應(yīng)用定義類任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.2開發(fā)一個簡單的DTK桌面應(yīng)用項(xiàng)目摘要任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.2開發(fā)一個簡單的DTK桌面應(yīng)用項(xiàng)目管理任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.2開發(fā)一個簡單的DTK桌面應(yīng)用修改頭文件hello.h。修改源文件hello.cpp。編輯修改項(xiàng)目主文件main.cpp。編譯并運(yùn)行該程序。任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.2.2開發(fā)一個簡單的DTK桌面應(yīng)用新開發(fā)的桌面應(yīng)用顯示應(yīng)用信息任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)9.1編譯和調(diào)試C/C++程序任務(wù)9.2搭建桌面應(yīng)用開發(fā)環(huán)境任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)說明01OPTION02OPTION03OPTION了解LAMP平臺和PHP集成開發(fā)工具學(xué)會搭建LAMP平臺掌握PHP開發(fā)環(huán)境的部署方法04OPTION體驗(yàn)簡單的PHP應(yīng)用開發(fā)任務(wù)9.3部署Web開發(fā)環(huán)境相關(guān)知識9.3.1

LAMP平臺LAMPLinux操作系統(tǒng)Apache服務(wù)器MySQL(MariaDB)數(shù)據(jù)庫PHP(Perl或Python)腳本語言LAMP任務(wù)9.3部署Web開發(fā)環(huán)境相關(guān)知識9.3.2

PHP集成開發(fā)工具deepin中可用的PHP集成開發(fā)工具多,其應(yīng)用商店直接提供Eclipse和PhpStorm。EclipseIDEforPHPDevelopers版本提供PHP開發(fā)支持,具有簡捷高效的優(yōu)點(diǎn)。PhpStorm是JetBrains公司開發(fā)的一款商業(yè)的輕量級PHP集成開發(fā)工具。PhpStorm完美支持Symfony、Laravel、Drupal、WordPress、ZendFramework、CakePHP、Yii等各種主流框架。任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.3.1基于XAMPP搭建LMAP平臺安裝XAMPP集成環(huán)境XAMPP安裝向?qū)нx擇安裝組件任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.3.1基于XAMPP搭建LMAP平臺安裝XAMPP集成環(huán)境安裝目錄準(zhǔn)備安裝XAMPP任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.3.1基于XAMPP搭建LMAP平臺安裝XAMPP集成環(huán)境安裝完畢XAMPP管理器任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.3.1基于XAMPP搭建LMAP平臺安裝XAMPP集成環(huán)境XAMPP的儀表板任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.3.1基于XAMPP搭建LMAP平臺配置管理XAMPP集成環(huán)境管理服務(wù)器配置Apache服務(wù)器任務(wù)9.3部署Web開發(fā)環(huán)境任務(wù)實(shí)現(xiàn)任務(wù)9.3.1基于XAMPP搭建LMAP平臺配置管理XAMPP集成環(huán)境phpMyAdmin主界面任務(wù)9.3部署Web

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論