重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

C语言重入函数 c语言可重入函数列表

什么是C语言的可重入函数?怎么使用?

1、可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。

成都创新互联专注于桃城企业网站建设,成都响应式网站建设,成都做商城网站。桃城网站建设公司,为桃城等地区提供建站服务。全流程按需设计网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

2、可重入性是函数编程语言的关键特性之一。 例子在以下的C语言代码中,函数f和函数g都不是可重入的。

3、可重入函数可以被一个以上的任务调用,而不必担心数据被破坏。可重入函数任何时候都可以被中断,一段时间后又可以运行,而应用数据不会丢失。

4、重入函数,又叫再入函数,是一种可以在函数体内不直接或间接调用其自身的一种函数。再入函数可被递归调用,无论何时,包括中断函数在内的任何函数都可以调入。再入函数在 C51编译时使用的是模拟栈。

5、可以使用全局变量、静态变量。关键是不是“只读”。如果只读,那怎么用都行。如果有写的操作,最好避开,实在避不开就要用信号量等机制防止多线程冲突。

6、可重入就是,一个函数没有执行完成,由于外部因素或内部调用,又一次进入该函数执行。可重入代码,必须保证资源的互不影响的使用,比如全局变量,系统资源等。

c语言如何重新开始主函数,我是初学者。

初学者,可以试着这样做:首先,把很长的主函数划分成几个子程序,分的生硬一点也没关系。然后,试着给每个子程序起一个名字,尽量做到名符其实。

主函数既是程序的入口,又是程序的出口,通常我们还可以指定一个exit code再退出,以表明程序最后的结果是什么样的。

到函数结束后自动返回主函数;如果是在函数中间某个分支处需要直接退出函数返回到主函数,则可以添加return;语句行,程序执行到这一语句后,就会立即返回到主函数。当然也可以通过让分支跳转到函数末尾的地方来返回主函数。

而void main()的返回值是void类型,也就是说没有返回值。这样在main()的函数体内你就不用写return 0;或者return 1;之类的返回语句。

C语言可重入函数应该注意哪些事项

如果只读,那怎么用都行。如果有写的操作,最好避开,实在避不开就要用信号量等机制防止多线程冲突。另外就是调用的函数要线程安全, thread-safe.具体那些函数线程安全,需要查阅手册。

可以使用全局变量、静态变量。关键是不是“只读”。如果只读,那怎么用都行。如果有写的操作,最好避开,实在避不开就要用信号量等机制防止多线程冲突。

1) 不要使用全局变量。因为别的代码很可能覆盖这些变量值。2) 在和硬件发生交互的时候,切记执行类似disinterrupt()之类的操作,就是关闭硬件中断。完成交互记得打开中断,在有些系列上,这叫做“进入/退出核心”。

赋值调用与引用调用 一般说来,有两种方法可以把参数传递给函数。第一种叫做“赋值调用”(call by value),这种方法是把参数的值复制到函数的形式参数中。这样,函数中的形式参数的任何变化不会影响到调用时所使用的变量。

从字面上的意思就是,可以重复进入。可重入是在多任务系统下的概念,意思是这个函数可以在运行到任意位置的时候被中断去执行其他任务,并且返回的时候不会出现任何错误。为什么在多任务的时候才有这种概念。

其实很简单,只要遵守了几条很容易理解的规则,那么写出来的函数就是可重入的。第一,不要使用全局变量。因为别的代码很可能覆盖这些变量值。


分享文章:C语言重入函数 c语言可重入函数列表
本文来源:http://cqcxhl.cn/article/dsjshpg.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP