我的问题主要涉及第四节第六段.
这两种符合实施形式是托管和独立的.符合要求的托管实现应接受任何严格符合的程序.
据我所知,这构成了典型的应用程序环境,包括文件系统,分配内存和线程......
一个符合独立实现应接受任何严格符合程序,其中使用的库条款(第7节)中指定的功能被限制在标准报头的内容
<float.h>,<iso646.h>,<limits.h>,<stdalign.h>,<stdarg.h>,<stdbool.h>,<stddef.h>,<stdint.h>,和<stdnoreturn.h>.
......这构成了典型的内核和/或嵌入式最小环境,它没有标准文件系统,分配内存或线程(以及其他内容).
符合实现的实现可能具有扩展(包括附加库函数),前提是它们不会改变任何严格符合程序的行为.
似乎这给托管实现自由地称自己为托管或独立实现,当涉及到文件系统,分配内存或线程(以及其他内容)时,这些可以属于扩展类别,因此它只能实现每次都返回一个指示错误的值的接口.仅举几个:
fopen,fgets并且malloc可以返回NULLfprintf,fscanf,fputc并且fgetc可以返回EOFthrd_create可以返回thrd_error(表示"请求无法兑现")这意味着区分第四节第六段给出的内容实际上毫无意义.是否有任何要求保证托管和独立实施中这些功能的某些实际功能级别?例如,是否要求上述函数实际上能够返回除相应故障值之外的其他函数?