重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
假如,main()中正在调用A()函数.在此期间,有一中断,在中断服务程序中还要调用A().
创新互联公司从2013年创立,是专业互联网技术服务公司,拥有项目成都网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元海西做网站,已为上家服务,为海西各地企业和个人服务,联系电话:13518219792
如果这个A()可以被调用就算是可重入
反之算不可重入.
可重入与不可重入的区别在这个函数的内容是否会相互冲突...例如A()中有个静态变量...就不可以..
#includestdio.h
#includestdlib.h
void main(void)
{
int a;
printf("please input a number (1-100)\n");
while(1)
{
scanf("%d",a);
{
if(a=60)
{
printf("not pass!please try more hard!\n"); /*希望小小于60时重新开始,大于60通过*/
continue;
}
if(a60)
{
printf("Pass!");
return EXIT_SUCCESS;
}
}
}
system("pause");
}
可以使用全局变量、静态变量。关键是不是“只读”。如果只读,那怎么用都行。如果有写的操作,最好避开,实在避不开就要用信号量等机制防止多线程冲突。
另外就是调用的函数要线程安全, thread-safe.具体那些函数线程安全,需要查阅手册。