找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2195|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:115737 發(fā)表于 2016-4-21 17:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
2012 級(jí)嵌入式上考試參考程序之一
/*注:部分程序代碼來自于互聯(lián)網(wǎng),本人將此整理,僅用于學(xué)習(xí)交流,請(qǐng)下載之后于 24 小時(shí)內(nèi)刪除詳見附件*/
/*實(shí)驗(yàn)內(nèi)容:
(1) 設(shè)計(jì)一個(gè)具有一個(gè)整形參數(shù)的子函數(shù),取出參數(shù)的低 16 位并且把低 8 位置一,將結(jié)果返回;
(2) f2.c:設(shè)計(jì)一個(gè)具有兩個(gè)參數(shù)的 子函數(shù),子函數(shù)將 2 參數(shù)值互換;
(3)實(shí)現(xiàn)主函數(shù),主函數(shù)中創(chuàng)建 2 個(gè)進(jìn)程,進(jìn)程 1 定義一個(gè)整形變量,調(diào)用文件 f1 中定義的函數(shù)求取結(jié)果并將結(jié)果和進(jìn)程 ID 輸出;進(jìn)程 2 定義 2 個(gè)整形變量,調(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)成
編譯時(shí)圖片
后續(xù)還會(huì)再上傳,僅供參考。

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

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

嵌入式程序

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表