C언어 소스 분석(플로차트 및 수행 순서) 좀 부탁합니다.
#include
#include
#include
#include
#include
#include
int sum;
main()
{
int i,x,n,*ptr1,*ptr2,lock,unlocked;
int nproc.id.temp.process-fork();
char *sshared();
scanf("%d %d", &x,&n);
sum=0;
temp=1;
ptr1=(int *)sshared(4,&sum);
ptr2=(int *)sshared(4,&lock);
nproc=n+1;
spin=lock-init(ptr2,&unlocked);
id=process-for(&nproc);
if(id!=0)
for(i=1; i<=id; i++)
temp=temp*x;
else temp=1;
printf("\n\n\n ID NUMBER : %2d PARTIAL RESULT : %7d\n",id,temp);
spin-lock(ptr2);
printf(" ID NUMBER : %2d PARTIAL SUM : %7d\n",id,*ptr1);
spin-lock(ptr2);
process-join(&nproc,&id);
cleanup-memory(&sum);
cleanup-memory(&lock);
printf("\n\n\n n n-1 n-2 2\n");
printf(" F(X) = X + X +X +...+X +X +1\n\n\n");
printf("\n\n\n **** THE RESULT ****\n\n");
printf(" X = %d n = %d\n\n",x,n);
printf(" f(x) = %d\n",*ptr1");
}
int process-fork(cproc)
int *nproc;
{
int j;
for(j=1; j<=(*nproc)-1; j++)
if(fork()==0)
return(j);
return(0);
}
process-join(nproc,id)
int *nproc, *id;
{
int i;
if(*id==0)
for(i=1; i<=(*nproc)-1; i++)
wait(0);
else exit(0);
}
char *sshared(size,shmid)
int size,*shmid;
{
char *shmat(), *ptr;
*shmid=shmget(IPC_PRIVATE,size,0666|IPC_CHEAT);
ptr=shmat(*shmid,0,0);
return(ptr);
}
cleanup-memory(shmid)
int *shmid
{
struct shmid_ds *buf;
shmctl(*shmid,IPC_RMID,buf);
}
spin-lock(lok)
int *lok;
{
struct sembuf operation;
operation.sem-sum=0;
operation.sem-op=(-1);
operation.sem-flg=0;
semop(*lok,operations,1);
}
spin-unlock(lok)
int *lok;
{
struct sembuf operation;
operation.sem-sum=0;
operation.sem-op=1;
operation.sem-sum-flg=0;
semop(*lok,operations,1);
}
다항식 계산하는거 같은데 이걸 플로 차트로 만든다면 어떤 게 해야 하나요? 그러니깐 이 프로그램이 어떻게 돌아가는지를 알고 싶습니다.
뭐하는
뭐하는 소스인가요?
아무 목적없이 일단 분석이 필요하신 건지...?
--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
너무 날로 드실려고 하는군요 ㅠㅠ
---------------------------------------------
svn + trac + my project --> success ???
---------------------------------------------
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------
너무 하시네;;
완(전)소(용없는)녀
호출하는 함수 구현부가 몇 개 없는 것 빼고는
특별히 어려운 코드도 없고만 별것도 아닌 걸 주석이나 달아달라는 말씀이신건지;;;;;
완(전)소(용없는)녀
남잔지 여잔지
남잔지 여잔지 모르니
완(전)소(용없는)녀(석) 이 될지도?? 아닌가.. =33
ㅎㅎㅎ
완(전)소(용없는)녀
공대생 중에 남,녀가 어디있으며 개발자 중에 남,녀가 어디있겠습니까.
염색체는 XX인 것 같고 이력서에도 M보다는 F에 항상 동그라미를 치지만 저는 그냥 공대생일 따름입니다
근데 완(전)소(용없는)녀(석)이 어감이 더 좋은데요 으흐흐
완(전)소(용없는)녀
아무래도 과제를 해
아무래도 과제를 해 달라는 거겠죠
검색해서 소스는 찾았는데 주석이 없어서 달아야겠다 정도?
대단하는 말밖에...
얻어걸리길 바라는 건지...
너무 뜬금없는 부탁인듯...
Hello World.
아무튼... 플로
아무튼...
플로 차트로 만들고 싶으시면 main()의 첫 줄부터 하나씩 해석하면서 뭔 명령을 수행하는지 보면 되겠죠.
뜬금없는 함수가 나오면 밑에 구현된 데서 찾아서 해석하고 오면 됩니다.
--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
모두들 사랑해요
답변 잘~~~~~~~~~~~~들었습니다.
모두들 감~~~~~~~~~~~~~~~사합니다. ^^
땡큐
GNU cflow
http://www.gnu.org/software/cflow/
OK?
임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
병렬처리 소스같네요
얼핏 보기에 병렬처리를 구현한 것 같습니다.
플로우 차트로 파악하긴 힘들겠네요.
===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================
===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================
댓글 달기