Linux实验报告3 使用gcc编译C程序 11计科 张慧
linux实验报告3 Linux上C程序编译,调试和工程文件管理
深圳大学实验报告课程名称: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.c1.7.2$ar –crv libmsg.a message.o1.7.3$gcc –o main main.c –L./ -lmsg1.7.4$./main1.8运行以下两个命令并截图说明结果:$ldd goodbye$ldd main$ls –l goodbye main/*附加题:经观察,如果用ubuntu, main 和googbye的大小在一些发行版本下没有区别,如果实验如此,请尝试解释这一现象。
Linux操作系统实验报告材料_常用Linux命令及gcc
操作系统实验报告院系:机电与信息工程学院实验日期:20xx年xx月xx 日文件管理命令Cat将text1的内容加上行号输入到text2中Cat –n text1>text2 (原来text1中的文本内容为123)执行后如图所示显示CPU的相关信息Cat /proc/cpuinfo执行后如图所示:Chomd将file的权限设置为可读、可写、可执行Chmod 777 file执行前file的文件权限如图所示:执行后file的文件权限如图所示:Cp将所有的c程序文件复制至prog子目录中Cp *.c prog复制前prog文件夹如图所示:复制后结果如图所示:mkdir创建子目录project mkdir project执行后如图所示:将/usr目录下的所有文件移到当前目录(用“.”表示)中mv /usr/* .执行后提示权限不够rm将project子目录及子目录下的所有文件删除rm –r project执行后结果如图所示:rmdir删除空目录A rmdir A删除前如图所示删除后结果如图所示:whereis将和pwd文件相关的文件都查找出来Whereis pwd执行结果如图所示:磁盘管理命令cd跳到当前目录的上上层cd ../..执行后结果如图所示:ls将/bin目录一下所有目录及文件详细信息列出:ls –IR /bin执行后如图所示:tree列出文件或目录的拥有者名称tree –u执行后结果如图所示:mount将/dev/hdal挂在/mnt之下:#mount /dev/hdal /mnt执行后如图所示:umount卸除/etc/mtab中记录的所有文件系统umount –a执行后提示权限不够•2、gcc编辑的C程序源代码附:c程序源代码#include<stdio.h>int main(){printf(“Hello World\n”);return 0;}四、实验总结(包括:实验效果分析,心得体会,遗留问题)在用gcc编辑器的时候,出现了点小问题,最后通过百度,成功解决了问题。
Linux操作系统实验报告材料_常用Linux命令及gcc
操作系统实验报告院系:机电与信息工程学院实验日期:20xx年xx月xx 日文件管理命令Cat将text1的容加上行号输入到text2中Cat –n text1>text2 (原来text1中的文本容为123)执行后如图所示显示CPU的相关信息Cat /proc/cpuinfo执行后如图所示:Chomd将file的权限设置为可读、可写、可执行Chmod 777 file执行前file的文件权限如图所示:执行后file的文件权限如图所示:Cp将所有的c程序文件复制至prog子目录中Cp *.c prog复制前prog文件夹如图所示:复制后结果如图所示:mkdir创建子目录project mkdir project执行后如图所示:将/usr目录下的所有文件移到当前目录(用“.”表示)中mv /usr/* .执行后提示权限不够rm将project子目录及子目录下的所有文件删除rm –r project执行后结果如图所示:rmdir删除空目录A rmdir A删除前如图所示删除后结果如图所示:whereis将和pwd文件相关的文件都查找出来Whereis pwd执行结果如图所示:磁盘管理命令cd跳到当前目录的上上层cd ../..执行后结果如图所示:ls将/bin目录一下所有目录及文件详细信息列出:ls –IR /bin执行后如图所示:tree列出文件或目录的拥有者名称tree –u执行后结果如图所示:mount将/dev/hdal挂在/mnt之下:#mount /dev/hdal /mnt执行后如图所示:umount卸除/etc/mtab中记录的所有文件系统umount –a执行后提示权限不够•2、gcc编辑的C程序源代码附:c程序源代码#include<stdio.h>int main(){printf(“Hello World\n”);return 0;}四、实验总结(包括:实验效果分析,心得体会,遗留问题)在用gcc编辑器的时候,出现了点小问题,最后通过百度,成功解决了问题。
编译linux实验报告
编译linux实验报告
编译Linux实验报告
在计算机科学领域,Linux操作系统一直被广泛使用。
它是一个开放源代码的操作系统,具有稳定性和安全性。
在本次实验中,我们将学习如何编译Linux内核,并撰写实验报告以记录我们的实验过程和结果。
实验目的:
1. 了解Linux内核的编译过程
2. 熟悉编译工具和技术
3. 掌握编译过程中可能遇到的问题和解决方法
实验步骤:
1. 下载Linux内核源代码
2. 解压源代码并配置编译环境
3. 使用make命令编译内核
4. 安装编译后的内核
5. 测试新内核的稳定性和功能
实验结果:
经过一系列的操作,我们成功地编译了Linux内核,并将其安装到我们的计算机上。
新内核的稳定性和功能得到了验证,证明我们的编译过程是成功的。
实验总结:
通过本次实验,我们不仅了解了Linux内核的编译过程,还学习了如何使用编译工具和技术。
在实验过程中,我们遇到了一些问题,但通过查阅资料和尝试不同的解决方法,最终成功地完成了编译过程。
这次实验为我们提供了宝贵的
经验,也增强了我们对Linux操作系统的理解和掌握。
总的来说,编译Linux内核的实验是一次有意义的学习过程,我们通过实践提升了自己的技能和知识水平。
希望在未来的学习和工作中,能够运用这些经验和技能,为我们的计算机科学之路增添更多的成就和贡献。
Linux环境下 C语言编程实验报告
西安邮电大学(计算机学院)课内实验报告实验名称: Linux环境下 C语言编程专业名称:网络工程班级:1203班学生姓名:学号(8位):指导教师:王亚刚实验日期:2014年12月3日一、实验目的(2)掌握gcc编译器使用方法。
(3)掌握gdb调试方法。
二、实验内容1.编辑测试源代码。
2. gcc编译测试源代码3. gdb调试和排错。
三、实验步骤1.编辑如下参考源代码,代码的原意为倒序输出main函数中定义的字符串#include <stdio.h>int display1(char *string);int display2(char *string);p iint main (){char string[] = "nnWelcom to Linux";display1 (string); display2 (string);}int display1 (char *string){printf ("The original string is %s \n", string);}int display2 (char *string1){char *string2;int size,i;size = strlen (string1);string2 = (char *) malloc (size + 1);for (i = 0; i < size; i++)string2[size - i] = string1[i];string2[size+1] = ' ';printf("The string afterward is %s\n",string2);}2.使用gcc将参考源代码编译为可执行文件。
3.运行可执行文件,观察运行结果并记录。
4.使用gdb调试程序,通过设置断点、单步跟踪,找出错误原因并记录。
Linux编程使用gcc编译C程序
Linux编程使⽤gcc编译C程序
Linux编程使⽤gcc编译C程序
上⾯介绍了gcc编译器进⾏C语⾔源代码编译时的⼀些基础知识,将以多个实例来介绍如何使⽤gcc编译器对C语⾔进⾏编译。
并介绍gcc编译器存在的错误类型及解决错误的基本⽅法。
1.使⽤gcc编译C语⾔代码
从上⾯介绍可以知道使⽤gcc编译器编译C语⾔代码时的命令为gcc,⾸先创建⼀个test.c⽂件,并在该⽂件中写⼊以下内容:
接下开打开终端窗⼝,进⼊到该⽂件所在⽬录,并输⼊下⾯的命令:
上述命令执⾏完毕后,会在该源⽂件所在⽬录下⽣成⼀个新⽂件,该⽂件名称为mytest,该⽂件就是编译过的可执⾏⽂件,在终端容器中再次输⼊以下命令:
该命令执⾏编译后的⽂件,源⽂件中程序运⾏结果在终端窗⼝中显⽰出来:
通过上⾯步骤可以看到使⽤gcc编译器的⼀般⽅法,下⾯再列举⼀例来熟悉
打开终端窗⼝使⽤下⾯的命令对该⽂件进⾏编译:。
操作系统编译实验报告
一、实验目的1. 了解操作系统的基本组成和编译过程;2. 掌握使用GCC编译器编译操作系统的基本步骤;3. 熟悉操作系统的启动过程;4. 培养动手实践能力和团队合作精神。
二、实验环境1. 操作系统:Linux2. 编译器:GCC3. 实验平台:虚拟机三、实验内容1. 操作系统基本组成2. 编译器使用3. 操作系统启动过程四、实验步骤1. 操作系统基本组成操作系统主要由以下几个部分组成:(1)引导程序(Bootloader):负责加载操作系统内核;(2)内核(Kernel):操作系统核心,负责管理计算机硬件资源;(3)系统调用接口(System Call Interface):用户程序与内核之间的接口;(4)用户程序(User Programs):提供用户与计算机交互的平台。
2. 编译器使用(1)安装GCC编译器:在Linux系统中,通常可以通过包管理器安装GCC编译器。
以Debian/Ubuntu为例,可以使用以下命令安装:sudo apt-get install build-essential(2)编写源代码:编写操作系统内核的源代码,保存为C语言文件,例如kernel.c。
(3)编译源代码:使用GCC编译器将源代码编译成可执行文件。
以kernel.c为例,编译命令如下:gcc -o kernel kernel.c3. 操作系统启动过程(1)引导程序:当计算机启动时,引导程序首先被加载到内存中。
引导程序负责查找操作系统内核的位置,并将其加载到内存中。
(2)内核初始化:内核被加载到内存后,开始执行初始化过程。
初始化过程包括内存管理、设备驱动程序加载等。
(3)系统调用接口:内核初始化完成后,系统调用接口被建立。
用户程序可以通过系统调用与内核进行交互。
(4)用户程序运行:用户程序被加载到内存中,开始执行。
用户程序可以通过系统调用请求内核提供的服务。
五、实验结果与分析1. 编译成功使用GCC编译器成功编译了操作系统内核源代码,生成了可执行文件。
linux下c程序的编写实验报告
linux下c程序的编写实验报告实验主题:在Linux下编写C程序的实验报告一、引言(150-200字)Linux是一种广泛应用的操作系统,具有高度开放性和灵活性,也是许多程序员首选的开发环境。
在Linux中,通过编写C程序可以实现各种应用和功能。
本实验旨在通过一步一步的说明和回答,介绍在Linux下编写C 程序的基本步骤和方法。
二、实验步骤(400-500字)1. 设置编程环境在Linux中编写C程序,首先需要安装相关的开发工具和编译器。
常用的编译器有gcc和clang,可以通过包管理器进行安装。
同时,也需要一个文本编辑器来编写C代码,比如vim或者emacs。
2. 编写Hello World程序Hello World程序是C语言学习的经典入门程序,它可以在屏幕上输出"Hello World"。
在文本编辑器中新建一个文件,命名为hello.c,然后在文件中输入以下代码:#include <stdio.h>int main() {printf("Hello World\n");return 0;}保存文件后,使用gcc编译器将该文件编译成可执行文件。
在终端中执行以下命令:gcc -o hello hello.c此时会生成一个名为hello的可执行文件。
通过执行该文件,可以在终端中看到输出结果"Hello World"。
3. 命令行参数和用户输入C程序可以接受命令行参数和用户输入,从而实现更复杂的功能。
在上一步编写的程序的基础上,我们尝试接收用户输入的姓名,并输出相应的问候语。
在hello.c文件中添加以下代码段:#include <stdio.h>int main(int argc, char *argv[]) {char name[100];printf("Please enter your name: ");scanf("s", name);printf("Hello, s!\n", name);return 0;}重新编译程序并执行,可以看到在终端中会提示用户输入姓名,并输出相应的问候语。
实验三_LINUX_下C语言使用、编译及调试实验
实验三:LINUX 下C语言使用、编译与调试实验一、目的:1、练习并掌握Linux提供的vi编辑器来编译C程序2、学会利用gcc、gdb编译、调试C程序3、学会使用make工具二、内容1、编写C语言程序,用gcc编译并观察编译后的结果,运行生成的可执行文件。
2、利用gdb调试程序。
3、学习编写makefile,并进行编译。
三、操作1、文件编辑器vi进入vi,直接执行vi编辑程序。
例:# vi test.c显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。
vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。
编辑完成后,使用者可决定是否要取代原来旧有的文件。
1) vi的工作模式(1)输入模式输入以下命令即可进入vi输入模式:a 在光标之后加入资料A 在该行之末加入资料i 在光标之前加入资料I 在该行之首加入资料o 新增一行于该行之下O 新增一行于该行之上(2)命令模式在输入模式下,按ESC可切换到命令模式。
命令模式下,可选用下列指令离开vi::q! 离开vi,并放弃刚在缓冲区内编辑的内容:wq 将缓冲区内的资料写入磁盘中,并离开viZZ 同wq:x 同wq:w 将缓冲区内的资料写入磁盘中,但并不离开vi:q 离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:w配合使用(3)命令模式下光标的移动h 左移一个字符j 下移一个字符k 上移一个字符l 右移一个字符0(零)移至该行的行首$ 移至该行的行尾^ 移至该行的第一个字符处H 移至窗口的第一行M 移至窗口中间那一行L 移至窗口的最后一行G 移至该文件的最后一行W, w 下一个单词(W 忽略符号)B, b 上一个单词(B 忽略符号)(4) 命令模式下的编辑命令dd 删除当前光标所在行yy 复制当前光标所在行p 将复制的内容粘贴在光标所在的位置后P 将复制的内容粘贴在光标所在的位置前x 删除当前光标字符X 删除当前光标之前字符u 撤消·重做2、GNU C编译器1) 使用gcc通常后跟一些选项和文件名来使用gcc编译器。
linux实验三makefile,linux内核编译生成makefile文件实验报告.doc
linux实验三makefile,linux内核编译⽣成makefile⽂件实验报告.doclinux内核编译⽣成makefile⽂件实验报告操作系统实验报告姓名: 学号:⼀、实验题⽬1.编译linux内核2.使⽤autoconf和automake⼯具为project⼯程⾃动⽣成Makefile,并测试3.在内核中添加⼀个模块⼆、实验⽬的1.了解⼀些命令提⽰符,也⾥了解⼀些linux系统的操作。
2.练习使⽤autoconf和automake⼯具⾃动⽣成Makefile,使同学们了解Makefile的⽣成原理,熟悉linux编程开发环境三、实验要求1使⽤静态库编译链接swap.c,同时使⽤动态库编译链接myadd.c。
可运⾏程序⽣成在src/main⽬录下。
2要求独⽴完成,按时提交四、设计思路和流程图(如:包括主要数据结构及其说明、测试数据的设计及测试结果分析)1.Makefile的流程图:2.内核的编译基本操作1.在ubuntu环境下获取内核源码2.解压内核源码⽤命令符:tar xvf linux-3.18.12.tar.xz3.配置内核特性:make allnoconfig4.编译内核:make5.安装内核:make install6.测试:cat/boot/grub/grub.conf7.重启系统:sudo reboot,看是否成功的安装上了内核8.详情及结构见附录3.⽣成makefile⽂件:1.⽤⽼师给的projec⾥的main.c函数。
2.需要使⽤automake和autoconf两个⼯具,所以⽤命令符:sudo apt-get install autoconf进⾏安装。
?autoscan.log和configure.scan,将configure.Scan改名为configure.ac,同时⽤gedit打开,打开后⽂件修改后的如下:# -*- Autoconf -*-# Process this file with autoconf to produce a configure script.AC_PREREQ([2.69])AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])AC_CONFIG_SRCDIR([main.c])AC_CONFIG_HEADERS([config.h])AM_INIT_AUTOMAKE(main,1.0)# Checks for programs.AC_PROG_CC# Checks for libraries.# Checks for header files.# Checks for typedefs, structures, and compiler characteristics.# Checks for library functions.AC_OUTPUT(Makefile)4.新建Makefile⽂件,如下:AUTOMAKE_OPTIONS=foreignbin_PROGRAMS=mainfirst_SOURCES=main.c5.运⾏命令aclocal命令成功之后,在⽬录下会产⽣aclocal.m4和autom4te.cache两个⽂件。
Linux下C语言程序的编译与调试实验报告
Linux下C语言程序的编译调试实验学院:电子信息工程学院专业:通信工程*名:***学号:********指导老师:周围老师完成时间:2013年6月3日一、实验目的1. 熟悉Linux下C语言编译调试环境。
2. 学会使用gcc编译C程序。
3. 学会使用gdb调试C程序。
二、实验内容1. 在Linux下,编写程序factorize.c,功能如下:输入一个int型整数,输出其因式分解结果。
2. 编译运行,生成可执行文件。
3. 用gdb调试该程序,找到错误并修改。
三、实验软件环境GCCGCC(GNU Compiler Collection,GNU编译器集合)是一套由GNU工程开发的支持多种编程语言的编译器。
GCC是自由软件发展过程中的著名例子,由自由软件基金会以GPL协议发布。
GCC是大多数类Unix操作系统(如Linux、BSD、Mac OS X等)的标准的编译器,GCC同样适用于微软的Windows。
GCC支持多种计算机体系芯片,如x86、ARM,并已移植到其他多种硬件平台。
GCC原名为GNU C编译器(GNU C Compiler),因为它原本只能处理C语言。
GCC很快地扩展,并支持处理C++。
后来又扩展能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go等。
GDBGDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。
或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。
所谓“寸有所长,尺有所短”就是这个道理。
一般来说,GDB主要帮助你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2、可让被调试的程序在你所指定的调置的断点处停住。
(断点可以是条件表达式)。
3、当程序被停住时,可以检查此时你的程序中所发生的事。
Linux实验报告2 VI编辑器的使用 11计科张慧
Linux实验报告一.实验目的学习使用vi编辑器建立、编辑、显示及加工处理文本二.实验环境VMware虚拟机、Ubuntu三.预备知识3.1 什么是vi编辑器Vi是一个全屏幕文本编辑器优点:具有文本编辑所需的所有功能,适用于各种版本的Unix/Linux,适用于各种类型的终端,使用灵活快捷.缺点:界面不太好看,按键命令太多.3.2 vi的使用基本上 vi 共分为三种模式,分别是“一般模式”、“编辑模式”和“命令模式”。
这三种模式的作用分别是:一般模式:以 vi 打开一个文档就直接进入一般模式(这是默认的模式)。
在这个模式中,你可以使用“上下左右”键来移动光标,可以使用“删除字符”或“删除整行”来处理文档内容,也可以使用“复制、粘贴”来处理文件数据。
编辑模式:在一般模式中可以进行删除、复制、粘贴等操作,但是却无法编辑文件内容!要按下“i, I, o, O, a, A, r, R”等任何一个字母后才会进入编辑模式。
通常在 Linux 中,按下这些按键时,在屏幕的左下方会出现“INSERT或 REPLACE”字样,此时才可以进行编辑。
而如果要回到一般模式时,则必须要按下“Esc”这个按键即可退出编辑模式。
命令模式:在一般模式当中,输入 : / ?三个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中,可以提供查找数据的操作。
读取、保存、大量替换字符、离开 vi 、显示行号等的操作是在此模式中完成的!四.实验内容4.1 进入和退出vi(1)输入vi进入单击回车键后显示如下界面(2)输入:q,退出vi4.2 使用vi编辑器进行编辑使用vi编辑器创建一个名为zhanghui的文件并且编辑如下内容,然后按ESC键退出编辑模式,按:wq保存退出查看刚才编辑的内容五.心得体会通过本次实验我学会了vi编辑器的使用,对vi编辑器有了一定了解,知道了vi是“Visual interface”的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。
实验三_LINUX的C语言编程
实验三_LINUX的C语言编程第一篇:实验三_LINUX的C语言编程实验三 LINUX的C语言编程要求:1、请查阅资料,掌握vi编辑器的基本使用,包括两种不同模式的区别,如何在两种模式之间切换,以及常用的编辑命令等;2、使用vi编写一个c程序,要求该程序通过命令行接收用户的输入,其输入参数为FreeBSD系统中的任意文本文件,接收输入后,c 程序读取该文件内容,并打印在屏幕上。
编辑好后,存为.c文件(如a.c),使用gcc编译该文件,运行结果文件。
3、详细记录学习的内容和实验的整个过程,包括用到的vi命令,c程序源代码,gcc命令,以及执行结果文件的命令等;4、对整个实验过程进行分析总结,给出详细步骤;一:vi编辑器的使用vi 的两种命令模式;Command(命令)模式,用于输入命令;Insert(插入)模式,用于插入文本;Visual(可视)模式,用于视化的的高亮并选定正文;Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。
当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;文件的保存和退出 :w 保存;:w filename 另存为filename; :wq!保存退出;:wq!filename 注:以filename为文件名保存后退出;:q!不保存退出;:x 应该是保存并退出,功能和:wq!相同光标移动j 向下移动一行; k 向上移动一行; h 向左移动一个字符; l 向右移动一个字符;插入模式(文本的插入)i 在光标之前插入; a 在光标之后插入;I 在光标所在行的行首插入; A 在光标所在行的行末插入;o 在光标所在的行的上面插入一行;O 在光标所在的行的下面插入一行;s 删除光标后的一个字符,然后进入插入模式; S 删除光标所在的行,然后进入插入模式;文本内容的删除操作 x 一个字符;#x 删除几个字符,#表示数字,比如3x; dw 删除一个单词;#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;dd 删除一行;#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;恢复修改及恢复删除操作; u 撤消修改或删除操作;查找/SEARCH 注:正向查找,按n键把光标移动到下一个符合条件的地方; ?SEARCH 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的替换:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH 单词,替换成REPLACE,并把所有SEARCH高亮显示;:%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;二:编写程序和编译程序先在home文件夹下建立test文件夹,用于自己的程序开发。
linux c语言 实验报告
linux c语言实验报告
《Linux C语言实验报告》
一、实验目的
本实验旨在通过使用Linux操作系统和C语言编程,掌握Linux环境下的C语
言编程技术,加深对Linux系统和C语言的理解和应用。
二、实验环境
本次实验使用的是Ubuntu操作系统,编程语言为C语言。
三、实验过程
1. 熟悉Linux环境:首先,我们需要熟悉Linux环境下的操作和命令,包括文件管理、编译和运行程序等。
2. 编写C语言程序:接着,我们编写了一些简单的C语言程序,包括输出
Hello World、计算器等功能。
3. 编译和运行程序:我们使用gcc编译器对编写的C语言程序进行编译,然后
在Linux环境下运行程序,观察程序的运行结果。
4. 调试程序:在程序运行过程中,我们发现了一些bug,通过调试程序来解决
这些问题,加深了对C语言的理解和掌握。
四、实验结果
通过本次实验,我们成功掌握了Linux环境下的C语言编程技术,能够熟练地
使用gcc编译器对C语言程序进行编译,并在Linux环境下运行程序。
同时,
我们也加深了对C语言的理解和应用,对程序的调试和优化有了更深入的认识。
五、实验总结
本次实验使我们对Linux操作系统和C语言编程有了更深入的了解,提高了我
们的编程能力和解决问题的能力。
同时,也为我们今后在Linux环境下进行软
件开发打下了良好的基础。
通过本次实验,我们不仅学到了很多知识,也提高了我们的动手能力和实际操
作能力。
我们相信,在今后的学习和工作中,这些知识和能力都会派上大用场。
实验一linux常用命令linux下c语言使用、编译与调试实验
实验一:Linux常用命令、C语言使用、编译与调试实验内容:1、熟悉LINUX用户界面及常规设置。
2、熟悉LINUX 的常用基本命令如ls、who、w、pwd、ps、pstree、top 等。
3、用vi 编写一个简单的、显示"Hello,World!"的C 程序,用cc 编译并观察编译后的结果4、利用cc 调试该程序5、运行生成的可执行文件。
要求:1、了解Linux的命令及使用格式。
2、练习并掌握LINUX 提供的vi 编辑器来编译C 程序3、学会利用gcc(cc)编译、调试C 程序主要仪器:装有Linux系统的微机实验步骤:一、Linux命令Linux文件的复制、删除和移动命令cp命令、mv命令Linux目录的创建与删除命令mkdir命令、rmdir 命令、cd 命令、pwd 命令、ls 命令Linux文本处理命令sort命令、uniq命令Linux备份与压缩命令tar命令、gzip命令、unzip命令Linux与用户有关的命令passwd命令、su命令Linux系统管理命令wall命令、write命令、mesg指令、free命令Linux磁盘管理df命令、du命令、dd命令、fdformat 命令、echo命令、cal命令、date命令clear命令二、Linux下C语言使用、编译与调试实验输入vi helloworld.c进入编辑器按i 进入插入模式输入#include<stdio.h>int main(){printf("HelloWorld!\n");}按esc 输入:wq后回车完成编辑输入gcc -o helloworld helloworld.c然后输入./helloworld可查看程序运行的结果。
实验结果:。
linux开发工具的使用gcc实验总结简短
linux开发工具的使用gcc实验总结简短在Linux开发中,GCC是一个广泛应用的编译器套件,为程序员提供了丰富的工具和功能,方便进行开发和调试。
本文将为大家总结一下使用GCC进行实验的经验与技巧。
一、安装GCC在开始使用GCC之前,首先需要安装GCC编译器。
在大多数Linux发行版中,GCC已经预安装,可以直接使用。
如果没有安装,可以通过包管理器进行安装,例如在Ubuntu上可以使用以下命令进行安装:```sudo apt-get install gcc```二、编写和编译源代码1. 创建源代码文件使用任意文本编辑器,创建一个以.c为扩展名的源代码文件,例如hello.c。
2. 编写源代码在源代码文件中,可以使用C语言来编写程序。
下面是一个简单的示例代码:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```3. 编译源代码打开终端,进入源代码所在的目录,使用以下命令进行编译:```gcc hello.c -o hello```其中,`hello.c`是源代码文件的名称,`hello`是生成的可执行文件的名称。
通过`-o`选项指定输出文件名。
三、运行和调试程序1. 运行程序编译成功后,可以直接运行生成的可执行文件。
在终端输入以下命令运行程序:```./hello```程序将会输出`Hello, World!`。
2. 调试程序GCC也提供了强大的调试功能,方便程序员进行调试和排错。
可以通过使用`-g`选项来编译生成带有调试信息的可执行文件:```gcc -g hello.c -o hello-debug```然后,可以使用`gdb`命令来启动调试器,并加载可执行文件进行调试:```gdb hello-debug```调试器提供了许多命令和功能,可以帮助你定位和修复代码中的问题。
Linux命令高级技巧使用gcc命令进行CC编译和链接
Linux命令高级技巧使用gcc命令进行CC编译和链接Linux命令高级技巧:使用gcc命令进行C/C++编译和链接在Linux系统中,gcc是一种非常强大和常用的编译器,可以用于编译和链接C/C++程序。
本文将介绍一些gcc命令的高级技巧,以帮助读者更有效地使用gcc进行编译和链接。
1. 检查gcc版本要使用gcc命令,首先需要确保gcc已经正确安装在系统中。
可以使用以下命令检查gcc版本:```gcc --version```该命令会显示gcc的版本信息,以确保安装的gcc版本符合要求。
2. 编译单个源文件使用gcc编译单个源文件非常简单,只需使用以下命令:```gcc -o output_filename source_filename```其中,output_filename是编译生成的可执行文件的名称,source_filename是需要编译的源文件的名称。
例如,要编译名为`hello.c`的源文件并生成可执行文件`hello`,可以使用以下命令:```gcc -o hello hello.c```编译成功后,可以通过运行`./hello`命令执行生成的可执行文件。
3. 编译多个源文件对于包含多个源文件的项目,需要将多个源文件一起编译。
下面是一个示例命令:```gcc -o output_filename source_file1 source_file2 ... source_fileN```在这个命令中,只需将所有需要编译的源文件按顺序列出即可。
例如,要编译名为`main.c`和`helper.c`的两个源文件并生成可执行文件`program`,可以使用以下命令:```gcc -o program main.c helper.c```4. 自动编译所有源文件如果项目中的源文件比较多,手动编译每个源文件将会非常繁琐。
可以使用Makefile文件来自动编译所有源文件。
以下是一个简单的Makefile示例:```CC=gccCFLAGS=-call: programprogram: main.o helper.o$(CC) main.o helper.o -o programmain.o: main.c$(CC) $(CFLAGS) main.chelper.o: helper.c$(CC) $(CFLAGS) helper.cclean:rm -rf *.o program```在这个Makefile中,`CC`变量指定了编译器,`CFLAGS`变量指定了编译选项。
linux下的c语言编程实验报告
linux下的c语言编程实验报告Linux下的C语言编程实验报告一、引言C语言是一种广泛应用于系统软件和应用软件开发的编程语言,而Linux是一个非常流行的操作系统,因其开源和稳定性而被广泛使用。
本实验报告旨在介绍在Linux平台下进行C语言编程的实验过程和结果。
二、实验目的本实验的主要目的是通过在Linux操作系统上进行C语言编程实验,提高学生对C语言的理解和运用能力。
具体目标如下:1. 熟悉Linux环境下的C语言编程工具和开发环境;2. 掌握C语言的基本语法和常用函数;3. 理解C语言程序的运行原理和调试技巧;4. 学会使用C语言编写简单的程序解决实际问题。
三、实验过程1. 实验环境准备在开始实验之前,需要准备好以下环境:- 一台安装有Linux操作系统的计算机;- 一个文本编辑器,如Vim或Gedit,用于编写C语言程序;- GCC编译器,用于编译和运行C语言程序。
2. 实验步骤本实验主要包括以下几个步骤:- 编写C语言程序:根据实验要求,使用文本编辑器编写C语言程序,实现特定的功能;- 编译程序:使用GCC编译器将C语言程序编译成可执行文件;- 运行程序:在Linux终端中运行编译生成的可执行文件,验证程序的正确性;- 调试程序:如果程序存在错误或异常,使用调试工具如GDB进行调试,找出并修复问题;- 总结实验结果:根据实验结果总结和分析实验过程中遇到的问题和解决方法,得出结论。
四、实验结果根据实验要求,我们编写了一系列C语言程序,并在Linux环境下进行了测试。
以下是实验结果的一些例子:1. 实验一:编写一个程序,输出“Hello, World!”。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 实验二:编写一个程序,计算并输出两个整数的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个数的和为:%d\n", sum);return 0;}```3. 实验三:编写一个程序,判断一个整数是否为偶数。
实验3使用gcc编译器(答案)
实验3使⽤gcc编译器(答案)实验三使⽤gcc编译器⼀.实验⽬的1、巩固vi的使⽤。
2、练习⽤Linux下gcc编译器运⾏c或c++程序。
3、练习编写简单的c或c++程序。
⼆.实验内容⽤vi建⽴c++程序后,学习使⽤gcc编译器编译执⾏(命令格式详见实验指导书P100),查看结果。
1. helloworld程序。
2. 判断⼀个年份是平年还是闰年。
3. 打印九九乘法表。
三.实验步骤1、登陆Linux系统。
2、使⽤vi编写helloworld.cpp程序,保存。
程序代码如下:using namespace std;#includeint main(){cout<<”hello,world!\n”;return 0;}3、利⽤g++ helloworld.cpp指令编译执⾏。
(如果没有任何输出提⽰,恭喜你,编译执⾏成功。
否则,会提⽰出错信息,请检查语法并修改。
)4、在命令⾏输⼊ ./a.out 查看结果。
5、设计⼀个程序,由⽤户输⼊⼀个年份,程序判断是平年还是闰年,输出结果。
将你的代码以及做为测试数据的输⼊输出写出来。
(⼀个年份是闰年的条件为:如果该年份不能被100整除,但能被4整除,则是闰年。
或者该年份能被400整除,则也是闰年。
例如:1992年是闰年,2000年是闰年,1990年是平年,1900年是平年。
)#includemain(){ int year,flag;printf("Input year:");scanf("%d",&year);if(year%400==0)flag=1;else if (year%4!=0)flag=0;else if (year%100!=0)flag=1;elseflag=0;if (flag==1)printf("闰年\n");elseprintf("平年\n");}6、设计⼀个程序,打印99乘法表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux实验报告
一.实验目的
1.掌握Linux环境下的基本操作命令。
2.使用gcc编写简单的C程序,编译运行和调试。
二.实验环境
VMware虚拟机、Ubuntu
三.预备知识
gcc的一些重要参数
1. -I 指定头文件搜索路径(I 表include)
如 $gcc -c hello.c -o hello.o -I/usr/include
.-L 指定要连接的库所在的目录 -l 指定要连接的库的名字
如$gcc main.o -L/usr/lib -lqt -o hello
3. -D 定义宏(D-define)
-D定义宏有两种情况,一种是-DMACRO 相当于程序中使用#define MACRO 另外可以-DMACRO=A 相当于程序中使用#define MACRO A 这只是一个编绎参数,在连接时没有意义.
如: $gcc -c hello.c -o hello.o –DDEBUG
4. -g 生成调试信息
-g生成调试信息,这对使用gdb进行调试是必须的。
带有调试信息的文件要比普通文件要大,但不影响运行,可以用strip命令除于其中的调试信息
5. -c指于gcc只进行编绎,不连接
6. -ansi 指示gcc只支持ansi c标准语法
7. -o 指定输出文件名
8. -O 指定优化处理
-O0不优化 -O1或-O 一级优化 -O2 二级优化...-O3,-O4级别越高,,代码越优,编绎时间越长。
9. -m486 针对特定的目标计算机进行优化,默认是386
10. -w 关闭编译器警告信息
四.实验内容
使用gcc创建一个简单的程序,使程序输出语句“my name is zhanghui”.
五.实验步骤
5.1 创建zhanghui.c的文件
5.2 编辑如下内容,然后保存退出:
#include<stdio.h>
main()
{
printf(“my name is zhanghui”);
}
4.2 创建成功后编译zhanghui.c
4.3执行a.out,得到结果如下:
五.心得体会
通过本次实验我更加熟悉vi编辑器的使用了,能熟练使用一些操作指令,可以在linux操作平台上编写一段C语言小代码,实现对其的输出。
在使用过程中会出现一些小问题,但是请教同学后,能及时认识到自己的错误,改正后能顺利得到运行结果。
知道使用gcc编写一段小程序并不难,只要细心仔细,都可以学会使用。