C语言运行时库中哪些API在UWP中不可用?



_beep _sleep _seterrormode

这些函数在以前版本的 CRT 中已过时。 此外,对应 Win32 API 不可用于 UWP 应用。

无解决方法。

chdir _chdrive getcwd

这些函数已过时或不是线程安全的。

使用 _chdir、_getcwd 及相关函数。

_cgets *

_cputs *

_cprintf *

_cscanf *

_getc getch ungetch *

这些函数用于直接从控制台读取和写入控制台。 UWP 应用仅限 GUI;它们不支持控制台。

无解决方法。

getpid

此函数已过时。

使用 _getpid 或 Win32 API GetCurrentProcessId()

_getdiskfree

不可用。

使用 Win32 API GetDiskFreeSpaceExW()

_getdrive _getdrives

对应 API 不可用于 UWP 应用。

无解决方法。

_inp _inpd _inpw _outp _outpd

 _outpw inp inpd inpw outp

 outpd outpw

UWP 应用中不支持端口 IO。

无解决方法。

_ismbc*

_mbs* 

 

UWP 应用中不支持多字节字符串。

改为使用 Unicode 字符串。

_pclose _pipe _popen _wpopen

管道功能不可用于 UWP 应用。

无解决方法。

_resetstkoflw

支持 Win32 API 不可用于 UWP 应用。

无解决方法。

_getsystime _setsystime

这些是以前 CRT 版本中的已过时 API。 此外,用户无法在 UWP 应用中设置系统时间,因为缺少权限。

若要只获取系统时间,请使用 Win32 API GetSystemTime。 无法设置系统时间。

_environ _putenv _putenv_s 

_searchenv _searchenv_s 

_dupenv_s _wputenv _wputenv_s

 _wsearchenv getenv getenv_s

 putenv _wdupenv_s _wenviron

 _wgetenv _wgetenv_s 

_wsearchenv_s tzset

环境变量不可用于 UWP 应用。

无解决方法。 若要设置时区,请使用 _tzset。

_loaddll _getdllprocaddr _unloaddll

这些是以前 CRT 版本中的已过时函数。 此外,用户无法加载 DLL(同一个应用程序包中的 DLL 除外)。

使用 Win32 API LoadPackagedLibraryGetProcAddress 和 FreeLibrary 加载和使用打包的 DLL。

_wexe*

_exe*

_wspawn*

_spawn*

Spawn*

system

该功能在 UWP 应用中不可用。 UWP 应用无法调用另一个 UWP 应用或桌面应用。

无解决方法。

_heapwalk _heapadd _heapchk

 _heapset _heapused

这些函数通常用于处理堆。 但是,UWP 应用中不支持对应 Win32 API。 而且,应用无法再创建或使用专用堆。

无解决方法。 但是,_heapwalk 在 DEBUG CRT 中可用(仅用于进行调试)。 这些函数无法在上载到 Windows 应用商店的应用中使用。

以下函数在 CRT 中可用于 UWP 应用,但应仅当无法使用对应 Win32 或 Windows 运行时 API 时才使用(例如,要移植大型基本代码时)。

单字节字符串函数(例如,strcatstrcpystrlwr 等)。

使 UWP 应用严格遵循 Unicode 标准,因为公开的所有 Win32 API 和 Windows 运行时 API 都仅使用 Unicode 字符集。 保留了单字节函数,以便用于移植大型基本代码,但在其他情况下应避免使用,并且应尽可能改用对应的宽字符函数。

流 IO 和低级文件 IO 函数(例如,fopenopen 等)。

这些函数是同步的,不推荐用于 UWP 应用。 在 UWP 应用中,使用异步 API 打开、读取和写入文件,以防止锁定 UI 线程。 这类 API 的示例是在 Windows::Storage::FileIO 类中的一个。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值