- Hands-On Game Development with WebAssembly
- Rick Battagline
- 240字
- 2021-06-24 13:41:07
Cleaning up SDL
Something that you may notice is missing from this code, that would be in a Windows or Linux version of an SDL application, is code that does some SDL clean up at the end of the program. If we exited an application in Windows, for instance, and did not do our cleanup work, we would be exiting without clearing out some of the memory allocated by SDL. If this were not a WebAssembly module, the following lines would be included at the end of the function:
SDL_Delay(5000);
SDL_DestroyWindow(window);
SDL_Quit();
Because we have not spent the time to make a game loop, we would want to delay the cleanup and exiting of the program by five seconds using a call to SDL_Delay(5000), 5000 being the number of milliseconds to wait before doing the cleanup. We want to reiterate that, because we are compiling to WebAssembly, we do not want to clean up our SDL. Doing so has different effects on different browsers.
When testing this code in Firefox, using the delay is unnecessary, because the web browser tab will stay open even after the WebAssembly module stops executing. However, the Chrome browser tab will display an error page as soon as SDL destroys the window object.
The SDL_DestroyWindow function would destroy the window object if this were a Windows environment. The SDL_Quit function terminates the SDL engine, and, finally, return EXIT_SUCCESS; exits successfully from the main function.
- 觸摸屏實用技術與工程應用
- 零點起飛學Xilinx FPG
- 計算機應用與維護基礎教程
- 電腦常見故障現(xiàn)場處理
- 深入淺出SSD:固態(tài)存儲核心技術、原理與實戰(zhàn)(第2版)
- 微軟互聯(lián)網信息服務(IIS)最佳實踐 (微軟技術開發(fā)者叢書)
- STM32嵌入式技術應用開發(fā)全案例實踐
- VMware Workstation:No Experience Necessary
- 基于PROTEUS的電路設計、仿真與制板
- 電腦組裝與維護即時通
- 3D Printing Blueprints
- Mastering Machine Learning on AWS
- Blender 3D By Example
- 分布式存儲系統(tǒng):核心技術、系統(tǒng)實現(xiàn)與Go項目實戰(zhàn)
- 筆記本電腦的結構、原理與維修