如果你曾經使用過這個工具,那就有點像這樣。我希望能夠將我的所有聲音,圖像和其他所有內容都嵌入到一個C++可執行文件中。 Game Maker會有一個內置的編輯器,並將圖像嵌入到.gmk文件中,當您打開它時,它會讀取圖像並將其顯示在遊戲中。我認爲他將圖像保存爲圖像,而不是保存在.gmk文件中的純數據,由編輯器解釋或由解釋器寫入.exe。我會如何去做類似的事情?如何將資源嵌入到單個可執行文件中?
5
A
回答
2
Windows資源系統是這樣工作的,所以如果你製作一個WinAPI或MFC應用程序,你可以使用它。而且,Qt提供了相同的功能,但是採用平臺獨立的方式。他們只是以原始二進制格式將文件寫入正常C++文件中的字節數組中,以便將它們作爲數據編譯到exe中。然後他們提供訪問這些數據塊的功能,如普通文件,儘管我不知道它們是如何工作的。可能是它們的文件類的特殊實現,它只是訪問這些字節數組變量。
1
僅用於圖像,一個非常簡單的方法是使用XPM格式。
此格式是一個有效的C/C++頭文件,因此您可以將其直接包含到C++源文件中並直接使用它。
這種方法的主要問題是XPM不是壓縮格式,因此使用了大量存儲空間。 因此,實際上我只看到它用於圖標和小圖形對象,但原則上你可以做更多。
關於XPM的另一件很酷的事情是,它是人類可讀的 - 對於設計小而簡單的圖標來說也很棒。
爲了推廣這一理念爲其它格式,你可以做的是創造一個編譯鏈是:
- 編碼上述目標文件作爲ASCII(的Uuencode或如)
- 打開該成一個單一命名C源文件中的字符串。
- 創建標題只是聲明名稱
- 定義一個函數從字符串
相關問題
- 1. 將資源文件嵌入到可執行文件中的性能
- 2. 如何使用py2exe將文本文件嵌入到單個可執行文件
- 3. 將資源嵌入到二進制映像/程序可執行文件/ .exe中?
- 4. 將本地化資源.DLL嵌入到C#中的可執行文件?
- 5. 如何將資源注入已建立的可執行文件
- 6. 如何將XML文件嵌入到資源文件
- 7. 如何將資源文件嵌入到exe中
- 8. 將文件嵌入到java可執行文件中
- 9. 如何將資源從一個可執行文件複製到其他
- 10. 可以將Json.Net嵌入到可執行文件中嗎?
- 11. 從資源文件中將字體嵌入到as3中
- 12. 我如何在cpp可執行文件中嵌入licence.licx文件?
- 13. 停止XCode將嵌入編譯時間嵌入到可執行文件中
- 14. 如何在C#2005的單個資源文件中嵌入多個Xml片段?
- 15. 如何將資源從可執行jar文件保存到本地驅動器?
- 16. 在資源文件中嵌入數據
- 17. CF中的資源文件 - 未嵌入
- 18. 如何將資源文件設置爲非嵌入式
- 19. 如何將.tlb作爲資源文件嵌入到.NET Assembly DLL中?
- 20. 非嵌入式資源js文件訪問資源文件(.resx)可以嗎?
- 21. 嵌入式資源 - 如何運行它?
- 22. 是否可以在運行時編輯嵌入資源文件?
- 23. 基於文件的ResourceManager如何回退到嵌入式資源?
- 24. 如何語言資源嵌入到主exe文件
- 25. 在可執行文件的資源中,如何找到默認圖標?
- 26. 我可以寫入嵌入式資源文本文件嗎?
- 27. 如何將圖像嵌入到單個HTML/PHP文件中?
- 28. 如何將嵌入式資源複製到輸出目錄中?
- 29. 可以將XNA .xnb資源嵌入到exe或dll中嗎?
- 30. 將資源從win32 dll嵌入到.net
非常有趣恢復二進制形式。我想這只是另一個微軟的東西,比如directX或者WinAPI。功能非常有用,但不是跨平臺。但很高興看到QT具有類似的功能。 – Keelx 2011-05-15 03:44:27
MSDN的使用資源(Windows):https://msdn.microsoft.com/en-us/library/ms648008(v=VS.85).aspx – Andrew 2017-01-28 05:16:13