deepin 操作系统(项目式)(微课版)- 课件 项目9 部署开发工作站_第1页
deepin 操作系统(项目式)(微课版)- 课件 项目9 部署开发工作站_第2页
deepin 操作系统(项目式)(微课版)- 课件 项目9 部署开发工作站_第3页
deepin 操作系统(项目式)(微课版)- 课件 项目9 部署开发工作站_第4页
deepin 操作系统(项目式)(微课版)- 课件 项目9 部署开发工作站_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

deepin操作系统

(项目式)(微课版)工业和信息化精品系列教材——云计算技术项目9

部署开发工作站能力CAPACITY要求初步掌握C/C++程序的编译和调试的方法初步掌握使用Autotools生成Makefile文件的方法学会部署DTK桌面应用开发环境了解LAMP平台与PHP开发环境学会部署PHP开发环境任务9.3部署Web开发环境任务9.1编译和调试C/C++程序任务9.2搭建桌面应用开发环境任务9.1编译C/C++程序任务说明01OPTION02OPTION03OPTION了解C/C++程序开发的一般过程了解C/C++程序编译和调试初步掌握GCC编译器和GDB调试器的使用04OPTION了解make自动化编译05OPTION学会使用Autotools工具自动产生Makefile任务9.1编译和调试C/C++程序相关知识9.1.1程序编写编辑器Vi(Vim)EmacsgeditNanonotepadqq集成开发环境AnjutaQtCreater任务9.1编译和调试C/C++程序相关知识9.1.2程序编译编译方式将高级语言源程序整个编译成目标程序,然后通过连接程序将目标程序连接成可执行程序。可执行程序可以脱离源程序和编译程序而单独执行,执行效率高,速度快。编译方式将源程序逐句翻译、逐句执行,解释过程不产生目标程序,边翻译边执行。源程序和解释程序必须同时参与才能运行,由于不产生目标文件和可执行文件,执行效率相对较低,速度慢,但是解释方式的优点是程序设计的灵活性强、编程效率更高。任务9.1编译和调试C/C++程序相关知识9.1.2程序编译GCC编译阶段任务9.1编译和调试C/C++程序相关知识9.1.2程序编译静态连接通常对函数库的连接是在编译时完成的。在Linux中将静态连接库文件称为归档文件。动态连接将函数库的连接推迟到程序运行时来实现,就要用到动态连接库。动态连接的函数具有共享特性,连接时不会将它们合成到可执行文件中。任务9.1编译和调试C/C++程序相关知识9.1.3程序调试程序调试是指将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。运行一个带有调试程序的程序与直接执行不同,因为调试程序可保存源码信息。GDB是GNU发布的调试工具,可通过将它与GCC配合使用。任务9.1编译和调试C/C++程序相关知识9.1.4make与自动化编译Makefile文件Makefile文件通过若干条规则来定义文件依赖关系。规则构成目标(target)条件(prerequisites)命令(command)基本语法格式 目标...:条件...

命令

... ...任务9.1编译和调试C/C++程序相关知识9.1.4make与自动化编译Makefile文件示例任务9.1编译和调试C/C++程序相关知识9.1.4make与自动化编译make工具make通过Makefile文件维护源程序实现自动编译。

make[选项][目标名]make命令主要选项

-f描述文件:指定make编译所依据的描述文件(Makefile)。

-n:只显示生成指定目标的所有执行命令,但并不实际执行。

-p:输出Makefile文件中所有宏定义和目标文件描述。

-d:使用Debug(调试)模式。

-c目录:在读取Makefile之前改变到指定的目录。任务9.1编译和调试C/C++程序相关知识9.1.4make与自动化编译make基于Makefile的编译机制make命令解析Makefile内容,根据情况进行自动编译。如果该项目没有编译过,也就是没有生成过目标,那么就根据所给的条件来生成目标,所有源文件都要编译并进行连接。如果该项目已经编译过,生成有目标,一旦条件发生变化,则需要重新生成目标。任务9.1编译和调试C/C++程序相关知识9.1.4make与自动化编译Makefile的高级特性隐式规则变量定义文件包含任务9.1编译和调试C/C++程序任务实现任务9.1.1使用GCC编译器部署C/C++编译环境sudoaptinstallbuild-essential了解GCC编译器的用法gcc命令的基本用法gcc[选项][源文件]gcc编译输出选项-E选项:对源文件进行预处理,生成的结果输出到标准输出。-S选项:对源文件进行预处理和编译,也就是编译成汇编代码。-c选项:对源文件进行预处理、编译和汇编,也就是生成目标文件(obj)。gcc编译优化选项-O1(或者-O):表示优化生成代码。-O2:表示进一步优化。-O3:比-O2更进一步优化,包括inline函数。-O0:表示不进行优化处理。任务9.1编译和调试C/C++程序任务实现任务9.1.1使用GCC编译器编译C程序对testgcc.c进行预处理、编译、汇编并连接形成可执行文件tester@linuxpc1:~$gcc-otestgcctestgcc.c编译C++程序g++的基本用法g++[选项][源文件]将C++源程序进行预处理、编译、汇编并连接形成可执行文件tester@linuxpc1:~$g++-otestg++testg++.cpp编译多个源文件多个文件一起编译。分别编译各个源文件再对编译后输出的目标文件进行连接。任务9.1编译和调试C/C++程序任务实现任务9.1.2使用GDB调试器安装GDB调试器sudoaptinstallgdb生成带有调试信息的目标代码进行程序调试必须在程序编译时包含调试信息。默认情况下,GCC在编译时没有将调试信息插入到所生成的二进制代码中。要在编译时生成调试信息,可以使用gcc命令的-g或者-ggdb选项。类似于编译优化选项,GCC在产生调试信息时同样可以进行分级。任务9.1编译和调试C/C++程序任务实现任务9.1.2使用GDB调试器使用gdb命令进行调试test@deepin-PC:~$gdbtest_cgdb......(gdb)list#查看源码1#include<stdio.h>2intmain(void)3{4printf("HelloWorld!\n");5return0;6}7(gdb)break4#设置断点Breakpoint1at0x401126:filetest_gcc.c,line4.(gdb)run#运行程序Startingprogram:/home/test/test_cgdbBreakpoint1,main()attest_gcc.c:44printf("HelloWorld!\n");(gdb)next#执行下一步HelloWorld!5return0;(gdb)quit#退出调试环境任务9.1编译和调试C/C++程序任务实现任务9.1.3使用Autotools工具辅助编译构建软件安装Autotools工具sudoaptinstallautomake使用Autotools工具生成Makefile文件(1)准备源代码。(2)切换到项目工作目录,执行命令autoscan命令扫描工作目录生成configure.scan文件。(3)将文件configure.scan重命名为configure.ac,然后再编辑修改这个配置文件。(4)在项目目录下执行aclocal命令,扫描configure.ac文件生成aclocal.m4文件。(5)在项目目录下执行autoconf命令生成configure文件。(6)在项目目录下执行autoheader命令生成config.h.in文件。(7)在项目目录下创建一个Makefile.am文件,供automake工具根据configure.in中的参数将Makefile.am转换成Makefile.in文件。(8)在项目目录下执行automake命令生成Makefile.in文件。通常要使用选项--add-missing让automake自动添加一些必需的脚本文件。(9)在项目目录下执行./congigure命令,基于Makefile.in生成最终的Makefile文件。该命令将一些配置参数添加到Makefile文件中。任务9.1编译和调试C/C++程序任务实现任务9.1.3使用Autotools工具辅助编译构建软件编译并安装程序(1)在项目目录下执行make命令,基于Makefile文件编译源码文件并生成可执行文件。(2)在项目目录下执行makeinstall命令将编译后的软件包安装到系统中。(3)运行所生成的可执行文件进行测试。(4)如果要对外发布,可以在项目目录下执行makedist命令将程序和相关的文档打包为一个压缩文档。任务9.3部署Web开发环境任务9.1编译和调试C/C++程序任务9.2搭建桌面应用开发环境任务9.2搭建桌面应用开发环境任务说明01OPTION02OPTION03OPTION了解主流的GUI开发工具和框架了解DTK开发套件掌握DTK开发环境的部署方法04OPTION体验简单的DTK桌面应用开发任务9.2搭建桌面应用开发环境相关知识9.2.1主流的GUI开发工具和框架GTK+GTK+是跨多种平台的开源GUI工具包。GTK+可以用来进行跨平台GUI应用程序的开发。GTK+开发套件的主要库GlibPangoATKGNOME桌面环境以GTK+为基础,为GNOME编写的程序使用GTK+作为其工具箱。任务9.2搭建桌面应用开发环境相关知识9.2.1主流的GUI开发工具和框架QtQt不仅是GUI库,而且具有编程语言功能,拥有更好的开发环境和工具。Qt发展为一套跨平台的开发框架和工具集,旨在实现同一套代码部署于嵌入式、桌面、移动端等所有目标平台。Qt的设计工具QtDesignStudio具备现成UI组件的可视化2D/3D编辑器,涵盖从原型设计到产品开发各阶段。Qt的开发工具QtCreator是响应性强、直观的跨平台IDE。Qt的开发框架QtFramework包含一整套高度直观、模块化的C++库类。Qt使用QML创建流畅的用户界面,并使用C++提高性能。最新版本Qt6旨在成为打造面向未来生产力平台的基石。任务9.2搭建桌面应用开发环境相关知识9.2.2

DTK——基于Qt的通用开发框架DTK可以用来编写风格统一的深度桌面和深度系列应用。DTK具有统一的体验具有丰富的表现力,覆盖50多个Qt控件,自定义控件10多个。提供跨平台架构,支持3大操作系统,4大CPU架构7个CPU品牌。提供统一的开发工具,可以快速生成项目模板。DTK提供功能强大的接口。DTK支持扩展,提供应用和桌面扩展接口模块10多个。任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境安装DTK开发环境任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境安装DTK开发环境(1)安装DTK基础开发库(2)安装IDEdtkcore:核心库,包含所有与图形不相关的实现。dtkgui:图形库,实现与图形相关且与具体的UI控件无关的基础功能。dtkwidget:控件库,提供各种DTK基础控件。(3)安装其他软件包任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境测试DTK开发环境选择项目模板任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境测试DTK开发环境设置项目名称和创建路径任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境测试DTK开发环境选择项目构建系统任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境测试DTK开发环境选择项目构建套件任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境测试DTK开发环境项目管理汇总信息任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境测试DTK开发环境项目管理界面任务9.2搭建桌面应用开发环境任务实现任务9.2.1部署DTK开发环境测试DTK开发环境项目管理汇总信息进度条的演示程序任务9.2搭建桌面应用开发环境任务实现任务9.2.2开发一个简单的DTK桌面应用新建C++类任务9.2搭建桌面应用开发环境任务实现任务9.2.2开发一个简单的DTK桌面应用定义类任务9.2搭建桌面应用开发环境任务实现任务9.2.2开发一个简单的DTK桌面应用项目摘要任务9.2搭建桌面应用开发环境任务实现任务9.2.2开发一个简单的DTK桌面应用项目管理任务9.2搭建桌面应用开发环境任务实现任务9.2.2开发一个简单的DTK桌面应用修改头文件hello.h。修改源文件hello.cpp。编辑修改项目主文件main.cpp。编译并运行该程序。任务9.2搭建桌面应用开发环境任务实现任务9.2.2开发一个简单的DTK桌面应用新开发的桌面应用显示应用信息任务9.3部署Web开发环境任务9.1编译和调试C/C++程序任务9.2搭建桌面应用开发环境任务9.3部署Web开发环境任务说明01OPTION02OPTION03OPTION了解LAMP平台和PHP集成开发工具学会搭建LAMP平台掌握PHP开发环境的部署方法04OPTION体验简单的PHP应用开发任务9.3部署Web开发环境相关知识9.3.1

LAMP平台LAMPLinux操作系统Apache服务器MySQL(MariaDB)数据库PHP(Perl或Python)脚本语言LAMP任务9.3部署Web开发环境相关知识9.3.2

PHP集成开发工具deepin中可用的PHP集成开发工具多,其应用商店直接提供Eclipse和PhpStorm。EclipseIDEforPHPDevelopers版本提供PHP开发支持,具有简捷高效的优点。PhpStorm是JetBrains公司开发的一款商业的轻量级PHP集成开发工具。PhpStorm完美支持Symfony、Laravel、Drupal、WordPress、ZendFramework、CakePHP、Yii等各种主流框架。任务9.3部署Web开发环境任务实现任务9.3.1基于XAMPP搭建LMAP平台安装XAMPP集成环境XAMPP安装向导选择安装组件任务9.3部署Web开发环境任务实现任务9.3.1基于XAMPP搭建LMAP平台安装XAMPP集成环境安装目录准备安装XAMPP任务9.3部署Web开发环境任务实现任务9.3.1基于XAMPP搭建LMAP平台安装XAMPP集成环境安装完毕XAMPP管理器任务9.3部署Web开发环境任务实现任务9.3.1基于XAMPP搭建LMAP平台安装XAMPP集成环境XAMPP的仪表板任务9.3部署Web开发环境任务实现任务9.3.1基于XAMPP搭建LMAP平台配置管理XAMPP集成环境管理服务器配置Apache服务器任务9.3部署Web开发环境任务实现任务9.3.1基于XAMPP搭建LMAP平台配置管理XAMPP集成环境phpMyAdmin主界面任务9.3部署Web

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论