標(biāo)題: 嵌入式上機(jī)考試題之一 [打印本頁]

作者: angel_9331    時間: 2016-4-21 17:28
標(biāo)題: 嵌入式上機(jī)考試題之一
2012 級嵌入式上考試參考程序之一
/*注:部分程序代碼來自于互聯(lián)網(wǎng),本人將此整理,僅用于學(xué)習(xí)交流,請下載之后于 24 小時內(nèi)刪除詳見附件*/
/*實驗內(nèi)容:
(1) 設(shè)計一個具有一個整形參數(shù)的子函數(shù),取出參數(shù)的低 16 位并且把低 8 位置一,將結(jié)果返回;
(2) f2.c:設(shè)計一個具有兩個參數(shù)的 子函數(shù),子函數(shù)將 2 參數(shù)值互換;
(3)實現(xiàn)主函數(shù),主函數(shù)中創(chuàng)建 2 個進(jìn)程,進(jìn)程 1 定義一個整形變量,調(diào)用文件 f1 中定義的函數(shù)求取結(jié)果并將結(jié)果和進(jìn)程 ID 輸出;進(jìn)程 2 定義 2 個整形變量,調(diào)用文件 f2 中定義的函數(shù)將兩變量的值進(jìn)行互換并將結(jié)果和進(jìn)程 ID 輸出;*/
//主函數(shù) 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);
}
}
}
//子函數(shù) 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);
//子函數(shù) 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
文件夾具體文件構(gòu)成
編譯時圖片
后續(xù)還會再上傳,僅供參考。

嵌入式上機(jī)考試題之一.zip

260.84 KB, 下載次數(shù): 2, 下載積分: 黑幣 -5

嵌入式程序






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1