我在Visual Studio 2008的C中编写程序。我想从二进制文件初始化数组。但我不想让二进制文件和.exe文件一起使用。所以我必须将二进制文件嵌入到我的.exe中。我搜索了谷歌。大部分答案都建议我使用VS中的“资源”。但我不知道面向对象,我不需要这样复杂的解决方案。 为了同样的目的,我在IAR EW中使用了“项目 - >选项 - >链接器 - >输入 - >原始二进制图像”。而且它完美的完成了这项任务。 如何在VS中做到这一点?从嵌入文件初始化数组
回答
用你喜欢的脚本语言编写一个简单的脚本,并在编译之前将二进制文件处理成逗号分隔的一组值(也可能有在线提供的免费工具)。将这组值插入到您的源C文件中以静态初始化一个数组。例如,结果可能类似char data[] = {0x12, 0xAB, 0xC0, ... };
- 在源代码中使用这些数据。
我知道这个解决方案。但我的二进制文件大约0.5 KB。我想自由修改它而不需要转换。我不想有这样的“魔术”初始化。 – LVitya 2013-03-19 15:52:02
您可以将此过程自动化为在编译之前运行的预处理器步骤。更改二进制文件并重建项目时,更改将自动投影到您的源代码中。 – SomeWittyUsername 2013-03-19 15:54:22
好主意,但在我看来这个解决方案很笨拙。 – LVitya 2013-03-19 15:59:39
- 1. 从数组初始化QVector
- 2. 如何初始化嵌套数组
- 3. 嵌套结构/数组初始化
- 4. 初始化数组时初始化System.AccessViolationException
- 5. 数组初始化
- 6. 数组初始化
- 7. 从结构初始化数组初始化
- 8. 从文本文件中初始化对象数组
- 9. CNTK:train预嵌入嵌入层初始化嵌入层?
- 10. 文件数组初始化错误:变量可能未初始化
- 11. 从c#初始化javascript数组值#
- 12. 从C数组初始化ublas向量
- 13. 如何从double数组初始化Mat?
- 14. 从UIViewController初始化UIView数组
- 15. ReSharper的嵌入对象初始化
- 16. 嵌入式码头:Servlet未初始化
- 17. 在初始化时嵌入python错误
- 18. 异步初始化组件
- 19. Silverlight初始化组件
- 20. 按需初始化组件
- 21. PostgreSQL:FATAL:XX000:无法写入初始化文件
- 22. 从文件初始化嵌套结构的值
- 23. C++/Cli文字数组初始化
- 24. 有关数组初始化
- 25. php数组初始化
- 26. 初始化向量数组
- 27. C数组初始化
- 28. constexpr,数组和初始化
- 29. 指定初始化数组
- 30. 初始化多维数组
什么问题? – GregC 2013-03-19 15:38:03
Windows方式正在使用资源。顺便说一句,你不需要这样的OOP :) http://www.codeproject.com/Articles/4221/Adding-and-extracting-binary-resources – 2013-03-19 15:39:56
Linux又如何?我可以让我的程序跨平台吗? – LVitya 2013-03-19 17:46:14