回答
下面是一個很好的技巧,我用gcc-arm交叉編譯器;包括通過彙編語言文件的文件。在這個例子中,它是我包含的文件public_key.pem
的內容。
pubkey.s
.section ".rodata"
.globl pubkey
.type pubkey, STT_OBJECT
pubkey:
.incbin "public_key.pem"
.byte 0
.size pubkey, .-pubkey
相應pubkey.h
#ifndef PUBKEY_H
#define PUBKEY_H
/*
* This is a binary blob, the public key in PEM format,
* brought in by pubkey.s
*/
extern const char pubkey[];
#endif // PUBKEY_H
現在C程序源代碼可以包括pubkey.h
,用gcc編譯pubkey.s
並將其鏈接到你的應用程序,你去了。 sizeof(pubkey)
也有效。
真棒回答。謝謝。 – theanine 2012-04-06 19:55:30
sizeof如何工作? sizeof是否在編譯時評估,其中pubkey.s的內容甚至不會被考慮?編輯:你的意思是strlen? – thenickdude 2014-11-21 07:10:29
你描述的方式是最好的/最簡單的/最便攜的。只需編寫一個快速工具(或找到現有的工具)來爲您生成C文件。確保您正確使用const
(可能還有static
)關鍵字,否則程序將浪費大量內存。
前段時間我需要這樣的東西,我爲此創建了一個工具。 這是一個叫做mkcres(https://github.com/jahnf/mkcres)的python工具,我把它放在github上。
- 儘管文檔缺乏一點,但有一些例子說明如何將它與CMake或純文件構建文件集成到構建過程中。
- 將.json文件作爲資源文件生成配置
- 它可以檢測資源文件的更改,並根據需要自動重新生成相應的C文件 。
- 缺點:您需要python(2或3)
- 上行鏈路:不是編譯器特定的,應該適用於每個C/C++編譯器。
- 1. 在資源文件中嵌入數據
- 2. 在資源中嵌入文本文件C#
- 3. 如何從C#嵌入式資源獲取文件夾名稱
- 4. CF中的資源文件 - 未嵌入
- 5. 如何在構建Visual Studio 2017中嵌入資源文件?
- 6. C#,WPF,嵌入式資源/嵌入式資源
- 7. 如何在C#2005的單個資源文件中嵌入多個Xml片段?
- 8. 如何將XML文件嵌入到資源文件
- 9. .NET:打開文件,嵌入在資源文件中
- 10. C#:在運行時更新嵌入資源文件
- 11. 如何將資源嵌入到單個可執行文件中?
- 12. 如何將資源文件嵌入到exe中
- 13. 如何在C#Winforms中創建嵌入的資源遊標?
- 14. 如何使用「Resx中嵌入的資源」中的資源?
- 15. 嵌入式資源文件的路徑
- 16. flex:從XML文件嵌入資源
- 17. 嵌入word文件作爲資源
- 18. .NET獲取嵌入的資源文件
- 19. C++中的嵌入式資源
- 20. 目標C中的嵌入式資源?
- 21. C#:讀取文件,該文件是嵌入在一個資源文件
- 22. 引用來自c#中其他資源的嵌入式資源
- 23. 有條件地在Visual Studio中嵌入資源(C#)
- 24. 資源嵌入在asp.net
- 25. 嵌入式二進制資源 - 如何枚舉嵌入的圖像文件?
- 26. 嵌入式資源
- 27. C#winform - 從嵌入資源播放wav文件
- 28. 加載嵌入式資源.rtf文件到richtextbox加載C#
- 29. c#使用嵌入式資源的excel文件
- 30. 資源文件C#
在什麼平臺上? – 2012-04-05 22:18:41
@OliCharlesworth:我正在使用專有的嵌入式實時操作系統,使用Eclipse 3.0.2 – theanine 2012-04-05 22:36:54
希望你能意識到這個問題的答案完全取決於你正在使用的工具鏈的細節**編譯器,鏈接器,可執行格式等)。所以你最好儘可能在你的問題上添加儘可能多的細節。 – 2012-04-05 22:38:10