当前位置:文档之家› Linux系统下C开发环境搭建过程阿刚笔记

Linux系统下C开发环境搭建过程阿刚笔记

Linux系统下C开发环境搭建过程阿刚笔记
Linux系统下C开发环境搭建过程阿刚笔记

Linux系统下C开发环境搭建过程笔记

阿刚

2013/6/26

V1.0

目录

Linux系统下C开发环境搭建过程笔记 (1)

简介 (3)

安装Linux虚拟系统 (3)

配置FTP服务 (9)

配置C编译环境 (10)

测试搭建成果 (11)

C源码文件 (12)

Make文件编写 (13)

上传linux服务器 (13)

安装Oracle11g (14)

安装前准备工作 (14)

正式开始安装 (17)

启动oracle服务 (30)

简介

Linux和C天生有不解之源,Linux的操作系统内核就主要是用C写的,另外Linux下的很多软件也是用C写的。Linux的C开发环境与Windows的有所不同,在Linux下,一个完整的C开发环境主要包括函数库glibc、编译器gcc、系统头文件glibc_header三个组成。另外在大的项目中由于文件比较多文件关系复杂,那么就有比要编写一个make文件来写明其个文件间的关系,编译方式方法等,所以还要安装配置与makefile的库文件;还有如果工程用到数据库那么我们还需要安装配置数据库(我们以0racle11g为例);那么最后还有在多个软件开发人员在编写程序时,为了减轻服务器负担,提高工作效率等,一般都会在本地机器上先编写完后在通过ftp等传送到服务器上,所以我们还需要配置ftp服务。

综上所述我们配置搭建一个相对完整的C开发环境,从安装Linux虚拟机开始需要作如下内容:

1.安装Linux虚拟系统,即在vmware Tools里装载个Liunx系统(Red Hat

Linux6.3)

2.配置FTP服务(vsftpd),方便主机和虚拟机间文件传送

3.配置C编译环境;安装函数库glibc、编译器gcc、系统头文件glibc_header,以及安装

make相关库文件。

4.测试搭建成果;编写一个简单的C小程序和make文件,在搭建成环境中运行编译运行。

5.安装Oracle11g

安装Linux虚拟系统

1.系统环境需求

?内存:最小1GB,推荐2GB或以上;

?交换空间: 内存大小是1-2GB时,交换空间是内存的1.5倍,内存大小2-16GB时,

交换空间等于内存大小,内存大小16G以上时,交换空间为16GB.

?需要选择以下组件:GNOME桌面、编辑器、开发工具、开发库等。

2.实施安装

在VMware Workstation虚拟机上安装Redhat

Enterprise Linux 6.3 x86_64,详细的安装步骤方法网上有很多资料可以搜寻到,在这里不多讲,只简单说明下需要注意的地方。(其实其它步骤也基本是一路按默认下一步啦)

1)安装时候由于上次安装过,配置虚拟安装时vmware 会自动创建一个默认配置自动

化安装(记录其上次安装的选项,一路自动化安装完成),如果不想完全和上次一样安装,那么就必须删除这个自动安装配置项。

2)选择图文界面安装方式

3)跳过检测硬盘(节省时间)

4)选择自定义分区

给个几百BM就可以了,剩余的如果没有特殊需要全部分给第三个分区。

5)在安装服务配置中选择“现在自定义”

6)构想选选安装项

在这里选择一系列我们有可能需要的开发环境和工具。

7)不要忘了选定FTP服务

8)桌面项目选定

在这一步选择系统桌面显示的一些快捷方式。

配置FTP服务

由于我们在安linux系统时选择安装了FTP服务项,那么现在配置该服务就非常简单了。

1.启动vsftpd服务

#service vsftpd start

2.刷新防火墙,清空所有防火墙规则

#iptables –F

这样一个简单linux下的FTP就已经搭建好了!利用匿名方式就可以登录啦

3.不允许匿名方式Ftp登录,用指定本地Ftp用户来登录,传送文件(如”ftpuser”)

1)首先创建”ftpuser”

#adduser ftpuser

#password ftpuser

2)修改vftpd配置文件

#vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES –〉anonymous_enable=NO

3)SeLinux项设置

# setsebool allow_ftpd_full_access 1

# setsebool allow_ftpd_use_cifs 1

# setsebool allow_ftpd_use_nfs 1

# setsebool -P ftp_home_dir 1

# setsebool httpd_enable_ftp_server 1

# setsebool tftp_anon_write 1

# service vsftpd restart

# getsebool -a|grep ftp --察看ftp相关项的设置状态

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> on

allow_ftpd_use_cifs --> on

allow_ftpd_use_nfs --> on

ftp_home_dir --> on

ftpd_connect_db --> off

ftpd_use_passive_mode --> off

httpd_enable_ftp_server --> on

tftp_anon_write --> on

这样ftp客户端就可以用ftpuser用户联结登录,传送文件啦!

配置C编译环境

在Linux下,一个完整的C开发环境包括以下三个组成:函数库: glibc、编译器:gcc、系统头文件:glibc_header。

1.函数库: glibc

要构架一个完整的C开发环境,Glibc是必不可少的,它是Linux下C的主要函数库。

Glibc含几个附加包:LinuxThreads、locale和crypt,通常它们的文件名随版本不同而类似于下列文件名:

glibc-2.06.tar.gz

glibc-linuxthreads-2.0.6.tar.gz

glibc-localedate-2.0.6.tar.gz

glibc-crypt-2.0.6.tar.gz

2.编译器:gcc

gcc(GNU CCompiler)是GNU推出的功能强大、性能优越的多平台编译器,gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,以下是gcc支持编译的一些源文件的后缀及其解释:

.c为后缀的文件,C语言源代码文件;

.a为后缀的文件,是由目标文件构成的档案库文件;

.C,.cc或.cxx 为后缀的文件,是C++源代码文件;

.h为后缀的文件,是程序所包含的头文件;

.i 为后缀的文件,是已经预处理过的C源代码文件;

.ii为后缀的文件,是已经预处理过的C++源代码文件;

.m为后缀的文件,是Objective-C源代码文件;

.o为后缀的文件,是编译后的目标文件;

.s为后缀的文件,是汇编语言源代码文件;

.S为后缀的文件,是经过预编译的汇编语言源代码文件。

3.系统头文件:glibc_header。

缺少了系统头文件的话,很多用到系统功能的C程序将无法编译。假如用户在安装过程中少装了这些包,就会无法编译C源程序。初学者有时候选择自己定制软件包来安装,结果遗漏了这些包,导致无法编译源程序,只好重新安装一遍Linux。其实并不需要这样做,虽然从tar包来安装Linux的C开发环境对于初学者来说比较难,但是我们还是可以通过rpm包来迅速安装Linux的C开发环境的。下面以Red Hat 6.3为例,介绍如何安装Linux的C开发环境,如果是更高版本的Red Hat也可以参考,只是要注意软件版本的不同。

由于gcc包需要依赖binutils和cpp包,另外make包也是在编译中常用的,所以一共需要8个包来完成安装,它们是:

cpp-2.96-110.i386.rpm

binutils-2.11.93.0.2-11.i386.rpm

glibc-2.2.5-34.i386.rpm

glibc-kernheaders-2.4-7.14.i386.rpm

glibc-common-2.2.5-34

glibc-devel-2.2.5-34.i386.rpm

gcc-2.96-110.i386.rpm

make-3.79.1-8.i386.rpm

如果连在internet上的话,可以直接从internet上安装,命令依次如下:

rpm -ivh

ftp://216.254.0.38/linux/redhat/6.3/en/os/i386

/RedHat/RPMS/cpp-2.96-110.i386.rpm

rpm -ivh

ftp://216.254.0.38/linux/redhat/6.3/en/os/i386

/RedHat/RPMS/binutils-2.11.93.0.2-11.i386.rpm

rpm -ivh

ftp://216.254.0.38/linux/redhat/6.3/en/os/i386

/RedHat/RPMS/glibc-kernheaders-2.4-7.14.i386.rpm

rpm -ivh

ftp://216.254.0.38/linux/redhat/6.3/en/os/i386

/RedHat/RPMS/glibc-2.2.5-34.i386.rpm

rpm -ivh

ftp://216.254.0.38/linux/redhat/6.3/en/os/i386

/RedHat/RPMS/glibc-devel-2.2.5-34.i386.rpm

rpm -ivh

ftp://216.254.0.38/linux/redhat/6.3/en/os/i386

/RedHat/RPMS/glibc-common-2.2.5-34.i386.rpm

rpm -ivh

ftp://216.254.0.38/linux/redhat/6.3/en/os/i386

/RedHat/RPMS/gcc-2.96-110.i386.rpm

rpm -ivh

ftp://216.254.0.38/linux/redhat/6.3/en/os/i386

/RedHat/RPMS/make-3.79.1-8.i386.rpm

如果不是连在internet上的话,就要下载下来安装了。安装完后,就构成了最基本的C 开发环境,在这个C开发环境中,可以编译多数的C写的应用程序。而对于一个C程序来说,安装完成后通常可以分成三个组成:

?可执行文件

?包含文件

?库文件

可执行文件就是最终运行的命令,包含文件是该C程序include的一些定义文件,库文件则是该C程序自定义的库。

测试搭建成果

查看下以上8个文件库都已经装载了后,C的开发程序也就搭建完成了,下面我们就可以写一个小程序来测试一下我们搭建的环境如何了。

例如我写了三个小文件(testmain.c、test.h、test.c)

其内容如下:

C源码文件

1.主函数文件testmain.c

//FileName: testmain.c

#include

#include "test.h"

int main(int argc, char* argv[])

{

int i=0;

int iNumberSum=0;

int n=0;

if (argc > 1)

{

printf("argc = %d, argv[0] =%s \n",argc,argv[0]);

printf("argc = %d, argv[1] =%s \n",argc,argv[1]);

n = atoi(argv[1]);

}else

{

printf("please input number:");

scanf("%d",&n);

}

for(i=0;i

{

iNumberSum=iNumberSum+f(i);

printf("NumberSum = %d\n",iNumberSum);

}

return 0;

}

2.被主函数调用函数的头文件test.h

//FileName: test.h

#ifndef _MATH_H

#define _MATH_H

int f(int);

#endif

3.被主函数调用函数件test.c

#include "test.h"

int f(int n)

{

int t=0;

if(n==0||n==1)

{

t=1;

}

else

{

t=n*(n-1);

}

return (t);

}

Make文件编写

#Filename:Makefile

hpath=./

srcpath=. /

#

#

math:testmain.o test.o

gcc -o math testmain.o test.o

testmain.o:$(srcpath)testmain.c $(hpath)test.h test.o

gcc -c $(srcpath)testmain.c

test.o:$(srcpath)test.c $(hpath)test.h

gcc -c $(srcpath)test.c

.PHONY:clean

clean:

rm -rf math test *.o

上传linux服务器

将上述三个C源码文件和Makefile文件上传到服务器,请注意根据Makefile的编写将四个文件传到同一个目录下如:/home/liucg/worke/

都上传后:执行Make命令,系统会开始编译了,编译完成后会在该目录下新增加产生math 、testmain.o和test.o三个文件。

1.testmain.o文件是testmain.c文件编译产生的目标文件。

2.test.o文件是有test.h和test.c文件关联编译产生的目标文件

3.math文件是通过编译最终产生的结果可生程序。

输入下列文字回车就可以运行我们编写的程序了。

#./math

Make编译后C程序运行结果贴图

安装Oracle11g

有了上述搭建的环境虽然能够编译小的C程序了,但是往往很多公司大的项目还需要安装数据库。其实大多数公司有条件的话,从数据安全、性能、数据访问量等方面考虑,数据库服务器一般都是和开发服务器两台服务器独立分开的。下面简单介绍下数据库的安装,依0racle11g为例。其具体安装步骤如下:

安装前准备工作

1.检查和更新所需软件包.

安装好Linux系统后需要配置一下系统。因Oracle在Linux下与Windows下有些不同,在Linux下安装时有部分程序需要与Linux的程序包重新编译和链接,所以需要有编译器等软件包。需要用到的软件包在Oracle的用户指南中有说明.以root身份登录Linux后执行以下命令检查软件包是否都已安装:

# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel

# rpm -q glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat

如果系统有软件包没有安装,可以在RHEL 6.3的光盘Package目录中找到,安装这些包。

因RHEL 6.3版本比较高,对应的软件包版本会比需要的高,没关系,软件向下兼容,不影响Oracle的安装和使用。

Oracle官方文档中确定要安装的包如下:

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

compat-libstdc++-33-3.2.3 (32 bit)

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-2.5-24 (32 bit)

glibc-common-2.5

glibc-devel-2.5

glibc-devel-2.5 (32 bit)

glibc-headers-2.5

ksh-20060214

libaio-0.3.106

libaio-0.3.106 (32 bit)

libaio-devel-0.3.106

libaio-devel-0.3.106 (32 bit)

libgcc-4.1.2

libgcc-4.1.2 (32 bit)

libstdc++-4.1.2

libstdc++-4.1.2 (32 bit)

libstdc++-devel 4.1.2

make-3.81

numactl-devel-0.9.8.x86_64

sysstat-7.0.2

2.验证系统要求

?查看内存大小

# grep MemTotal /proc/meminfo

?查看交换空间

# grep SwapTotal /proc/meminfo

?查看磁盘空间,Oracle 11g R2 x64企业版的磁盘空间要求4.35GB以上。

# df –h

?查看操作系统的信息:

#cat /proc/version

?查看Linux 核心版本信息:

#uname -r

3.修改内核参数

利用文本编译其打开/etc/sysctl.conf文件

#gedit /etc/sysctl.conf

文件打开后将其参数内容修改为如下(如果源文件没有该内容就添加):

kernel.shmmni = 4096 //内核参数是共享内存段的最大数量

kernel.sem = 250 32000 100 128 // 表示设置的信号量

fs.file-max = 6815744 // 表示一个进程可以打开的文件句柄的最大数量

net.ipv4.ip_local_port_range = 9000 65500 //专用服务器模式下与用户进程通信时分配给用户的端口区间

net.core.rmem_default = 4194304 // 默认接收缓冲区大小

net.core.wmem_default = 262144 // 默认的发送缓冲区大小

net.core.rmem_max = 4194304 // 接收缓冲区最大值

net.core.wmem_max = 1048576 // 发送缓冲区最大值

fs.aio-max-nr = 1048576 //文件系统最大异步io

修改完成后保存该文件并执行以下命令时参数生效:

# /sbin/sysctl -p

4.创建Oracle组和用户帐户

# groupadd oinstall

# groupadd dba

# useradd -g oinstall -G dba oracle

# passwd oracle

5.为oracle用户设置Shell限制

1)修改/etc/security/limits.conf,加入

# for oracle

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

2)修改/etc/pam.d/login,加入

session required pam_limits.so

3)修改/etc/profile,加入

if [ \$USER = "oracle" ]; then

if [ \$SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

4)修改/etc/hosts文件加入

192.168.93.142 localhost.localdomain localhost

6.在oracle用户下创建安装文件夹并赋权

#mkdir -p /u01/app/oracle

#chown oracle:oinstall /home/oracle/u01

#chmod -R 755 /home/oracle/u01

正式开始安装

以上准备工作基本完成下面开始正式安装了,首先先用ftp工具将下列oracle11g的安装程序包传送到我们要安装的linux6.3系统下,“/home/oracle/u01”目如里内

p1*******_112030_Linux-x86-64_1of7.zip

p1*******_112030_Linux-x86-64_1of7.zip.md5

p1*******_112030_Linux-x86-64_2of7.zip

p1*******_112030_Linux-x86-64_2of7.zip.md5

p1*******_112030_Linux-x86-64_3of7.zip

p1*******_112030_Linux-x86-64_3of7.zip.md5

安装包解压

#unzip *.zip

1.运行安装程序开始安装

# ./runInstaller

2.选择安装选项:Create and configure a database

3.安装选择Server Class版本,不要选择Desktop Class

4.Grid Installation Options选择Single instance database installation

5.Install Type选择Advanced install

6.然后在Product Languages中选择Simplified Chinese增加即可

7.Database Edition选择Enterprise Edition

Android开发者学习笔记——View、Canvas、bitmap

开发者学习笔记——View&Canvas BitMap、View以及Canvas是我们Ophone程序中常用到的类。本日以feisky的学习笔记呈现,通过实例讲解View&Canvas等等。 1. 从资源中获取位图 可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图。 当然,首先需要获取资源: Resources res=getResources(); 使用BitmapDrawable获取位图 使用BitmapDrawable (InputStream is)构造一个BitmapDrawable; 使用BitmapDrawable类的getBitmap()获取得到位图; // 读取InputStream并得到位图 InputStream is=res.openRawResource(R.drawable.pic180); BitmapDrawable bmpDraw=new BitmapDrawable(is); Bitmap bmp=bmpDraw.getBitmap(); 或者采用下面的方式: BitmapDrawable bmpDraw=(BitmapDrawable)res.getDrawable(R.drawable.pic180); Bitmap bmp=bmpDraw.getBitmap(); 使用BitmapFactory获取位图 (Creates Bitmap objects from various sources, including files, streams, and byte-arrays.) 使用BitmapFactory类decodeStream(InputStream is)解码位图资源,获取位图。Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic180); BitmapFactory的所有函数都是static,这个辅助类可以通过资源ID、路径、文件、数据流等方式来获取位图。 以上方法在编程的时候可以自由选择,在Android SDK中说明可以支持的图片格式如下:png (preferred), jpg (acceptable), gif (discouraged),和bmp(Android SDK Support Media Format)。

软件开发

《软件开发工具》串讲笔记 一、绪论 1、简述软件开发工具的范围?在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。 2、简术用通用软件辅助软件开发的缺点?有许多工作是通用软件所无法完成的;用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵,只能做到“形似”,不能做到“神似”;难于保持一致性。 3、简述集成化软件开发工具产生的背景?集成的软件开发工具称为软件开发环境,是指包括支持全过程、全阶段的软件开发工具。以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来,必然会造成冲突与矛盾。这种冲突与矛盾对于用户来说,造成了沉重的负担,使用工具越多这种负担越重,以致抵消了工具带来的益处。这种情况导致了集成化软件开发工具的产生。 4、简述第四代语言与软件开发工具的区别?软件开发工具包括4GL的功能;软件开发工具支持系统分析、设计工作;软件开发工具支持文档工作。 5、简述软件开发总体设计阶段的工作要点?是根据软件功能说明书的要求,完成软件的总体设计,包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等。 6、简述软件开发实现阶段的工作,以及应强调之点。包括程序的编写和文档的编写,应特别强调组织与协调,及时发现并纠正背离总体设计要求的情况。 7、简述软件开发工具认识与描述客观系统的功能要求?认识与描述客观系统是软件开发第一阶段所需的重要工作。该项工作不确定程度高,更需要经验,更难规范化,需要对复杂系统认识与理解,并在此基础上抽象出信息需求与信息流程。 8、简述软件开发的项目管理功能?为项目管理人员提供支持。项目管理包括进度管理、资源与费用管理、质量管理三个基本内容。还包括需要提出测试方案,提供测试环境和测试数据,并进行版本管理。 9、从人类科学技术发展的角度论述软件的意义?软件是广大使用者与计算机之间的桥梁,软件是人类在各个领域中积累的知识结晶,软件是使人类文明与知识得以延续的新的载体,软件是人类进一步成为一个整体、得以进一步相互联系的纽带。 10、论述第一代到第四代程序设计语言的主要特征?第一代程序设计语言就是计算机的指令系统。用户用机器指令编写程序。这种程序就是机器指令的序列,由“0”和“1”组成,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植。第二代语言是汇编语言,其中每个语句是用助记符动工表示的机器指令。虽然可读性和可移植性方面前进了一步,但依然依赖于计算机硬件。第三代语言也称为高级程序设计语言,其中的语句与机器指令并不一一对应,尤其是表达式的书写与人们的习惯基本相同。程序员需要逐行编写语句来实现算法的过程,因此,它属于过程化的语言。第四代语言是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。 11、说明软件开发工具和新的软件开发方法的主要特点?自动化程序提高;软件开发工作包括了需求分析;软件开发工作包括了项目管理和版本管理;吸收了许多管理科学的内容和方法。 12、说明软件产品开发过程各个阶段的主要任务。需求分析阶段:根据用户的初始要求形成严格的、明确的、可供实际开发使用的功能说明书;总体设计阶段:根据软件功能说明书的要求,完成软件的总体设计;实现阶段:程序的编写和文档的编写;测试阶段:测试软件是

Linux搭建J2EE开发环境(完整版)

Linux下搭建Web开发环境 经过本人的不屑努力终于成功在RedHat Enterprise Linux 4下成功搭建了Web开发环境,本文主要讲解在RHEL4下安装JDK、Tomcat、MySQL、Oracle、Apache服务器、PHP以及Flex 环境。我采用虚拟机方式安装。 必备工具: VMware-workstation-6.5或更高版本 RedHat Enterprise Linux 4的iso文件,共4个 SSHSecureShellClient,用于远程连接Linux jdk-6u18-linux-i586.bin,可以从sun网站下载 mysql-5.1.41.tar.gz,MySQL的Linux源码分发包 SQLyog Enterprise,MySQL的可视化操作工具 10201_database_linux32.zip,Oracle的Linux版本 10201_client.zip,Oracle在Win下的客户端,注意根据操作系统选择 PL/SQL Developer,操作Oracle的可视化工具 PHP相关组件 ?php-5.2.14.tar.gz ?freetype-2.1.10.tar.gz ?gd-2.0.35.tar.gz ?jpegsrc.v6b.tar.gz ?libpng-1.2.29.tar.gz ?libxml2-2.6.2.tar.gz ?xpm-3.4k.tar.gz ?zlib-1.2.3.tar.gz httpd-2.2.16.tar.gz,Apache服务器 flex_sdk_3.5.0.12683.zip,Flex SDK 搭建Linux环境 启动VMWare,出现如下界面

新版Android开发教程+笔记七--基础UI编程1

封面

Android 基础UI编程1 更改与显示文字标签 TextView 标签的使用 ①导入TextV iew包 import android.widget.TextView; ②在mainActivity.java中声明一个TextView private TextView mTextView01; ③在main.xml中定义一个TextView ④利用findView ById()方法获取main.xml中的TextView mTextView01 = (TextView) findViewById(R.id.TextView01); ⑤设置TextV iew标签内容 String str_2 = "欢迎来到Android 的TextView 世界..."; mTextView01.setText(str_2); ⑥设置文本超级链接

自考软件开发工具串讲笔记

《软件开发工具》串讲笔记 第一章绪论 重点背诵: 1、对于CASE工具有两种理解,一种是“计算机辅助软件工程”,另一种是“计算机辅助系统工程”。 2、软件开发工具是引导人们建立正确、有效的概念模式的一种手段。 3、从几十年软件开发工具发展历史中,可以看到软件开发工具一个值得注意的特点是多样性和趋同性的并存。 4、进入二十一世纪以来,软件开发工具的发展有两个鲜明的特点,第一个特点是面向网络,另一个特点是开源软件的兴起和运用。 5、当前我们所要开发的信息系统不同于以前。其重要特征是具有复杂性、多样性和相互关联性。 1.1 软件开发工具的由来 (1)简述软件开发工具的范围? 在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成 文和管理各方面,对软件开发者提供各种不同程序帮助的 一类新型软件。 (2)软件开发工具的发展过程 包括以下四个阶段:工具产生之前、通用工具的使用、专用

工具的出现、一体化工具的出现。

论述工具产生之前,第一代到第四代程序设计语言的主要特征? 1)第一代机器语言阶段:使用“0”和“1”代码进行编程,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植;2)第二代汇编语言:使用助记符来编写程序,由汇编系统将汇编指令转化为机器指令,编程工作量大大降低,但依然依赖于计算机硬件。与此同时,操作系统的出现从另一方面改善了人们应用计算机的条件; 3)第三代高级程序设计语言,高级语言突破了与机器指令一一对应的限制,实现了对机器的独立性,从而大大提高了程序的可移植性。程序员需要逐行编写语句来实现算法的过程,因此它属于过程化的语言; 4)第四代语言(4GL)是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。 5)利用通用软件作为辅助工具的阶段 利用文字处理软件来编写文档,利用绘图软件来绘制流程图。6)专用软件开发工具阶段 专用软件开发工具是面对某一工作阶段或工作任务的工具,优点是能提高软件开发的质量和效率;缺点是一致性的保持,对软件开发缺乏全面的、统一的支撑环境。

linux系统环境部署

Jdk安装 1. 登录Linux,切换到root用户 su root 获取root用户权限,当前工作目录不变(需要root密码) 或 sudo -i 不需要root密码直接切换成root(需要当前用户密码) 2. 在usr目录下建立java安装目录 cd /usr mkdir java 3.将jdk-8u60-linux-x6 4.tar.gz拷贝到java目录下 cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/ 4.解压jdk到当前目录 tar -zxvf jdk-8u60-linux-x64.tar.gz

得到文件夹jdk1.8.0_60 5.安装完毕为他建立一个链接以节省目录长度(我没用这一步) ln -s /usr/java/jdk1.8.0_60/ /usr/jdk 6.编辑配置文件,配置环境变量 vim /etc/profile 添加如下内容:JAVA_HOME根据实际目录来 JAVA_HOME=/usr/java/jdk1.8.0_60 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH 7.重启机器或执行命令:source /etc/profile sudo shutdown -r now 8.查看安装情况 java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

Linux下搭建C#开发环境

文章来源https://www.doczj.com/doc/751718113.html,/articles/116249.htm 如果平时主要开发控制台类、组件、后端服务等程序,可以尝试在Linux类操作系统下搭建C#.Net 开发环境,好处是在Linux环境里你不用担心朋友或同事拿你的电脑来玩魔兽世界或者一不小心被装了一大堆流氓软件;-)先看看本篇文章最终效果:在Ubuntu里跑的开发环境MonoDevelop: 1、Linux发行版的选择 在Linuxux操作系统里只要安装Mono环境就可以开发C#程序,Linux的众多发行版 RedHat/CentOS/Fedora、OpenSuse、Debian、Ubuntu都可以安装 Mono。 鉴于目前Ubuntu 容易安装、界面漂亮而且比较多人用作桌面环境,所以这里推荐使 用Ubuntu 10.04 。官方网站是:https://www.doczj.com/doc/751718113.html,/ 在官方网站下载回来的是一个光盘映像文件(ISO格式),这里需要注意的是Ubuntu 共有4个不同版本的ISO文件:Desktop版、Alternative版、Netbook版、 Server版。一般下载Desktop 就可以了。如果你想通过网络启动安装程序或者使用硬盘安装则需要下载Alternative版。 如果你的电脑硬件配置比较低(内存少于等于 512MB),还可以下载一个轻量级的衍生版:Xubuntu (https://www.doczj.com/doc/751718113.html,/),如果你的电脑只有256MB内存,那还可以下载另一个衍生版Lubuntu (https://www.doczj.com/doc/751718113.html,/),这个更加轻量级,平时系统启动后只占用 70~100MB内存。 2、安装Ubuntu 安装Ubuntu 的方法非常简单,跟装 WinXP差不多,只需点5,6次“下一步”过10来分钟就可以

软件工程笔记完整版

. 第一章软件工程概述 1.软件危机 (software crisis):是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。即“两低一高”问题:质量低、效率低、成本高。 软件危机也成为“软件萧条(depression)”或“软件困扰(afflication)” 2.软件危机主要表现 1)开发成本和进度估计不准 2)用户对“已完成的”软件系统不满意 3)软件质量往往靠不住 4)软件常常是不可维护的 5)软件通常没有适当的文档资料 6)软件成本逐年上升 7)软件开发生产率滞后于硬件和计算机应用普及的趋势 3.产生软件危机的原因 1)与软件本身的特点有关 a. 软件不同于硬件,是逻辑部件而不是物理部件 缺乏可见性 难于测试 管理和控制开发过程困难 不会因使用时间过长而被“用坏” 难以维护 b.软件不同于一般程序,规模庞大,而且程序复杂性随着程序规模的增加而呈指数上升 2)和软件开发与维护的方法不正确有关 a.对软件开发和维护有关的错误认识和作法 忽视软件需求分析的重要性 认为软件开发就是写程序 轻视软件维护 b. 对软件开发过程与方法的认识与应用 软件开发要经历一个漫长的时期(编程占10-20%) 程序仅是完成软件配置的一个组成部分 软件开发方法要有利于软件维护 4.软件的特点 (1)软件是无形的(intangible) (2)软件副本的大批量生产轻而易举 (3)软件业是劳动密集型的 (4)一个没有经过充分训练的软件开发人员很容易编写出难以理解和修改的软件 (5)软件本身很容易修改。但由于它的复杂性,又很难正确地修改。 (6)软件不像其他的工业产品那样会因使用而磨损,随着反复修改,它的设计会逐渐退化 5.消除软件危机的途径 1)对计算机软件的正确认识 2)认识到软件开发不是个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员协

Linux服务器环境搭建(设置)

Linux是一个性能优异、安全的操作系统,许多大型的Web应用都是基于Linux作为服务器,所以系统的学习一下Linux操作系统是非常有必要的。本文不以Linux基础为例,主要以Linux服务器端开发环境搭建为主,适合有一定Linux基础的朋友。 本文采用的Linux环境为RedHat Enterprise Linux Server4。本文主要讲解以下内容: Java开发环境的安装和配置(JDK安装、环境变量的配置) Tomcat服务器安装和配置(Tomcat安装、环境变量配置) 基于源码的MySQL数据库安装(此处之所以采用源码编译安装,为了后面的PHP 环境做准备) Oracle数据库的安装(包括服务器端和客户端的安装) Apache服务器的安装和配置(主要用来运行PHP程序) PHP环境安装和配置 Flex开发环境搭建 从上面可以看到,我们这篇教程要讲解的内容很多,所以我们需要准备如下的必备环境: 必备工具: VMware-workstation-6.5或更高版本 RedHat Enterprise Linux 4的iso文件,共4个 SSHSecureShellClient,用于远程连接Linux jdk-6u18-linux-i586.bin,可以从sun网站下载 mysql-5.1.41.tar.gz,MySQL的Linux源码分发包 SQLyog Enterprise,MySQL的可视化操作工具 10201_database_linux32.zip,Oracle的Linux版本 10201_client.zip,Oracle在Win下的客户端,注意根据操作系统选择 PL/SQL Developer,操作Oracle的可视化工具 PHP相关组件 ?php-5.2.14.tar.gz ?freetype-2.1.10.tar.gz ?gd-2.0.35.tar.gz ?jpegsrc.v6b.tar.gz ?libpng-1.2.29.tar.gz ?libxml2-2.6.2.tar.gz ?zlib-1.2.3.tar.gz ?curl-7.15.0.tar.gz httpd-2.2.16.tar.gz,Apache服务器 flex_sdk_3.5.0.12683.zip,Flex SDK

(考研复试)软件工程笔记培训资料

(考研复试)软件工程 笔记

1:软件危机:问题1:如何开发软件,以满足对软件日益增长的需求。问题2:如何维护数量不断膨胀的软件。表现:对软件开发成本和时间估计不准,用户对已完成软件不满意,软件质量不可靠,软件不可维护,软件缺少文档,软件成本过高,软件跟不上硬件发展速度。原因:与软件本身特点有关,缺乏可见性,质量难以评价,规模庞大难以维护。与软件开发维护的不当方法有关,轻视需求分析和维护,对用户的要求没有完整准确的认识就编写程序,忽视程序,文档,数据等软件配置。 2:软件工程:采用工程的概念,原理,技术和方法开发与维护软件,把正确的管理技术和软件开发技术结合起来,经济的开发出高质量的软件并有效的维护。即把系统化的,规范的,可度量的途径应用于软件开发,运行和维护的过程。 3:软件工程7条基本原理:用分阶段的生命周期计划严格管理,坚持进行阶段评审,实行严格的产品控制,采用现代程序设计技术,结果应能清楚地审查,开发小组的人员应该少而精,承认不断改进软件工程实践的必要性。 4:软件工程领域:软件需求,设计,构建(写代码),测试,维护,配置管理,工程管理,工程过程,工程工具,软件质量。

5:软件生命周期:软件定义(问题定义,可行性研究,需求分析),软件开发(概要设计,详细设计,编码和单元测试,综合测试),运行维护(改正性维护,适应性维护,完善性维护,预防性维护)。、 生命周期模型 6:瀑布模型:就是把一个开发过程分成收集需求,分析,设计,编码,测试,维护六部分,只有完成前面一步才能开始后面一步,上一步的输出的文档就是这一步的输入文档,每一步完成都要交出合格的文档,每一步都会有反馈,如果反馈有错误就退回前一步解决问题。瀑布模型的缺点:实际的项目开发很难严格按该模型进行;由于用户只能通过文档来了解产品,客户往往很难清楚地给出所有的需求,而瀑布模型不适应用户需求的变化;软件的实际情况必须到项目开发的后期客户才能看到。 7:快速原型模型:就是根据用户的需求迅速设计出一个原型系统,原型系统具有基本的功能,然后用户使用原型并对原型提出需求和改变,开发人员再对原型进行修改和完善知道用户满意。优点:容易适应需求的变化;有利于开发与培训的同步;开发费用低、开发周期短且对用户更友好。缺点:快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;使用这个模型的前提是要有一个展示

linux lamp环境搭建教程

linux 环境搭建教程 [url=https://www.doczj.com/doc/751718113.html,]https://www.doczj.com/doc/751718113.html,[/url] 一、系统约定 软件源代码包存放位置:/usr/local/src 源码包编译安装位置(prefix):/usr/local/software_name 脚本以及维护程序存放位置:/usr/local/sbin MySQL 数据库位置:/var/lib/mysql(可按情况设置) Apache 网站根目录:/var/www/wwwroot(可按情况设置) Apache 虚拟主机日志根目录:/var/logs/httpd/(可按情况设置) Apache 运行账户:apache:apache 二、系统环境部署及调整 1. 检查系统是否正常 # more /var/log/messages(检查有无系统级错误信息) # dmesg(检查硬件设备是否有错误信息) # ifconfig(检查网卡设置是否正确) # ping [url=https://www.doczj.com/doc/751718113.html,]https://www.doczj.com/doc/751718113.html,[/url](检查网络是否正常) 2. 关闭不需要的服务 # ntsysv 以下仅列出需要启动的服务,未列出的服务一律推荐关闭: atd crond irqbalance microcode_ctl network sendmail sshd syslog 3. 重新启动系统 # init 6 4. 配置vim # vi /root/.bashrc 在alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。 # echo 'syntax on' > /root/.vimrc 5. 使用yum 程序安装所需开发包(以下为标准的RPM 包名称) # yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel 6. 定时校正服务器时钟,定时与中国国家授时中心授时服务器同步 # crontab -e 加入一行: */30 * * * * ntpdate 210.72.145.44 7. 源码编译安装所需包(Source) (1) GD2 # cd /usr/local/src

windows下搭建Linux开发环境

windows下搭建Linux开发环境 以前一直都是安装的双系统来运行windows和linux,当想学习一下linux编程的时候就跑到linux下面去,做其他事情的时候就转到windows下面来。虽然在linux 下也学会了使用wine,也能够运行source insight看看程序,或者打开winamp听听歌,不过毕竟不是windows环境,还是有很多不方便的地方,winamp最小化了居然还原的时候桌面上没有图标;采用source insight打开linux源码,中文注释却全是乱码,好不容易转好了字体,打开来,字体大小不一,根本无法查看,最后只好放弃。 无意间,用vmware安装好了ubuntu的图形化界面,才发现一切原来如此简单。以前虽然也用过vmware,不过以前电脑配置实在是太差,在vmware下面安装linux 的图形化界面能安装成功,却无法使用,只好望洋兴叹。这次终于应用vmware把所有东西都搞定了,可以让我远离双系统了,也节省下了40G的硬盘空间。 1)vmware安装Ubuntu 很简单,感觉都没什么好说的,先安装vmware,windows安装程序,傻瓜式的安装,easy。然后到ubuntu网站去下载live cd或者dvd版本都行,个人建议下载live cd就可以了,安装以后基本的系统环境和常用软件都有了,当然IDE环境是没有的;不过我下载的dvd版本好像安装的时候也没有把IDE环境安装上去,还是我自己后来安装的,因此live cd和dvd在初始安装时,差别不大。 2)设置ubuntu环境 在vmware下面安装过的ubuntu图形界面,分辨率好像是800*600的,即使是全屏,也只能占这么大的屏幕,不是一般的郁闷;就像你面前有一顿美食,偏偏是锁在一个大铁笼子里的,而你的手能够到的却只有一两个菜,那个郁闷劲,确实让人难受。不过也没有关系,因为你没有安装vmware tools,所以你无法享受全屏带来的好处。安装过vmware tools以后,你就发现屏幕能根据具体大小进行自动调整了。不过我在安装vmware tools时,是出错了的,有一步编译出错了,不过最后还是安装成功了,只是在windows和linux之间共享的文件不能相互访问。不过,平时访问文件比较少,而且Ctrl+C/Ctrl+V,已经文件的复制、粘贴都能正常使用,因此对于我来说,这点缺憾我能接受,由于安装的ubuntu环境只是简单的办公环境,都是一些基本软件,惟一能派上用场的可能就是open office,而开发环境方面,只有最基本的一些软件。个人比较习惯于用IDE来开发程序,因为可以省去很多其他的麻烦,比如手动编写makefile文件,运行cvs命令进行cvs操作,或者是采用gdb 命令进行调试,这样可以更专注于程序编写。关于IDE开发还是采用最简单的vi开发,gcc编译,gdb调试,仁者见仁,智者见智,没有好坏,关键看个人喜好。 与我而言,我安装好ubuntu以后,需要安装一个最适合的IDE环境,以便于开发;在ubuntu下面安装软件,现在也是越来越方便了,有图形化的添加/删除界面,很是方便,惟一需要说明的是找一个合适的软件源,否则你会发现安装软件真是一件郁闷的事情,看着你的电脑以400Bps的速度从网络上面下载软件包时,估计你恨不得把网络给拆了,顺便把你的网络运营商给臭骂一通,其实这一切的根源在于你没有找到合适的软件源,我采用的是电信的ADSL线路,找的是lupa网络的源,也是电信的线路,速度不是一般的快,真的是很幸福,源地址为:deb https://www.doczj.com/doc/751718113.html,/ubuntu intrepid main universe;如果你是教育网的网络或

android开发学习笔记

Android开发学习笔记 by---- 三爷一、新建项目 Application Name: 应用程序名,即该应用的名称,日后在安卓市场上将显示该App名称,与项目无关。 Project Name:项目中的工程名(项目中的App名),注意,在项目中将使用该名称,该工程将被存放在下面命名的包下,命名时要注意规范。 Package Name:包名,格式为“com.自定义的包名.工程名”,其中包名自定义,但包名后的工程名必须和上面的Project Name一至。 Build SDK:选择android SDK的版本,建议选择1.6版本兼容范围广一点 Minimum Required SDK:该程序兼容的最低SDK版本,这里选择的版本必须跟上面选择的Build SDK版本一致。 Activity Name:第一个Activity的名称,随意命名,它将是程序的入口 Layout Name:为第一个Activity布局的xml文件名称,随意命名,建议与其对应的activity 名称有一定的关联性。 Title:上面设置的Activity的标题(这个在程序里都可以改) 二、项目文件夹说明 com.PackageName.ProjectName:该项目的文件夹,里面存放我们编写的源文件 gen:由ADT自动生成,其中包含有一个R.java的文件是用于声明res文件夹下的资源的句柄,程序将通过该文件来引用项目中的资源,该文件不要随意改动,。 Android 1.6:这里面是android的SDK包,程序中所有引用android的类都是从这个包里引用;这里的1.6为新建项目时选择的sdk版本号,这里的版本号会根据你新建项目时选择的版本号不同而不同。 bin:这个目录存放编译生成的android安装文件 assets:存放项目的资源,比如视频、音频、图片等较大的资源,注意该目录下的资源不会被生成句柄,所以只能通过路径来引用。

工作笔记_NetBeans 开发工具及开发问题

NetBeans 开发工具 NetBeans 乱码 不太明白,看看我理解的对不对。你是不是在导入别的代码时,其中的汉字显示不正常,而自己敲进去汉字显示是正常的。 NetBeans默认的编码方式:UTF-8,而其他IDE不同,所以会有显示错误 试试在“项目/文件/服务”的项目窗口中,你的项目名上右击,选择“项目属性”,“常规”类别中的“编码”栏中选择GBK,ISO-8859-1等看看能不能显示正常。。。 补: 建议你到https://www.doczj.com/doc/751718113.html,/downloads/index.html 直接下NetBeans6.9 (语言:简体中文NetBeans IDE 下载包all)的吧。执行中出现https://www.doczj.com/doc/751718113.html,ng.RuntimeException: https://www.doczj.com/doc/751718113.html,ng.RuntimeException: Uncompilable source code - Erroneous sym type: (https://www.doczj.com/doc/751718113.html,ng.String,https://www.doczj.com/doc/751718113.html,ng.String,,javax.servlet.http.HttpServletRequest) 应该是该方法没有实现或者清理并重新生成编译。 IE浏览器问题 我的IE8 开发人员工具怎么打不开啊?就是只有一面透明的。。然后什么都没,以前还能编辑的,现在不能了 A:当你用F12打开开发工具时,整个开发者工具光是显示一片透明的区域,选中之后怎么都出不来。这个问题那会困扰了我很久,后来发现一个办法可以解决。就是在工具栏上将鼠标移到那个开发人员工具窗口图标上,注意,是图标,不是窗口。然后右键,选择最大化,这个时候,熟悉的开发人员工具窗口就出现了

从零开始搭建Linux驱动开发环境

参考: 韦东山视频第10课第一节内核启动流程分析之编译体验 第11课第三节构建根文件系统之busybox 第11课第四节构建根文件系统之构建根文件系统韦东山书籍《嵌入式linux应用开发完全手册》 其他《linux设备驱动程序》第三版 平台: JZ2440、mini2440或TQ2440 交叉网线和miniUSB PC机(windows系统和Vmware下的ubuntu12.04) 一、交叉编译环境的选型 具体的安装交叉编译工具,网上很多资料都有,我的那篇《arm-linux- gcc交叉环境相关知识》也有介绍,这里我只是想提示大家:构建跟文件系统中所用到的lib库一定要是本系统Ubuntu中的交叉编译环境arm-linux- gcc中的。即如果电脑ubuntu中的交叉编译环境为arm-linux-

二、主机、开发板和虚拟机要三者互通 w IP v2.0》一文中有详细的操作步骤,不再赘述。 linux 2.6.22.6_jz2440.patch组合而来,具体操作: 1. 解压缩内核和其补丁包 tar xjvf linux-2.6.22.6.tar.bz2 # 解压内核 tar xjvf linux-2.6.22.6_jz2440.tar.bz2 # 解压补丁

cd linux_2.6.22.6 patch –p1 < ../linux-2.6.22.6_jz2440.patch 3. 配置 在内核目录下执行make 2410_defconfig生成配置菜单,至于怎么配置,《嵌入式linux应用开发完全手册》有详细介绍。 4. 生成uImage make uImage 四、移植busybox 在我们的根文件系统中的/bin和/sbin目录下有各种命令的应用程序,而这些程序在嵌入式系统中都是通过busybox来构建的,每一个命令实际上都是一个指向bu sybox的链接,busybox通过传入的参数来决定进行何种命令操作。 1)配置busybox 解压busybox-1.7.0,然后进入该目录,使用make menuconfig进行配置。这里我们这配置两项 一是在编译选项选择动态库编译,当然你也可以选择静态,不过那样构建的根文件系统会比动态编译的的大。 ->Busybox Settings ->Build Options

(完整版)(考研复试)软件工程笔记

1:软件危机:问题1:如何开发软件,以满足对软件日益增长的需求。问题2:如何维护数量不断膨胀的软件。表现:对软件开发成本和时间估计不准,用户对已完成软件不满意,软件质量不可靠,软件不可维护,软件缺少文档,软件成本过高,软件跟不上硬件发展速度。原因:与软件本身特点有关,缺乏可见性,质量难以评价,规模庞大难以维护。与软件开发维护的不当方法有关,轻视需求分析和维护,对用户的要求没有完整准确的认识就编写程序,忽视程序,文档,数据等软件配置。 2:软件工程:采用工程的概念,原理,技术和方法开发与维护软件,把正确的管理技术和软件开发技术结合起来,经济的开发出高质量的软件并有效的维护。即把系统化的,规范的,可度量的途径应用于软件开发,运行和维护的过程。3:软件工程7条基本原理:用分阶段的生命周期计划严格管理,坚持进行阶段评审,实行严格的产品控制,采用现代程序设计技术,结果应能清楚地审查,开发小组的人员应该少而精,承认不断改进软件工程实践的必要性。 4:软件工程领域:软件需求,设计,构建(写代码),测试,维护,配置管理,工程管理,工程过程,工程工具,软件质量。 5:软件生命周期:软件定义(问题定义,可行性研究,需求分析),软件开发(概要设计,详细设计,编码和单元测

试,综合测试),运行维护(改正性维护,适应性维护,完善性维护,预防性维护)。、 生命周期模型 6:瀑布模型:就是把一个开发过程分成收集需求,分析,设计,编码,测试,维护六部分,只有完成前面一步才能开始后面一步,上一步的输出的文档就是这一步的输入文档,每一步完成都要交出合格的文档,每一步都会有反馈,如果反馈有错误就退回前一步解决问题。瀑布模型的缺点:实际的项目开发很难严格按该模型进行;由于用户只能通过文档来了解产品,客户往往很难清楚地给出所有的需求,而瀑布模型不适应用户需求的变化;软件的实际情况必须到项目开发的后期客户才能看到。 7:快速原型模型:就是根据用户的需求迅速设计出一个原型系统,原型系统具有基本的功能,然后用户使用原型并对原型提出需求和改变,开发人员再对原型进行修改和完善知道用户满意。优点:容易适应需求的变化;有利于开发与培训的同步;开发费用低、开发周期短且对用户更友好。缺点:快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;使用这个模型的前提是要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。 8:增量模型:就是把软件分成许多个构件,每个构件分别当做一个软件来分析,设计,编码,测试。开发人员一次一

LINUX系统中环境搭建

LINUX系统中服务器环境搭建 一:软件介绍 Apache:世界使用排名第一的Web服务器软件。 Tomcat:是运行在java环境(JDK)下的web服务器,只要有java环境就可以运行。 PHP:是一种HTML内嵌式的语言,是一种在服务器端执行的脚本语言,(PHP是服务端脚本,而HTML 是客户端脚本。服务器将php解析后生成HTML,服务器对HTML文件不做解析,然后通过网络将HTML传到客户端(直接传HTML的代码内容),再由浏览器解析HTML。任何语言写出来的网页最终都被解析成HTML语言, 然后返回客户端,被浏览器解析,浏览器只认html) MySQL:是一个开放源码的数据库管理系统。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 二:防火墙关闭 1、Selinux是强制访问控制(MAC)系统(一种防火墙) 命令getenforce检查selinux是否已禁用,如果不是disabled或setenforce 0 则修改/etc/selinux/config文件,将状态改成disabled,保存并重启linux!! 2、检查防火墙是否禁用,命令/etc/init.d/iptables status或(service iptables status)查看状态,如果没禁 用则: 临时关闭方式:命令/etc/init.d/iptables stop或(service iptables stop)禁用。 永久关闭方式:命令chkconfig --level 35 iptables off,重启之后防火墙关闭。 三:安装前的准备工作: 将安装文件传到虚拟机linux上,可以采用两种方式 1:使用连接器secureFX进行上传。 2:在windows的机器上创建一个共享文件夹,例如:sharedoc,将安装文件放入sharedoc。然后在linux里面运行命令:mount -t cifs -o username=user1,password=password //ip/sharedoc /mnt/share 注意:user1使用windows机器具有共享权限的用户名,password使用用户对应的密码,ip 替换成windows机器的真实IP。/mnt/share这个表示linux上的某个路径,可以更改为任意 实际存在的文件夹,建议将要安装的源文件放到/opt/source路径下。 b、如果要自定义安装的话,手动创建软件安装的目录。 比如:mkdir /opt/lamp/apache 安装apache用 mkdir /opt/lamp/mysql 安装mysql用 mkdir /opt/lamp/php 安装php用

Android智能电视APP开发笔记(一)

Android智能电视APP开发笔记(一) 1缘起 以小米盒子为代表的OTT机顶盒、智能电视的快速普及,快速推动了Android技术在机顶盒、智能电视领域的普及。既然都是用的Android操作系统,那么从技术上来说应该是大同小异的,当然和手机APP的应用相比,电视端的APP开发应该有一些都有的特点需要关注,我相信这样的特点应该不会太多。 写这个笔记的缘起在于一个生活上的小小不便,因为儿子正在读小学,每天早上起来都需要听英语,学校发的磁带真的是不方便,老的磁带机相信很少有人用了,虽然也给他买了一个步步高的复读机,不过没用几天就被搁置了。于是我在网上搜了个APP,在手机上很好用,可以直接翻看课文,也可以朗读课文,翻到哪页就朗读哪页,如果不翻动,就自动往下读,做的还是相当人性化的,但是这样一个新的问题产生了,每天早上我的手机就被我儿子霸占了,接到音响上听英语了,我要看个朋友圈啊啥的,就不方便了。 刚好家中有个OTT机顶盒,可以安装APP,就想着把这个APP装到OTT机顶盒上,结果发现完全无法使用,界面不对了,遥控器也响应不了了,完全无法使用啊,结论就是手机APP和TV APP还是有些区别的,须要作些微调适配的。 咋整呢?重新给写一个TV APP吧,为了夺回我手机的控制权,好歹哥以前也是开发工程师啊。 2Win7虚拟机创建 2.1 VMware Workstation安装 直接把开发环境安装在自己电脑上感觉不是太好,一个影响系统运行速度,二是免不了要装了卸,卸了装,把电脑运行环境搞得乱七八糟。所以决定还是在虚拟机环境中玩。 虚拟机当然选行业老大VMware了,下载Vmware workstation进行安装。没想到这玩意都升级到11.1版本了,这个世界真的是变化快啊。 从官网下载后再安装:

软件工程笔记(注释)(完整版)

第一章软件工程概述 1.软件危机 (software crisis):是指在计算机软件的开发和维护过程中所遇到的一系列 严重问题。即“两低一高”问题:质量低、效率低、成本高。 软件危机也成为“软件萧条(depression)”或“软件困扰(afflication)” 2.软件危机主要表现 1)开发成本和进度估计不准 2)用户对“已完成的”软件系统不满意 3)软件质量往往靠不住 4)软件常常是不可维护的 5)软件通常没有适当的文档资料 6)软件成本逐年上升 7)软件开发生产率滞后于硬件和计算机应用普及的趋势 3.产生软件危机的原因 1)与软件本身的特点有关 a. 软件不同于硬件,是逻辑部件而不是物理部件 缺乏可见性 难于测试 管理和控制开发过程困难 不会因使用时间过长而被“用坏” 难以维护 b.软件不同于一般程序,规模庞大,而且程序复杂性随着程序规模的增加而呈指数上 升 2)和软件开发与维护的方法不正确有关 a.对软件开发和维护有关的错误认识和作法 忽视软件需求分析的重要性 认为软件开发就是写程序 轻视软件维护 b. 对软件开发过程与方法的认识与应用 软件开发要经历一个漫长的时期(编程占10-20%) 程序仅是完成软件配置的一个组成部分 软件开发方法要有利于软件维护 4.软件的特点 (1)软件是无形的(intangible) (2)软件副本的大批量生产轻而易举 (3)软件业是劳动密集型的 (4)一个没有经过充分训练的软件开发人员很容易编写出难以理解和修改的软件 (5)软件本身很容易修改。但由于它的复杂性,又很难正确地修改。 (6)软件不像其他的工业产品那样会因使用而磨损,随着反复修改,它的设计会逐渐退 化 5.消除软件危机的途径 1)对计算机软件的正确认识 2)认识到软件开发不是个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 3)推广使用成功的软件开发技术和方法

相关主题
文本预览
相关文档 最新文档