C語言執行時庫中哪些API在UWP中不可用?

2021-07-12 06:11:11 字數 2778 閱讀 9691



_beep _sleep _seterrormode

這些函式在以前版本的 crt 中已過時。 此外,對應 win32 api 不可用於 uwp 應用。

無解決方法。

chdir _chdrive getcwd

這些函式已過時或不是執行緒安全的。

使用 _chdir、_getcwd 及相關函式。

_cgets *

_cputs *

_cprintf *

_cscanf *

_getc getch ungetch *

這些函式用於直接從控制台讀取和寫入控制台。 uwp 應用僅限 gui;它們不支援控制台。

無解決方法。

getpid

此函式已過時。

使用 _getpid 或 win32 apigetcurrentprocessid()

_getdiskfree

不可用。

使用 win32 apigetdiskfreespaceexw()

_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 apigetsystemtime。 無法設定系統時間。

_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 apiloadpackagedlibrarygetprocaddressfreelibrary載入和使用打包的 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類中的乙個。

C執行時庫

1.概論 執行時庫是 程式在執行時所需要的庫檔案,通常執行時庫是以 lib或 dll形式提供的。c執行時庫誕生於 20世紀 70年代,當時的程式世界還很單純,應用程式都是單執行緒的,多工或多執行緒機制在此時還屬於新觀念。所以這個 j時期的 c執行時庫都是單執行緒的。隨著 作業系統 多執行緒技術的發展...

C執行時庫

visual studio文件的新主頁是docs.microsoft.com上的visual studio 2017文件。可以在crt library features中找到該主題的最新版本。本主題討論構成c執行時庫的各種.lib檔案及其關聯的編譯器選項和預處理程式指令。c執行時庫 crt c執行時...

C語言 程式執行時間測量

今天在做乙個大資料檔案建立的時候,為了測量建立所用的時間,特意研究了下,windows下時間的獲取 1 55ms解析度的計時 標頭檔案 include gettickcount 用法 dword dwstart gettickcount functon your program.dword dwen...