C语言中如何调用子程序

C语言中如何调用子程序,第1张

例:

#include<stdio.h>

intsushu(intx)

{inti

for(i=2i<xi++)

if(x%i==0)break

if(i==x)return1

elsereturn0

}

main()

{inti,n=0

for(i=2i<=1000i++)

if(sushu(i)==1)n++:

printf("n=%d",n)

}

扩展旦漏资料

使用vfork()新建子进程,然后调用exec函数族

#include<弯迟散unistd.h>

main()

{

char*argv[]={“ls”,”-al”,”/etc/passwd”埋氏,(char*)}

if(vfork()==0)

{

execv(“/bin/ls”,argv)

}else{

printf(“Thisistheparentprocess\n”)

}

}

用CALL调用子程序和用中断调用子程序区别为:发生时间不同、关系不同、系统不同。乱肢

一、发生时间不同

1、用CALL调用子程序:在主程序的调用指令(CALL)执行时发生主程序调用子程序过程,调用指令所在位置是已知的和固定的。

2、用中断调用子程序:中断过程发生的时间一般是随机的,CPU在执行某一主程序时受到中断源提出的中断申请,就发生中断过程。

二、关系不同

1、用CALL调用子程序:子程序完全为主程序服务,两者属于主从关系。主程物激序需要子程序时就去调用子程序,并把调用结果带回主程序继续执行。

2、用中断调用子程序:中断服务程序与子程序二者一般是无关的,两者是平行关系。

三、系统不同

1、用CALL调用子程序:主程序调用子程序的过程完全属于软件处理过程,不需要专门的硬件电路。

2、用中断调用子程序:中断处理系统是一个软、硬件结合的系统,需要专门的硬件电路才能完成中断处理的过程。哗蚂世


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12389916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存