找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1780|回复: 0
打印 上一主题 下一主题
收起左侧

嵌入式上机考试题之一

[复制链接]
跳转到指定楼层
楼主
ID:115737 发表于 2016-4-21 17:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2012 级嵌入式上考试参考程序之一
/*注:部分程序代码来自于互联网,本人将此整理,仅用于学习交流,请下载之后于 24 小时内删除详见附件*/
/*实验内容:
(1) 设计一个具有一个整形参数的子函数,取出参数的低 16 位并且把低 8 位置一,将结果返回;
(2) f2.c:设计一个具有两个参数的 子函数,子函数将 2 参数值互换;
(3)实现主函数,主函数中创建 2 个进程,进程 1 定义一个整形变量,调用文件 f1 中定义的函数求取结果并将结果和进程 ID 输出;进程 2 定义 2 个整形变量,调用文件 f2 中定义的函数将两变量的值进行互换并将结果和进程 ID 输出;*/
//主函数 maain.c
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/wait.h>
#include"f1.h"
#include"f2.h"
int main(int argc ,char**argv)
{
unsigned int FinalNumber,p=0xffff5689;
unsigned int p1 = 30,p2 = 50;
char i = 0;
char pid;
pid = fork();
if(pid == -1)
{
printf("Fork error\n");
}
else if(pid == 0)
{
FinalNumber = NumberExtract(p);
printf("before extract the number is %x \n" ,p);
printf("after extract the numberis %x \n",FinalNumber);
printf("I am child1 process ,my pid is %d.\n",getpid());
}
else
{
printf("I'm father process,my ppid is %d.\n ",getppid());
pid = fork();
if(pid == 0)
{
printf("I am child2 process ,my pid is %d.\n",getpid());
printf("before exchange The Number p1,p2 is %d,%d.\n",p1,p2);
ExchangeNumber(&p1,&p2);
printf("after exchange The Number p1,p2 is %d,%d.\n",p1,p2);
}
}
}
//子函数 f1.c
#include<stdio.h>
#include<stdlib.h>
#include"f1.h"
unsigned int NumberExtract(unsigned int parg)
{
unsigned int FinalValue;
FinalValue=(parg&0x0000ffff)|0x00ff;
return FinalValue;
}
//头文件 f1.h
unsigned int NumberExtract(unsigned int parg);
//子函数 f2.c
#include<stdio.h>
#include<stdlib.h>
#include"f2.h"
void ExchangeNumber(unsigned int*parg1,unsigned
int*parg2)
{
unsigned int parg;
parg = *parg1;
*parg1 = *parg2;
*parg2 = parg;
}
//头文件 f2.h
void ExchangeNumber(unsigned int*parg1,unsigned
int*parg2);
Makefile
Love: maain.o f1.o f2.o
gcc -o Love maain.o f1.o f2.o
maain.o: maain.c f1.h f2.h
gcc -c maain.c
f1.o: f1.c f1.h
gcc -c f1.c
f2.o: f2.c f2.h
文件夹具体文件构成
编译时图片
后续还会再上传,仅供参考。

嵌入式上机考试题之一.zip

260.84 KB, 下载次数: 2, 下载积分: 黑币 -5

嵌入式程序

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表