GCC编程与开发总结报告_第1页
GCC编程与开发总结报告_第2页
GCC编程与开发总结报告_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、Gcc编程与开发总结报告姓名:学号:学院:2010年12月Gcc编程与开发总结报告Gcc简介:GCC(GNUCompilerCollection),是一套由GNU开发的编程语言编译器。除了编译程序之外,它还含其他相关工具,所以它能把易于人类使用的高级语言编写的源代码构建成计算机能够直接执行的二进制代码。GCC是Linux平台下最常用的编译程序,它是Linux平台编译器的事实标准。同时,在Linux平台下的嵌入式开发领域,GCC也是用得最普遍的一种编译器。GCC之所以被广泛采用,是因为它能支持各种不同的目标体系结构。例如,它既支持基于宿主的开发(简单讲就是要为某平台编译程序,就在该平台上编译),

2、也支持交叉编译(即在A平台上编译的程序是供平台B使用的)。目前,GCC支持的体系结构有四十余种,常见的有X86系列、Arm、PowerPC等。同时,GCC还能运行在不同的操作系统上,如Linux、Solaris、Windows等。除了上面讲的之外,GCC除了支持C语言外,还支持多种其他语言,例如C+、Ada、Java、Objective-C、FORTRAN、Pascal等。二、Gcc开发技术:1、GCC基本规则:.c为后缀的文件,C语言源代码文件;.C、.cc或.cxx为后缀的文件,是C+源代码文件;.a为后缀的文件,是由目标文件构成的档案库文件;.h为后缀的文件,是程序所包含的头文件;.i为

3、后缀的文件,是已经预处理过的C源代码文件;.ii为后缀的文件,是已经预处理过的C+源代码文件;.m为后缀的文件,是Objective-C源代码文件;.。为后缀的文件,是编译后的目标文件;.s为后缀的文件,是汇编语言源代码文件;.S为后缀的文件,是经过预编译的汇编语言源代码文件。2、Gcc的应用方法:1) Gcc的编译过程:在使用GCC编译程序时,过程可以被分为四个阶段: 预处理(Pre-Processing),生成.i文件【预处理器cpp】编译(Compiling),将预处理后的文件不转换成汇编语言,生成.s文件【编译器egcs】 汇编(Assembling),由汇编变成目标代码(机器代码)生

4、成.o文件【汇编器as】链接(Linking),连接目标代码,生成可执行程序【链接器Id】Linux程序员可以根据自己的需要让Gcc在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为今后的调试做好准备。和其它常用的编译器一样,Gcc也提供了灵活而强大的代码优化功能,利用它可以生成执行效率更高的代码。2) Gcc最基本的用法和常用选项Gcc命令的基本用法是:gccoptionsfilenames,其中options就是编译器所需要的参数,filenames给出相关的文件名称。-c,只编译,不连接成为可执行文件

5、,编译器只是由输入的.c等源代码文件生成.。为后缀的目标文件,通常用于编译不包含主程序的子程序文件。-o,output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。-g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。-O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。-O2,比-O更好的优化编译、连接,当然整个编

6、译、连接过程会更慢。-Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。3) C程序中的头文件包含两种情况:A) #include#include"myinc.h”其中,A类使用尖括号(<>),B类使用双引号(“。”对于A类,预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而对于B类,cpp在当前目录中搜寻头文件,这个选项的作用是告诉cpp,如果在当前目录中没有找到需要的文件,就到指定的dirname目录中去寻找。在程序设计中,如果我们需要的这种包含文件分别分布在不同的目录中,就需要

7、逐个使用-I选项给出搜索路径。-Ldirname,将dirname所指出的目录加入到程序函数档案库文件的目录列表中,是在连接过程中使用的参数。在预设状态下,连接程序ld在系统的预设路径中(如/usr/lib)寻找所需要的档案库文件,这个选项告诉连接程序,首先到-L指定的目录中去寻找,然后到系统预设路径中寻找,如果函数库存放在多个目录下,就需要依次使用这个选项,给出相应的存放目录。-lname,在连接时,装载名字为Tibname.a的'函数库,该函数库位于系统预设的目录或者由-L选项确定的目录下。例如,-lm表示连接名为“libm.a的数学函数库。上面我们简要介绍了gcc编译器最常用的功

8、能和主要参数选项,更为详尽的资料可以参看Linux系统的联机帮助。假定我们有一个程序名为test.c的C语言源代码文件,要生成一个可执行文件,最简单的办法就是:gcctest.c这时,预编译、编译连接一次完成,生成一个系统预设的名为a.out的可执行文件,对于稍为复杂的情况,比如有多个源代码文件、需要连接档案库或者有其他比较特别的要求,就要给定适当的调用选项参数。再看一个简单的例子。整个源代码程序由两个文件testmain.c和testsub.c组成,程序中使用了系统提供的数学库,同时希望给出的可执行文件为test,这时的编译命令可以是:gcctestmain.ctestsub.clmotes

9、t其中,-lm表示连接系统的数学库libm.a。Gcc编程实例首先我们通过gedit命令编写一个简单的C程序,代码如下:#include"stdio.h"main()inti,j,result;printf("n");for(i=1;i<10;i+)for(j=1;j<10;j+)result=i*j;printf("%d*%d=%-3d”,i,j,result);/*-3d表示左对齐,占3位*/printf("n");/*每一行后换行*/将该程序保存为fun1.c文件,然后在终端输入命令来对其进行编译和运行该段

10、程序,我们通过命令:gcc-ofun1fun1.c将编译后生成的目标文件命名为fun1,如果直接执行命令:gccfunl.c,则编译后生成默认的可执行文件a.out,编译通过的文件通过列表后则显示成绿色的可执行文件名。最后执行命令语句:./funl,则是运行当前文件,得到如下的结果:直怕曰K1IW卷心gR卉刊型布心理"gL麻浦。1昨hgIib-22.fiJtt-J.I.flhrIIobC'ftsuIL-c'stocfc-0».0.9Lask.(.rooLrhlSreel|Pcdtask“noi河1»盼UiJcJlh侦很Ws广(riraL?rhl9I

11、fliikpeefFunfunI«c(rociLhia"qk|H耻liinlfunI.-cfuji.fhe-1,lo.c'fr4|tbl!4itikll./funII.*I-J1*2-?1*3-1;1*4-4J*5-5J*6-61*7-7*8-8I邙T2*1-22*i-4.5-3-fi2*42*5-102*fi-122*7-L42*9博MIT.I»2»l3:iM-IJ:捉&捋li-lSl"hglifH-24:Elf?4*|M4*2®S4*4"I$4*s=2fliJi*ti-24岬-2?4*?ai2*?lM5*

12、1-55*2-lfl5肚55*4-305*5-255*-305*7-355*8-44>5*BM5II*I-66*2-12fi*3-ial;H-246*5-30-$*GTl!11*7-426*8-4Bfi*9-547*1-77*2-14ITTI:7M2£7-lSIT珂iT7*7-397«K-5l7>91H*|X时|状HTm蔬3*4=整S*>=41lWhSfi*»=§<H+1J-TJ肥IT*3-27!*M-369*5T5Vf-549忡-S39*«-729*-EIr«it&hiaUskh3、Make命令的使用

13、和Makefile文件的编写在Linux环境中,make是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,用户都会经常用到make或makeinstall命令。利用make工具,可以将大型的开发项目分解成为多个更易于管理的模块分别开发。对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以省去每次都要键入gcc命令进行编译的麻烦而自动完成编译,大大提局项目开发的效率。Makefile文件的编写假设我们有下面这样的一个程序,源代码如下:/*main.c*/#include"appl.h#include"app2.hintmain()app

14、1print();app2print();return0;/*app1.h*/#ifndef_APP_1_H#define_APP_1_Hvoidapp1print();#endif/*app1.c*/#include"app1.h”#include"stdio.h"voidapp1print()printf("Thisisapp1printn");/*app2.h*/#ifndef_APP_2_H#define_APP_2_Hvoidapp2print();#endif/*app2.c*/#include"app2.h”#inclu

15、de"stdio.h"voidapp2print()printf("Inapp2,first,callapp1:");app1print();printf("Thisisapp2printn");从上面的源代码可以清晰的看到,app1.h和app2.h中定义了两个功能的函数,分别是app1print()和app2print();其中app2.h中的功能函数调用了app1.h中的app1print()函数。当然由于这个程序是很短的我们可以这样来编译gcc-cmain.cgcc-capp1.cgcc-capp2.cgcc-omainmai

16、n.oapp1.oapp2.o这样的话我们也可以产生main程序,而且也不是很麻烦。但是如果我们考虑一下如果有一天我们修改了其中的一个文件(比如说app1.c)那么我们难道还要重新输入上面的命令?也许你会说,这个很容易解决啊,我写一个SHELL脚本,让她帮我去完成不就可以了。是的对于这个程序来说,是可以起到作用的.但是当我们把事情想的更复杂一点,如果我们的程序有几百个源程序的时候,难道也要编译器重新一个一个的去编译?为此,聪明的程序员们想出了一个很好的工具来做这件事情,这就是make。我们只要执行以下make,就可以把上面的问题解决掉。在我们执行make之前,我们要先编写一个非常重要的文件一M

17、akefile。其编写流程是:编写可执行文件生成规则该程序要生成的可执行文件的名称是myapp,则要生成此可执行文件所需要的3个object文件分别是main.o、appl.o、app2.o,即myapp依赖于这三个文件。第一步的编写规贝U是:myapp:main.oappl.oapp2.o(TAB)gcc-omyappmain.oappl.oapp2.o编写各目标文件生成规则main.o文件:main.o:main.cappl.happ2.h(TAB)gcc-cmain.cappl.o文件:app1.o:app1.cappl.h(TAB)gcc-cappl.capp2.o文件:app2.o:

18、app2.cappl.happ2.h(TAB)gcc-capp2.c编写伪目标规则般要在后面定义一个伪目标:clean。它的生成规则为:clean:(TAB)$(RM)*.omyappPHONY的应用当输入makeclean时,由于伪目标规则中没有依赖文件,而且clean文件总是最新的,因此按照Makefile文件的运行规则,rm*.omyapp是不会i被执行的。这显然是有问题的。为解决这个问题,要用到.PHONY,使用这个字符串可显示指定clean为伪目标,而不将其视为文件。./PHONY的格式为:./PHONY:clean将上述规则合并在一起,便得到所需要的Makefile文件有了这个Ma

19、kefile文件,不过我们什么时候修改了源程序当中的什么文件,我们只要执行make命令,我们的编译器都只会去编译和我们修改的文件有关的文件。Makefile的基本语法规则:在Makefile中"始的行都是注释行,Makefile中最重要的是描述文件的依赖关系的说明,其基本规则是由目标文件、依赖文件和响应命令三部分组成的,它的一般格式是:-target.:prerequisites./依赖关系<TAB>command.响应命令-target:要生成的目标文件-prerequisites:target所依赖的文件-command:make所要执行的命令(任意的shell命令)

20、Makefile有三个非常有用的变量。分别是$,$气$<代表的意义分别是:$-目标文件,$A-所有的依赖文件,$<-第一个依赖文件。如果我们使用上面三个变量,那么我们可以简化我们的Makefile文件为:#这是简化后的Makefilemain:main.oappl.oapp2.ogcc-o$amain.o:main.cappl.happ2.hgcc-c$<app1.o:app1.cappl.hgcc-c$<app2.o:app2.capp2.hgcc-c$<经过简化后我们的Makefile是简单了一点,不过人们有时候还想简单一点。这里我们学习一个Makefile的

21、缺省规则.c.o:gcc-c$<这个规则表示所有的.0文件都是依赖与相应的.c文件的。例如app.o依赖于app.c这样Makefile还可以变为:#这是再一次简化后的Makefilemain:main.oappl.oapp2.ogcc-o$A.c.o:gcc-c$<Make命令的使用使用make管理器非常简单,只需要在make命令的后面键入目标名即可建立指定的目标,如果直接运行make,则建立Makefile中的第一个目标。make的命令格式:-make-fmakefileoption.target.make的一些常用命令选项-p表示打印出Makefile中所有宏定义和描述内部规

22、则的相关行-i忽略执行中所遇到的所有错误-k在错误发生后尽可能的继续执行-d打印调试信息-s执行而不显示执行状况-n打印出要执行的命令,但是并不执行这些命令,可以用来检查Makefile正确性Make的工作步骤-读入所有的Makefile-读入被include的其它Makefile-初始化文件中的变量-推导隐含规则,并分析所有规则-为所有的目标文件创建依赖关系链-根据依赖关系,决定哪些目标要重新生成-执行生成命令。输入make命令后,若有错误,可以根据错误的提示,进行相应的修改。例如上述程序在输入make命令后出现:makefile:4:*missingseparator.Stop.这种错误的

23、原因在于gcc这一命令行前面应该用tab键,而不能用空格。修改之后再执行make命令,正确生成了目标文件和可执行文件,证明Makefile文件编写正确。|«'B扯史刊也煽轴耍I56';v>衅油重拈到业IWILWroot#sglk+-2.2.4rnikefileheliio.眄叩口idol#cd.mifappnrHpp#IsappI.huppl.hrooEWh19eclipse«ib-2.2.3ruH®rh19ruut'Wh19app】£appihapp2cspp2.hiH.pp1bcuppl.happ2,cupp2.hr”心

24、tyh19FryappIfriskentikefiIe;4r*mi$singseparator.rootrh19nappl#roocrh19napp#make"ic-cnnin.cgee-tappIacgcc-capp2ucKcc-nnyxppffhin.osppI.uapp2.»rflot-rh19apptf回叩pThisisappprintnapp2.first.ca11appl:TlrisixupplprimThisisapp2print用nyxpp#Qresu11.c"tasksloefc-OiO.SwrksfjateithirircrrukefiIerr

25、uinMnukefile5topP4、Stock应用的Makefile文件详细分析PROGS=stock/目标名字保存在变量PROGS中all:$(PROGS)/使用PROGS这个变量CC=g+/CC变量被设置为g+OBJS=main.omenu.odata.omisc.odraw.ostkfile.ocheckhis.ochecknow.ojszb.ochoicestock.oshowhqwin.otblman.okeys.ocalculator.oareatotal.odataman.osystem.ocfgfile.otcp_client.otcp_ip_ruleset.ostocksq

26、l.ostockclient.oconnect.oCFLAGS=-Wall-O-I.-I/usr/X11R6/include-I/usr/lib/glib/include-I/usr/X11R6/include/X11LIBS=-L.-L/usr/lib-L/usr/local/lib/mysql-L/usr/X11R6/lib-lgtk-lgdk-rdynamic-lgmodule-lglib-ldl-lXext-lX11-lm-lmysqlclient/声明了3个变量.c.o:$(CC)$(CFLAGS)-c$</所有的.。文件都是依赖于.c文件的stock:$(OBJS)$(CC)

27、-o$(OBJS)$(LIBS)/执行OBJS和LIBS定义的文件中所有的命令main.o:gmclient.hmenu.o:gmclient.hdata.o:gmclient.hjszb.hstocksql.hmisc.o:gmclient.hdraw.o:gmclient.hdraw.hstocksql.hjszb.hstkfile.o:gmclient.hjszb.hstocksql.hcheckhis.o:gmclient.hchecknow.o:gmclient.hjszb.o:gmclient.hjszb.hchoicestock.o:gmclient.hshowhqwin.o:g

28、mclient.htblman.o:gmclient.hkeys.o:gmclient.hjszb.hcalculator.o:gmclient.hareatotal.o:gmclient.hdataman.o:gmclient.hsystem.o:gmclient.hstocksql.hcfgfile.o:gmclient.htcp_client.c:tcp_client.htcp_ip_ruleset.hstocksql.c:gmclient.hstocksql.hjszb.hstockclient.c:gmclient.hstockclient.hconnect.c:gmclient.h

29、stockclient.hstocktype.h冒号前边是target(目标文件),冒号后面是依赖文件。实质就是目标文件由依赖文件生成。5、调试器Gdb的主要功能和使用方法在程序编译通过生成可执行文件之后,就进入了程序的调试环节。调试一直以来是程序开发的重中之重,如何使程序员能够迅速找到错误的原因是一款调试器的目标。GDB是GUN开源组织发布的一个强大的Linux下的程序调试工具,它是一种强大的命令行调试工具。Gdb的主要功能能够运行程序,设置所有能影响程序运行的参数。能够让程序在指定的条件下停止。能够在程序停止时检查所有参数的情况。能够根据指定条件改变程序的运行。Gdb的调试方法下面通过一个

30、简单的实例介绍GDB的使用方法,首先编写一个C程序:#include"stdio.h"/*子函数是add,将自然数1m想加*/main()inti,n=0;add(50);for(i=1;i<=50;i+)n+=i;printf("Thesumof1-50is%dn",n);add(intm)inti,n=0;for(i=1;i<=m;i+)n+=i;printf("Thesumof1-%dinaddis%dn",m,n);printf("i=%dn”,i);注意:使用GDB进行调试之前,需要在编译时加上“-g”

31、选项才能使目标可执行文件包含可被调试的信息,即使用命令:gcc-ofun3fun3.c-g编译并连接程序,使之包含可被调试信息gdbfun/使用GDB调试器打开fun3可执行文件完成以上操作后,系统将显示GDB调试器的版本、使用的函数库信息,并显示(gdb)命令提示符。这时可输入命令对程序进行调试,常用的命令如下:1. l(list)列出程序清单2. r(run)运行程序3. b(breakpoint)设置断点,格式:b行号/函数名4. bnumifi=20设置断点的触发条件5. condition断点号i=50改变断点的触发条件6. infob查看断点信息7. clear行号,清除断点8.

32、c(continue)继续运行程序9. s(step)单步运行,stepinto10. n(next)单步运行,stepover11. finish跳出函数,stepout12. print变量/表达式,显示变量或表达式的值display变量/表达式,每次程序停止运行时都显示变量或表达式的值查看文件在gdb提示符下键入list命令三次,列出源代码:(gdb)list(gdb)list(gdb)list技巧:在gdb提示符下按回车健将重复上一个命令。输出效果如下:可以看出,GDB列出的源代码中明确的给出了对应的行号,这样可以大大方便代码的定位。设置断点并查看断点处的情况在gdb中设置断点非常简单

33、,只需在“b”后加入对应的行号即可,其命令如下:(gdb)b1/设置断点1Breakpoint1at0x8048328:filefun3.c,line1.(gdb)infob/给出断点的信息NumTypeDispEnbAddressWhat1 breakpointkeepy0x08048328inaddatfun3.c:1(gdb)rStartingprogram:/root/task/fun3Breakpoint1,add(m=1)atfun3.c:44(gdb)b6/设置断点2Breakpoint2at0x8048335:filefun3.c,line6.(gdb)infob/给出断点的信

34、息NumTypeDispEnbAddressWhat1breakpointkeepy0x08048328inaddatfun3.c:1breakpointalreadyhit1time2 breakpointkeepy0x08048335inaddatfun3.c:6查看变量值-观察变量-单步运行-退出GDB(gdb)pi/查看变量i的值$1=1073828704(gdb)pn/查看变量n的值$2=0其中”i”的指是一个随机数,原因在于程序是在断点设置的对应行之前停止的,那么在此时,并没有把”i”的数值赋值为0,而只是一个随机的数字,但n是在第5行赋值的,故在此时已经为0。(gdb)n/单步运

35、行7n+=I;(gdb)n/单步运行Hardwarewatchpoint2:nOldvalue=15Newvalue=21(gdb)q/退出GDER要使用指令“q”(quit)即可rootrhl9task#三、Eclipse开发环境1、Gcc开发与调试环境的建立集成开发环境是将一些开发工具集合到同一个操作界面的工具软件,它通常由项目管理器、文件管理器、文本编辑工具、语法纠正器、编译工具、调试工具组成。在Linux系统中开发C、C+语言程序,可选择的集成开发环境有Eclipse和Kdevelop,分别运行在GNOME桌面环境和KDE桌面环境。Eclipse集成开发环境是linux系统中最简便的开

36、发环境,也被众多的linux程序设计所选择。Eclipse虽然主要拿来开发Java程序,但事实上Eclipse为一个万用语言的IDE,只要挂上plugin后,就可以在Eclipse开发各种语言程序,所以我们只要挂上CDT(C/C+DevelopmentToolkit)后,就可以在Eclipse开发C/C+程序,除此之外,目前的主流程序语言,如C/C+、C系Java、PHRPerl、Python、Ruby、Rebol、JavaScript、SQLXMLUML,皆可在Eclipse上撰写,所以只要熟悉Eclipse的IDE环境,将来若开发其它语言程序,就不用再重新学习IDE环境了。最重要的,Ecl

37、ipse和CDT是OpenSource且完全免费,取得相当容易,事实上Fedora5已经包含Eclipse和CDT了,而RedHatLinux没有包含,所以需要手动安装Eclipse.下载并安装JRE(JavaRuntimeEnvironment)1 虽然Eclipse本身是用Java语言编写的,但是下载包中并不包含Java的运行环境,需要用户自己另行安装JR巳并且要在操作系统中指明JRE中bin的路径,其下载地址(存盘后,重新启动Linux)rootrhl9root#java-version/测试Java是否安装成功,安装成功后显示:javaversion"1.6.0_22&quo

38、t;Java(TM)SERuntimeEnvironment(build1.6.0_22-b04)JavaHotSpot(TM)ClientVM(build17.1-b03,mixedmode,sharing)EtH圆rhl9rOOI#/usr/ltiraiyjuvHirooi&h19Is;jre-6u22-1inus-S586.rpmjrt,_6Li22-iiux_i58B-rpmi.ntmdtWh19jhvh#chirudlb+kjre-fiui52-Iimux-i58E5-rpnrLbinrti'dtrh19javal#/jr-SuSSIinux-iS88rpnibili

39、Lhpaitkiing.Chccksiiirnni一虹一EEnicting.UnZipSFX5.50of1?February2002,byInfo-ZIP(Zip-B).rcj31acejre6m22-1inus-i586BrpnTycsno,A1I.kbOldnc,rrnmm:yesinflalLn:rjre-f>u22-Iinux-i586BrpmPreparing.井隅辩#捌#册般井辩辩觥觥觥#棉井糊糊#J00%packagejrf)a6.0_22-fthalrtudyin.hlhi1ltdDohe.rOOrhttJjavajtf|安装EclipseSD

40、K首先在/downloads网站上下载Eclipse的压缩包(eclipse-SDK-3.2.1-linux-gtk.tar.gz)rootrh19local#tar-zxvfeclipse-SDK-3.2.1-linux-gtk.tar.gz/将Eclipse解压缩到local的文件夹下rootrh19eclipse#./eclipse/执行eclipse,将出现Selectaworkspace(3)安装成功,打开Eclipse的主界面安装CDT开发CDT的现在只要再挂上CDT(C/C+DevelopmentToolkit)后,就可以在Eclipse

41、C/C+程序。首先在网站/cdt/downloads.php下载压缩包:(org.eclipse.cdt-3.1.1-linux.x86.tar.gz)(1) rootrh19local#tar-zxvforg.eclipse.cdt-3.1.1-linux.x86.tar.gz/将Eclipse解压缩到local的文件夹下(2) rootrh19localcp-reclipse/plugins/usr/local/eclipse/plugins/档案将解到/eclipse目录下,相当于安装CDTpluginsCDT安装成功,再次启动Eclipse,则多了C和C+Project支持2、Eclipse上开发C/C+程序的应用举例(1) 建立C/C+Project:选择ManagedMakeC+Project若选择ManagedMakeC+Project,Eclipse会自动为我们建立makefile;若选择StandardMakeC+Project,则必须自己写makefile。(2) 输入ProjectName,选择Project类型为执行档即可,然后新建C+SourceFile并输入该

温馨提示

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

评论

0/150

提交评论