绝不调用任何不可重入函数。
定义了可重入*,并包含一个可重入函数的POSIX清单。
可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。
即使是不可重入函数这种非常冷僻的主题,也给予了足够的重视。
注意,这里遵循了标准惯例,通过向函数名添加“_ r”后缀来命名可重入函数。
我将提出一个在编译器层次处理可重入函数的模型。
可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。
确保准则3得到满足,要求编译器预先知道所有可重入函数,包括应用程序所使用的程序库。
绝不调用任何不可重入函数。
定义了可重入*,并包含一个可重入函数的POSIX清单。
可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。
即使是不可重入函数这种非常冷僻的主题,也给予了足够的重视。
注意,这里遵循了标准惯例,通过向函数名添加“_ r”后缀来命名可重入函数。
我将提出一个在编译器层次处理可重入函数的模型。
可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。
确保准则3得到满足,要求编译器预先知道所有可重入函数,包括应用程序所使用的程序库。