如果它只是 Windows,则使用自定义资源。如果你想要跨平台的东西,那么就按照我最近的一个项目做的那样——创建一个应用程序,将 JPEG 编码为char*头文件中的缓冲区,然后将这些头文件包含在你的主项目中。您还需要存储缓冲区的大小,因为它肯定会包含 NUL。
例如,我有一个应用程序,您可以传递大量要编码的文件,并且对于每个文件,您都会获得一个类似于以下内容的头文件:
#ifndef RESOURCE_SOMEFILE_JPG_HPP
#define RESOURCE_SOMEFILE_JPG_HPP
namespace resource {
const char* SOMEFILE_JPG[] =
{
...raw jpeg data...
};
const int SOMEFILE_JPG_LEN = 1234;
} // resource
#endif // RESOURCE_SOMEFILE_JPG_HPP
Run Code Online (Sandbox Code Playgroud)
该应用程序必须在\x格式上转义特殊的不可打印字符,但这非常简单。该应用程序使用该boost::program_options库,因此可以将要编码的文件列表存储在配置文件中。每个文件都有自己的标题,类似于上面的。
但是,请注意 - 这仅适用于小文件,因为某些编译器对静态字符缓冲区的最大大小有限制。我确信还有其他方法可以做到这一点,但这个方案对我有用(一个 C++ 网络应用程序,以这种方式存储 HTML、CSS、JavaScript 和图像文件)。
| 归档时间: |
|
| 查看次数: |
9614 次 |
| 最近记录: |