嵌入式C语言开发技解读
目 录
实验一 Linux编程环境实验(4学时)1
实验二 循环程序设计(2学时)4
实验三 分支程序设计(2学时)5
实验四 函数实验(2学时)6
实验五 指针实验(2学时)7
实验六 Linux常见数据结构实验(2学时)8
实验七 文件读写实验(2学时)9
实验八 多线程实验(2学时)10
实验九 网络编程实验(2学时)11
实验十 Linux应用程序的编写(4学时)12
实验一 Linux编程环境实验(4学时)
实验目的:
掌握Linux操作系统的基本命令,能对文件、文件夹进行相应的操作;
熟练掌握Linux下编辑器的使用;
学会使用编译器GCC对源程序进行编译;
掌握调试程序GDB的使用以及调试过程;
实验内容:
Linux常用命令;
以root账号登陆Linux系统,创建新用户:student
更改该用户密码为:123456
切换到student账户
查看用户主目录(/home/student)下的目录、文件信息
创建新目录/home/student/source
查看source的属性,并重新设置其权限为777
查看/usr/include目录下所有后缀为.h的文件,并将它们都复制到/home/student/souce目录下
在用户主目录下创建新目录destination,并设置其权限为777
将source目录下的文件都移动到destination目录下
删除destination目录下的所有文件
用man命令查看rename的使用手册(还有哪些方法可以获得命令帮助?)
重命名source目录为haha
删除haha目录和destination目录
Vi编辑器的使用;
熟练完成vimtutor中的练习;(写完成以后的体会,字数不限!)
GCC编译器的使用;
用gcc带不同参数编译下列C程序,并观察每次的运行结果。
#include
int main(void)
{
printf(“hello linux!\n”);
return 0;
}
用编辑器创建main.c, compute.c, input.c, compute.h, input.h和main.h文件。下面是它们的内容。注意compute.h和input.h文件仅包含了compute和input函数的声明但是没有定义。定义部分在compute.c和input.c文件中。main.c包含的是两条显示给用户的提示信息。
$cat compute.h
/*compute函数的声明原形*/
double compute(double, double);
$cat input.h
/*input 函数的声明原形*/
double input(char *);
$cat main.h
/*声明用户提示*/
#define PROMPT1 "请输入x的值:"
#define PROMPT2 "请输入y的值:"
$cat compute.c
#include
#include
#include "compute.h"
double compute(double x, double y)
{
return(pow((double)x, (double)y));
}
$cat input.c
#include
#include "input.h"
double input(char *s)
{
float x;
printf("%s", s);
scanf("%f", &x);
return(x);
}
$cat main.c
#include
#include "main.h"
#include "compute.h"
#include "input.h"
int main(void)
{
double x, y;
printf("本程序从标准输入获取x和y的值并显示x的y次方.\n");
x = input(PROMPT1);
y = input(PROMPT2);
printf("x的y次方是:%6.3f\n", compute(x, y));
retun 0;
}
创建上述三个源文件和相应的头文件,用gcc编译器,生成power可执行文件,并运行power程序。给出完成上述工作的步骤和程序运行结果。注意:在生成可执行代码时不要忘了链接上数学库。
创建makefile文件,使用make命令,生成power可执行文件,并运行power程序。给出完成上述工作的步骤和程序运行结果。
GDB调试器的使用;
使用GDB调试器调试上述程序,给出调试的步骤。
make