2 回答

TA貢獻1859條經(jīng)驗 獲得超6個贊
根據(jù)SDL Windows常見問題解答:
您應該使用
main()
而不是WinMain()
即使您正在創(chuàng)建Windows應用程序,因為SDL提供的版本WinMain()
在調(diào)用主代碼之前執(zhí)行某些SDL初始化。如果由于某種原因需要使用
WinMain()
,請查看SDL源代碼,src/main/win32/SDL_main.c
看看您需要在WinMain()
函數(shù)中進行哪種初始化,以便SDL正常工作。
SDL需要初始化,因此它會main
在調(diào)用“main”函數(shù)之前注入自己的函數(shù)來運行其初始化,它將重命名為“main”函數(shù),SDL_main
以便它不會與實際main
函數(shù)沖突。如FAQ中所述,您的main
功能必須符合表格
int main(int argc, char* argv[])

TA貢獻1831條經(jīng)驗 獲得超9個贊
雖然我同意這是一種奇怪的做法,但有些情況下這是一個合理的解決方案,盡管它在很大程度上取決于平臺??紤]到不同的平臺有不同的入口點。Windows通常是WinMain,Linux是主要的,與Java交互發(fā)生在Java中,WinRT使用C ++ / CX擴展,等等。程序入口點和API可以是特定于平臺的,SDL會嘗試為您節(jié)省處理此問題的麻煩。如果您只針對Windows而SDL只是為了省去使用WIN32 API的麻煩,您可能不需要它。但是,如果你超越桌面,你會發(fā)現(xiàn)它在我看來很有用。
- 2 回答
- 0 關注
- 717 瀏覽
添加回答
舉報