2013-03-19 108 views
0

我在Visual Studio 2008的C中編寫程序。我想從二進制文件初始化數組。但我不想讓二進制文件和.exe文件一起使用。所以我必須將二進制文件嵌入到我的.exe中。我搜索了谷歌。大部分答案都建議我使用VS中的「資源」。但我不知道面向對象,我不需要這樣複雜的解決方案。 爲了同樣的目的,我在IAR EW中使用了「項目 - >選項 - >鏈接器 - >輸入 - >原始二進制圖像」。而且它完美的完成了這項任務。 如何在VS中做到這一點?從嵌入文件初始化數組

+0

什麼問題? – GregC 2013-03-19 15:38:03

+2

Windows方式正在使用資源。順便說一句,你不需要這樣的OOP :) http://www.codeproject.com/Articles/4221/Adding-and-extracting-binary-resources – 2013-03-19 15:39:56

+0

Linux又如何?我可以讓我的程序跨平臺嗎? – LVitya 2013-03-19 17:46:14

回答

1

用你喜歡的腳本語言編寫一個簡單的腳本,並在編譯之前將二進制文件處理成逗號分隔的一組值(也可能有在線提供的免費工具)。將這組值插入到您的源C文件中以靜態初始化一個數組。例如,結果可能類似char data[] = {0x12, 0xAB, 0xC0, ... }; - 在源代碼中使用這些數據。

+0

我知道這個解決方案。但我的二進制文件大約0.5 KB。我想自由修改它而不需要轉換。我不想有這樣的「魔術」初始化。 – LVitya 2013-03-19 15:52:02

+0

您可以將此過程自動化爲在編譯之前運行的預處理器步驟。更改二進制文件並重建項目時,更改將自動投影到您的源代碼中。 – SomeWittyUsername 2013-03-19 15:54:22

+0

好主意,但在我看來這個解決方案很笨拙。 – LVitya 2013-03-19 15:59:39