簡體   English   中英

在ANSI C中使用WinAPI和DWMApi

[英]Using WinAPI & DWMApi in ANSI C

我有一個關於為Windows編寫應用程序的問題。 在ANSI C中編程時,我可以使用WinAPI和DWMApi(航空玻璃,色帶等)嗎? 我現在正在看MSDN,他們使用的是c ++。

Windows API是一個C API,可以與任何支持“標准”調用約定的編譯器一起使用。

微軟已經做出了將自己的C編譯器置於生命支持上的戰略決策,並且在使用Visual Studio時你仍然堅持使用C90(帶有一些特定的擴展)。 您可以使用支持更多現代語言方言的第三方編譯器(GCC和Clang via MinGW,Pelles C)。

試試吧。

大多數API實際上都是C-API; 他們只是稱它為C ++,因為“沒人”真的使用C了。 我也注意到偶爾的結構附加了附加功能,但絕對不是在Win32中,而且它們可能只是為#Cdef而去了C.

我不知道的事情是當與C一起使用時標題是否“安全”,以及庫是否具有未編碼的符號。 我會假設他們是,但一個人永遠不會知道。 但是,制作一個只調用單個Win32 API函數的簡單C程序應該澄清這一點。

可以從許多不同的工具集訪問Win32 API。 我遇到的所有Windows編譯器都可以調用所有Win32 API。 更重要的是,所有這些C編譯器都可以調用COM API,甚至是GDI +,這是一個非常以C ++為中心的庫。 但MS為C客戶提供了一個橋梁。

因此,總而言之,選擇使用C不會剝奪您訪問Win32的任何部分的權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM