在我的應用程序中,我想使用配置文件。然而,我在這裏有雞和雞蛋的問題:配置文件甚至可以描述如何啓動SDL(和其他事物)。因此,我需要調用SDL_GetPrefPath()
之前甚至SDL_Init()
讓那裏爲我的應用配置存儲爲每個用戶爲基礎的共同的地方。我不確定是否有可能。我也需要SDL_GetBasePath()
來達到類似(後退)的目的,我知道這很醜陋,但有些用戶希望可以選擇試圖找到配置文件。讀配置文件本身不是問題,因爲我不使用SDL相關函數,但我需要獲取可找到配置文件的目錄。可以在SDL_Init()之前調用SDL_GetBasePath()和SDL_GetPrefPath()嗎?
當然,我可以測試,如果它的工作,但它不是最好的,它可能無法在不同版本的SDL,對其他建築,或誰知道。我想知道這是安全的「設計」(和「面向未來」),或不。
在SDL-2維基上,記錄了一些功能,如SDL_ShowSimpleMessageBox()
,即使在SDL_Init()
之前使用它也是安全的,但我不確定這是否是這種情況。我不知道如果SDL-2 Wiki是不夠詳細,始終顯示這樣的情況(如SDL_ShowSimpleMessageBox()
),因爲對我說的是現在的功能頁面沒有提及此信息。
請注意,我的應用程序打算在Linux,MacOS和Windows上運行,所以很難自行判斷SDL在初始化後會放置它的首選目錄,還有一個醜陋的,冗餘的東西......
沒有看到任何東西-SDL_Init()依賴於[源](http://hg.libsdl.org/SDL/file/f76299105635/src/filesystem)(鑑於[Wiki](https) ://wiki.libsdl.org/SDL_Init)聲稱記錄系統不需要INITING),可以嘗試戳[郵件列表](HTTPS://discourse.libsdl。org/c/sdl-development),並可能向[Bugzilla](https://bugzilla.libsdl.org/)添加文檔說明請求。 – genpfault
是的,我也嘗試着看源代碼。我也在想,也許我的解決方案存在缺陷。雖然我不確定如何解決這個問題,但這並不取決於SDL_Init()之前可以完成的「希望」,而SDL_Init()將來可能會作爲一個應該依賴的未解釋行爲而改變。也許SDL_Init(0);或者類似的東西,讓我們稍後在配置讀取後初始化子系統?目前我沒有太多想法,但我希望一些有經驗的SDL用戶可能在這裏有一個好主意。或者郵件列表,的確如此:D –
我認爲郵件列表是你最好的選擇,這個*應該*「只是」是一個文檔問題,我認爲你有一個引人注目的用例。 – genpfault