大家好,我是Pat Brenner,Visual C++图书馆团队的开发者。在这篇博文中,我想分享一些关于在VisualStudio2013中添加到C运行时库的C99支持的信息。
null
总之,我们在以下头文件中添加了缺失函数的声明和实现:math.h、ctype.h、wctype.h、stdio.h、stdlib.h和wchar.h。我们还添加了新的头文件complex.h、stdbool.h、fenv.h和inttypes.h,并为其中声明的所有函数添加了实现。此外,我们还添加了新的C++包装头(CCOMPUCTION,CFENV,CITNETMYS,CTGMICE),并更新了一些其他的(CCOMPUCTE,CCDYPE,CLALAL,CMADIST,CSSTDIN,CSSTDIO,CSTRON,CWCHAR,CWCYPE)。
大部分工作(所有的C标题,除了STDBOOL。H和FEVV。H)都是为VisualStudio 2013预览版本及时完成的,并且可以使用它,但是剩余的(StdBoo.h,Funv.h和C++包装头)已经为VisualStudio 2013 RTM完成了,并且将在该版本中可用。
更详细地说,这些是我们添加的声明和实现,按声明它们的头分组:
- 数学h:
- floatu t、doubleu t、fpclassify、isfinite、isinf、isnan、isnormal、signbit
- 巨大的,巨大的,无限的,南,数学错误,数学错误
- FP_无穷大、FP_NAN、FP_NORMAL、FP_次正规、FP_ZERO、FP_ILOGB0、FP_ILOGBNAN
- 阿科什,阿科什,阿科什,阿辛哈,阿辛哈,阿辛哈,阿坦哈,阿坦哈,阿坦哈
- exp2、exp2f、exp2l、expm1、expm1f、expm1l
- ilogb、ilogbf、ilogbl、logb、logbf、logbl、log1p、log1pf、log1pl、log2、log2f、log2l
- scalbn,scalbnf,scalbnl,scalbln,scalbln,scalbnl
- cbrt、cbrtf、cbrtl、erf、erff、erfl、erfc、erfcf、erfcl
- lgama,lgamaf,lgamal,tgama,tgamaf,tgamal
- 近景,近景,近景,近景,南景,南景,南景
- rint,rintf,rintl,lrint,lrintf,lrintl,llrint,llrintf,llrintl
- 圆的,圆的,圆的,L圆的,L圆的,L圆的,L圆的,L圆的,L圆的,L圆的,L圆的
- trunc,truncf,truncl,余数,余数,余数,remquo,remquof,remquol
- 下一个,下一个,下一个,下一个,下一个,下一个,下一个
- fdim、fdimf、fdiml、fmax、fmaxf、fmaxl、fmin、fminf、fminl、fma、fmaf、fmal
- 复杂h:
- 可可豆,可可豆,可可豆,赌场,赌场,赌场,卡坦,卡坦夫,卡坦
- ccos、ccosf、ccosl、csin、csinf、csinl、ctan、ctanf、ctanl
- cacosh,cacoshf,cacoshl,casish,casinhf,casinhl,catanh,catanhf,catanhl
- ccosh,ccoshf,ccoshl,csinh,csinhf,csinhl,ctanh,ctanhf,ctanhl
- cexp、cexpf、cexpl、clog、clogf、clogl、cabs、cabsf、cabsl
- cpow、cpowf、cpowl、csqrt、csqrtf、csqrtl、carg、cargf、cargl
- cimag、cimagf、cimagl、conj、conjf、conjl、cproj、cprojf、cprojl、creal、crealf、creall
- 芬夫·h:
- fegetenv,fesetenv,feupdateenv,fegetexceptflag,fesetexceptflag
- feclearexcept,feholdexcept,fetestexcept,feraiseexcept
- inttypes.h:
- PRIi8、PRIi16、PRIi32、PRIi64、PRIiMAX、PRIiPTR、PRIIEAST8、PRIIEAST16、PRIIEAST32、PRIIEAST64、PRIiFAST8、PRIiFAST16、PRIiFAST32、PRIiFAST64
- PRIo8、PRIo16、PRIo32、PRIo64、PRIoMAX、PRIoPTR、PRIoLEAST8、PRIoLEAST16、PRIoLEAST32、PRIoLEAST64、PROFAST8、PROFAST16、PROFAST32、PROFAST64
- PRIu8、PRIu16、PRIu32、PRIu64、PRIuMAX、PRIuPTR、PRIuLEAST8、PRIuLEAST16、PRIuLEAST32、PRIuLEAST64、PRIuFAST8、PRIuFAST16、PRIuFAST32、PRIuFAST64
- PRIx8、PRIx16、PRIx32、PRIx64、PRIxMAX、PRIxPTR、PRIxLEAST8、PRIxLEAST16、PRIxLEAST32、PRIxLEAST64、PRIxFAST8、PRIxFAST16、PRIxFAST32、PRIxFAST64
- PRIX8、PRIX16、PRIX32、PRIX64、PRIXMAX、PRIXPTR、PRIXLEAST8、PRIXLEAST16、PRIXLEAST32、PRIXLEAST64、PRIXFAST8、PRIXFAST16、PRIXFAST32、PRIXFAST64
- SCNd8、SCNd16、SCNd32、SCNd64、SCNdMAX、SCNdPTR、SCNdLEAST8、SCNdLEAST16、SCNdLEAST32、SCNdLEAST64、SCNdFAST8、SCNdFAST16、SCNdFAST32、SCNdFAST64
- SCNi8、SCNi16、SCNi32、SCNi64、SCNiMAX、SCNiPTR、SCNiLEAST8、SCNiLEAST16、SCNiLEAST32、SCNiLEAST64、SCNiFAST8、SCNiFAST16、SCNiFAST32、SCNiFAST64
- SCNo8、SCNo16、SCNo32、SCNo64、SCNoMAX、SCNoPTR、SCNoLEAST8、SCNoLEAST16、SCNoLEAST32、SCNoLEAST64、SCNoFAST8、SCNoFAST16、SCNoFAST32、SCNoFAST64
- SCNu8、SCNu16、SCNu32、SCNu64、SCNuMAX、SCNuPTR、SCNULEAT8、SCNULEAT16、SCNULEAT32、SCNULEAT64、SCNuFAST8、SCNuFAST16、SCNULEAT32、SCNuFAST64
- SCNx8、SCNx16、SCNx32、SCNx64、SCNxMAX、SCNxPTR、SCNxLEAST8、SCNxLEAST16、SCNxLEAST32、SCNxLEAST64、SCNxFAST8、SCNxFAST16、SCNxFAST32、SCNxFAST64
- SCNX8、SCNX16、SCNX32、SCNX64、SCNXMAX、SCNXPTR、SCNXLEAST8、SCNXLEAST16、SCNXLEAST32、SCNXLEAST64、SCNXFAST8、SCNXFAST16、SCNXFAST32、SCNXFAST64
- imaxabs、imaxdiv、strtoimax、strtoumax、wcstoimax、wcstoumax
- 字符函数
- 是空白的
- wctype.h型
- iswblank公司
- 浮动.h
- 十进制数字法
- 标准h
- VAU副本
- 标准池
- bool,true,false,uu boolu trueu false是定义的
- 标准时间
- vscanf、vfscanf、vsscanf
- 标准lib.h
- 环礁
- wchar.h公司
- vwscanf、vfwscanf、vswscanf、wcstof、wcstold、wcstoll、wcstoull
我们知道这并不是对C99库函数的完全支持。据我们所知,缺失的部分如下:
- 缺少tgmath.h头。此标头需要C编译器支持。
- 注意ctgmath 添加了头这是可能的,因为该头不需要tgmath.h头,只需要ccomplex和cmath头。
- 缺少uchar.h标头。这是来自C Unicode TR。
- printf系列中的几个格式说明符尚不受支持。
- stdio.h和wchar.h中缺少snprintf和snwprintf函数。
我希望你觉得这些信息有用。我们做了所有我们有时间做的事情,同时尝试优先考虑那些我们认为最重要的功能。
Pat Brenner,VisualC++开发团队
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END