linux实验报告3 Linux上C程序编译,调试和工程文件管理
c程序实验报告一 c程序的运行环境及运行方法

c程序实验报告一 c程序的运行环境及运行方法一、C程序的运行环境C程序是需要在计算机上运行的,因此它需要一个运行环境。
C语言最常见的运行环境是Windows和Unix/Linux。
1. Windows运行环境在Windows环境下,可以使用Microsoft Visual Studio或Code::Blocks等集成开发环境(IDE)来编写和运行C程序。
Visual Studio是一种比较常见且功能强大的IDE,它集成了调试器、编辑器和编译器。
在Visual Studio中,可以直接输入C代码,编辑并编译运行,也可以在命令行使用编译器gcc来编译运行C程序。
2. Unix/Linux运行环境在Unix/Linux环境下,可以使用诸如打开源软件组合(GCC)之类的编译器来编写和运行C程序。
GCC是一种功能齐全的C编译器,它在大多数Unix系统上都可用。
在Unix/Linux环境下,C程序可以在命令行上使用gcc编译并运行。
C程序的运行方法主要包括两种:使用命令行运行C程序和在IDE中运行C程序。
1. 命令行运行C程序使用GCC编译器将C代码编译为可运行二进制文件,然后在命令行上运行该二进制文件即可运行C程序。
以下是在Linux环境下的例子:(1)编写一个简单的C程序hello.c:```c#include <stdio.h>(2)使用gcc编译这个程序:$ gcc -o hello hello.c-o指定输出文件名,hello是可执行文件名。
(3)在终端上运行程序:$ ./hello输出:Hello World!2. 在IDE中运行C程序在IDE中运行C程序可以通过以下步骤完成:(1)打开IDE(例如Visual Studio)并创建一个新项目。
(2)在新项目上创建一个新的C源代码文件并输入C代码。
(3)编译代码,IDE将使用内置的编译器将C代码编译为可执行文件。
(4)运行程序,IDE将启动应用程序并附加调试器,编译器会自动转换代码并在调试器中执行。
Linux实验3

福建农林大学实验报告系:专业:年级:姓名:学号:实验室号__ 计算机号实验时间:指导教师签字:成绩:实验三用户管理一、实验目的和要求1) 掌握在Linux系统下利用命令方式实现用户和组的管理;2) 掌握批量创建用户的方法。
二、实验内容和原理1.用户的管理●创建一个新用户user01,设置其主目录为/home/user01。
●查看/etc/passwd文件的最后一行,看看是如何记录的。
●查看文件/etc/shadow文件的最后一行,看看是如何记录的。
●给用户user01设置密码。
●再次查看文件/etc/shadow文件的最后一行,看看有什么变化。
●使用user01用户登录系统,看能否登录成功。
●锁定用户user01。
●查看文件/etc/shadow文件的最后一行,看看有什么变化。
●再次使用user01用户登录系统,看能否登录成功。
●解除对用户user01的锁定●更改用户user01的帐户名为user02。
●查看/etc/passwd文件的最后一行,看看有什么变化。
●删除用户user02。
2.组的管理●创建一个新组,stuff。
●查看/etc/group文件的最后一行,看看是如何设置的。
●创建一个新帐户user02,并把他的主要组和附属组都设为stuff。
●查看/etc/group文件中的最后一行,看看有什么变化。
●给组stuff设置组密码。
●在组stuff中删除用户user02。
●再次查看/etc/group文件中的最后一行,看看有什么变化。
3.用桌面操作创建用户和组●进入X-Window图形界面。
●打开控制面板,启动用户和组群管理子程序,在打开的界面中练习用户、组的设置。
4.批量添加用户a)将07级计算机专业的50名学生,添加到Linux系统中,让他们成为student组的成员。
用户名格式为:s07001-s07030;学生的初始密码为:stu001-stu030,请参考P125的7个步骤,完成添加并设置用户的操作,记录各步骤的结果和相应的文件内容。
理工大学Linux实验报告

实验名称实验一Linux操作系统定制安装实验地点博学楼实验时间4月16日网络实验室一、实验目的和要求⑴通过对Linux 操作系统的定制安装,建立对Linux操作系统的初步认识,为后续实验的进行提供基础平台。
⑵掌握Linux操作系统的虚拟机定制安装。
⑶熟悉Linux文件目录结构二、实验内容和原理实验内容:利用虚拟机软件定制安装Linux操作系统,熟悉安装过程中各个选项的意义。
实验原理:虚拟机可以说是一种软件,也可以说是一种技术,它允许用户在一台主机上虚拟出多台计算机,每台虚拟的计算机都可以有自己的硬件及软件配置。
三、主要仪器设备PC机、VMware Player、Redhat/Ubuntu/Fedora四、操作方法与实验步骤⑴安装VMware Player⑵在VMware Player当中创建一个新的虚拟机,指定安装包的路径。
⑶安装定制Redhat Enterprise Linux 5.0说明:⑴对软件开发和和网络服务包进行定制。
⑵选择samba服务、nfs服务、tftp服务、Telnet服务和FTP服务⑶关闭系统防火墙、禁用SELinux服务。
⑷手动设置系统分区。
五、实验数据记录和处理1、安装Ubuntu进入界面:2、选择tftp服务3、对软件开发和网络服务包进行定制,都选择老的软件开发和老的网络服务器4、关闭系统防火网5、禁用SELinux服务六、实验结果与分析七、讨论、心得通过这次实验,在自己电脑的虚拟机上安装好了Ubuntu的镜像文件,并在Ubuntu下写了一些简单的命令,深深地感觉在虚拟机上运行Ubuntu远远要比双系统下方便得多,尤其是在两种不同系统下来回切换。
由于电脑上之前就已经安装过虚拟机,所以,实验报告中未对虚拟机的安装加以赘述。
实验名称实验二熟悉Linux系统的基本命令实验时间4月18日实验地点博学楼网络实验室一、实验目的和要求⑴熟悉Linux命令格式⑵学会如何获取命令帮助信息⑶熟练掌握Linux常用命令⑷掌握GCC命令的使用及其常用参数的含义二、实验内容和原理实验内容:系统设置命令、文件及文件夹操作命令、压缩与解压缩命令、自动补全与历史命令、管道与重定向命令、GCC命令的使用三、主要仪器设备PC机、装有Linux操作系统的虚拟机四、操作方法与实验步骤⑴练习以下常用命令的使用shutdown、reboot、logout、exit、useradd、userdel、su、cd、ls、touch、mkdir、cp、rm、rmdir、mv、more、less、man、du、find、clear、grep、cat、history、tar、unzip、chmod、管道命令|以及重定向命令⑵举例说明管道命令| 的使用⑶举例说明重定向命令<、<<、>、>>的使用⑷编写一个C的源程序,并用gcc进行编译,练习使用gcc的各个参数,理解参数的意义五、实验数据记录和处理1.cd、ls 、mkdir 新建hello文件夹2.cp 复制a到hello文件夹3.rm移除hello 中的a文件4.rmdir移除hello文件夹5.mv更改文件名字、移动文件6.du -b 以字节为单位显示cache目录的大小7.find / -name lolo搜索当前目录下名为lolo的文件8.grep 在lan/b.txt文件里查找字符3,并输出行号-n;输出b.txt内容9.grep重定向追加>>六、讨论、心得本次实验室是熟悉Linux的基本操作命令。
linux实习心得体会_linux校外实训心得体会(优秀模板6篇)

linux实习心得体会_linux校外实训心得体会(优秀模板6篇)linux实习心得体会_linux校外实训心得体会第1篇校外实训工作总结一年来,我校坚持“以服务为宗旨,以就业为导向”的工作方针,努力提高服务和管理水平,抓内涵,创品牌,以提高职业教育质量和办学效益为中心,以创建“三个一流”为工作重点,以提高毕业生就业档次为目标,狠抓学生技能实训和考证工作,加强就业指导,努力提升毕业生综合素质和就业能力。
各项工作取得了显著成效。
现将我们所做的主要工作分以下几个方面作一简要总结:一、以就业为导向,加强职业指导和实习管理,大力提高学生的职业素质,努以就业为导向,加强职业指导和实习管理,大力提高学生的职业素质,力为企业提供超预期合格和满意的人才,以质量争夺市场力为企业提供超预期合格和满意的人才,以质量争夺市场。
(一)职业指导工作1、我校以就业为导向,有计划地对学生开展职业指导工作。
本学期对07级学生进行大型职业指导讲座九次,实习学生家长联席大会三批,,对专业班学生进行顶岗实习教育和就业指导。
还分别按实习单位召开实习生上岗前家长通气会,介绍实习单位的情况和学校要求,细心听取家长意见和建议,取得了学生家长的理解、配合和支持。
通过实习教育大会,招聘面试指导课,实习岗前系列培训等课程,让学生和家长了解当前的就业形势,了解企业的用工要求,分析自己在实习就业中的优劣势,明确实习的重要意义,端正实习就业的态度,一方面在校期间要注意按照企业的要求努力培养和提高自己的素质;另一方面在实习就业时,要根据自己的实际,适当调整实习就业的期望值,先就业,后择业;在实习中做好自立和吃苦的准备,以自己优良的职业素质和工作能力,为自己的职业发展打下良好的基础。
通过教育,学生的思想认识大大提高,收到了良好的效果。
2、把职业指导课列入每周正常的教学内容,对学生进行系统的职业理论教育和职业指导,学生的职业意识和面试技巧都有显著的提高。
3、在学校领导的积极推动下,学校全员职业指导意识有所增强,从正副校长到德育处,从团委到学生会,从各专业部长到专业教师对学生的礼貌礼仪,行为规范、职业素质的养成教育普遍加强,学生遇到老师和客人打招呼问好渐成习惯和自然现象,学生自律组织不断发展壮大,各种自我教育的社团组织蓬勃发展,逐步形成一个齐抓共管良好局面,学生素质比以往明显提高。
linux安装实验报告

linux安装实验报告Linux安装实验报告引言:在信息技术发展的今天,操作系统作为计算机的核心软件,扮演着至关重要的角色。
而Linux作为一种开源的操作系统,具有稳定性、安全性和灵活性等优势,被广泛应用于各个领域。
本文将介绍Linux的安装过程及经验总结。
一、准备工作在安装Linux之前,我们需要做一些准备工作。
首先,我们需要选择适合自己的Linux发行版。
常见的有Ubuntu、CentOS、Fedora等,每个发行版都有自己的特点和用途。
其次,我们需要下载相应的Linux镜像文件,并将其写入U 盘或光盘中,以供安装使用。
此外,还需要备份重要的数据,以防安装过程中的意外情况。
二、安装过程1. 启动计算机并进入BIOS设置界面,将启动顺序调整为U盘或光盘优先。
2. 插入U盘或光盘,重启计算机。
3. 进入Linux安装界面后,选择适合自己的语言和时区,并点击下一步。
4. 在安装类型中,我们可以选择将Linux与其他操作系统共存,或者完全覆盖原有操作系统。
根据自己的需求选择相应的选项,并点击下一步。
5. 在分区设置中,我们可以选择手动分区或者自动分区。
手动分区可以根据自己的需求来设置分区大小和文件系统类型,而自动分区则由系统自动分配。
点击下一步后,系统会自动进行分区操作。
6. 设置用户名和密码,以及主机名等基本信息,并点击下一步。
7. 进行最后的安装确认,确认无误后,点击开始安装。
8. 安装过程需要一定的时间,请耐心等待。
安装完成后,系统会提示重启计算机。
三、安装经验总结1. 选择合适的发行版:根据自己的需求选择合适的发行版,例如Ubuntu适合桌面用户,CentOS适合服务器用户。
2. 注意硬件兼容性:在选择发行版时,要注意其对硬件的兼容性。
如果硬件不兼容,可能会导致安装过程中的问题。
3. 备份重要数据:在安装过程中,可能会格式化磁盘,导致数据丢失。
因此,在安装之前,务必备份重要的数据。
4. 学习基本命令:Linux操作系统与Windows有很大的不同,需要学习一些基本的Linux命令,以便能够更好地使用和管理系统。
Linux文件目录操作指令实验报告

实验二 Linux文件目录操作指令
学号:姓名:
【实验目的】
1.了解在fedora中终端对系统可进行的操作。
2.掌握在终端中对系统文件、目录、硬件的相关指令操作。
【实验要求】
1.熟练掌握目录、文件、系统操作指令的代码
【实验内容】
1.对目录的操作
实验截图:
(1)pwd:显示当前所在目录
(2)cd:进入文件夹
(3)ls:查看当前文件夹所有目录
(4)mkdir:创建目录
(5)rmdir:删除空目录
2.对文件的操作指令
(1)touch:创建文件
(2)mv:移动、重命名
(3)cp:将给出的文件或目录复制到另一个文件或目录中
(4)rm-rf:删除文件或目录
(5)in:建立指向某个文件的连接
(6)file:检测文件类型
(7)wc-:显示一个文件的字节数
(8)cat 文件名|more:查看文件
(9)find:查找文件
(10)grep文本搜索“.profile”
3.系统操作指令
(1)reboot:重启系统
(2)shutdown:安全关闭或重启系统
(3)exit:退出当前shell
【实验小结】
本次实验主要是对linux一些操作指令的熟悉,包括创建文件、目录,检查文件类型,对文件进行移动、重命名等基本操作,是对进一步学习好Linux必备的基础指令。
教师评分。
嵌入式Linux系统开发教程实验报告

嵌入式实验报告:学号:学院:日期:实验一熟悉嵌入式系统开发环境一、实验目的熟悉Linux 开发环境,学会基于S3C2410 的Linux 开发环境的配置和使用。
使用Linux的armv4l-unknown-linux-gcc 编译,使用基于NFS 方式的下载调试,了解嵌入式开发的基本过程。
二、实验容本次实验使用Redhat Linux 9.0 操作系统环境,安装ARM-Linux 的开发库及编译器。
创建一个新目录,并在其中编写hello.c 和Makefile 文件。
学习在Linux 下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。
下载已经编译好的文件到目标开发板上运行。
三、实验设备及工具硬件::UP-TECH S2410/P270 DVP 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G 以上。
软件:PC 机操作系统REDHAT LINUX 9.0+超级终端(或X-shell)+AMR-LINUX 开发环境。
四、实验步骤1、建立工作目录[rootlocalhost root]# mkdir hello[rootlocalhost root]# cd hello2、编写程序源代码我们可以是用下面的命令来编写hello.c的源代码,进入hello目录使用vi命令来编辑代码:[rootlocalhost hello]# vi hello.c按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq!”保存并退出。
这样我们便在当前目录下建立了一个名为hello.c的文件。
hello.c源程序:#include <stdio.h>int main() {char name[20];scanf(“%s”,name);printf(“hello %s”,name);return 0;}3、编写Makefile要使上面的hello.c程序能够运行,我们必须要编写一个Makefile文件,Makefile文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令。
Linux下的C编程实战

一、开发平台搭建1.引言Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。
而近年来,Linux操作系统在嵌入式系统领域的延伸也可谓是如日中天,许多版本的嵌入式Linux系统被开发出来,如ucLinux、RTLinux、ARM-Linux等等。
在嵌入式操作系统方面,Linux的地位是不容怀疑的,它开源、它包含TCP/IP协议栈、它易集成GUI。
鉴于Linux操作系统在服务器和嵌入式系统领域愈来愈广泛的应用,社会上越来越需要基于Linux操作系统进行编程的开发人员。
浏览许多论坛,经常碰到这样的提问:“现在是不是很流行unix/linux下的c编程?所以想学习一下!但是不知道该从何学起,如何下手!有什么好的建议吗?各位高手!哪些书籍比较合适初学者?在深入浅出的过程中应该看哪些不同层次的书?比如好的网站、论坛请大家赐教!不慎感激!”鉴于读者的需求,在本文中,笔者将对Linux平台下C编程的几个方面进行实例讲解,并力求回答读者们关心的问题,以与读者朋友们进行交流,共同提高。
在本文的连载过程中,有任何问题或建议,您可以给笔者发送email:21cnbao@,您也可以进入笔者的博客参与讨论:/21cnbao。
笔者建议在PC内存足够大的情况下,不要直接安装Linux操作系统,最好把它安装在运行VMWare 虚拟机软件的Windows平台上,如下图:在Linux平台下,可用任意一个文本编辑工具编辑源代码,但笔者建议使用emacs软件,它具备语法高亮、版本控制等附带功能,如下图:2.GCC编译器GCC是Linux平台下最重要的开发工具,它是GNU的C和C++编译器,其基本用法为:gcc [options] [filenames]options为编译选项,GCC总共提供的编译选项超过100个,但只有少数几个会被频繁使用,我们仅对几个常用选项进行介绍。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
深圳大学实验报告
课程名称:Linux操作系统
实验项目名称:Linux上C程序编译,调试和工程文件管理学院:计算机与软件学院
专业:软件工程
指导教师:冯禹洪
报告人:文成学号:2011150259 班级:02 实验时间:2013/12/31
实验报告提交时间:2013/12/31
教务处制
一、实验目标:
熟悉Linux上C程序设计环境,包括以下内容:
1. 联机帮助man命令
2. 编译工具gcc的使用
3. 熟悉使用gdb来调试程序
4. 熟悉C工程文件的管理工具makefile
二、实验环境与工件
湖边Linux实验室
Fedora 13
三、实验内容与步骤
1.动态库函数可以在多个应用程序之间共享,可以减少应用程序文件的容量和
应用程序的装载时间。
因此,熟悉构建动态库可以提高软件的编写质量。
请跟随以下步骤构建动态库message,并用其编写程序、编译和运行。
(40分)
1.1编写源程序message.c(见图1)和main.c(见图2)
图1. message.c源程序
图2.main.c源程序
1.2用以下命令对message.c进行编译,其中,“-fPIC”选项是告诉gcc产生的
代码不要包含对函数和变量具体内存位置的引用。
1.3以上命令将获得目标文件message.o,使用以下命令建立共享函数库
message:
1.4使用1.3获得的共享函数库来编译main.c文件
1.5设置共享函数库搜索路径
1.6运行程序并附上结果
1.7构建静态可执行程序
1.7.1$gcc –c message.c
1.7.2$ar –crv libmsg.a message.o
1.7.3$gcc –o main main.c –L./ -lmsg
1.7.4$./main
1.8运行以下两个命令并截图说明结果:
$ldd goodbye
$ldd main
$ls –l goodbye main
/*附加题:经观察,如果用ubuntu, main 和googbye的大小在一些发行版本下没有区别,如果实验如此,请尝试解释这一现象。
附加题目,平时成绩+5分,超过40分不算。
*/
2.图3-4中的reverse程序是有bug的,请使用gdb去观察程序的行为,对关键
行为截图说明,定位错误(截图说明)并修正程序bug。
附上修正的程序及其运行结果。
(40分)
图3. reverse.h头文件
图4. reverse1.c源程序
3.假设project有5个文件:main.c(图5), mytool1.h(图6), mytool1.c(图7), mytool2.c, mytool2.h,其中,mytool1.c应该包含mytool1.h,mytool2.c应包含mytool2.h,生成的二进制文件为main。
相应的依赖关系见图10。
请编写相应的makefile并用make编译然后运行,步骤如下:
3.1. $make
3.2. $./main
要求:附上相应的makefile源代码及编译和运行结果。
(20分)
图5. main.c源程序
图6. mytool1.h源程序
图7. mytool1.c源程序
图8. mytool2.h源程序
图9. mytool2.c源程序
图10.各源程序之间的依赖关系
四、实验结果
1.
1.1编写源程序message.c
编写源程序main.c
1.2对message.c进行编译
获得目标文件message.o
1.3建立共享函数库message:
1.4使用1.3获得的共享函数库来编译main.c文件
得到
1.5设置共享函数库搜索路径1.6运行程序并附上结果
1.7构建静态可执行程序
1.8运行$ldd goodbye
$ldd main的结果如下
执行$ls –l goodbye main
静态可执行程序和动态可执行程序的比较如下:
静态库:
当应用程序和静态库一起编译时,引用的库函数中的代码会被直接包含进二进制程序静态可执行程序(完整的、独立运行)
共享函数库:
每个库函数在所有应用程序之间共享-全局函数
减少文件的容量
减少大型Linux应用程序的装载时间
提高系统的安全性
动态可执行程序(不完整、依靠外部共享库以运行
2.
编写程序:
首先使用如下命令编译
使用gdb去观察程序的行为,输入命令gdb reserve
输入list1和l查看代码
输入run运行程序。
运行有错误
用break mian可以设断点
Info break 可以显示断点
修改代码:
在gdb下键入run
Ok
3.
写好源程序
先使用gcc-c命令
编写相应的makefile
用make编译然后运行
五、实验总结与体会
这次实验是照着ppt做的,ppt写的比较详细,懂得了如何在linux下运行C 程序。
以及动态函数库和静态函数库的区别和gdb的使用。
Gdb不是很会用,不太习惯,第二题的找bug找了很久,不知道怎么找。
注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。