如果我在Visual Studio项目中包含图像作为资源,这些图像是否会编译成可执行文件?

时间:2013-11-02 08:20:31

标签: c++ winapi

我的意思是,如果我想编译和分发我的程序,我是否必须在下载中包含具有图像的文件夹,然后在我的代码中链接这些文件夹的相对路径?或者,如果我将图像作为资源包含在内,那么它们的数据是否保存在程序的机器代码中,这样我就可以分发可执行文件了?

2 个答案:

答案 0 :(得分:3)

Resources嵌入到EXE / DLL中。

答案 1 :(得分:1)

Windows使用资源部分,因此从技术上讲它不是机器代码的一部分,它只是在exe中的其他地方处理。 默认情况下,资源编译是无条件的(与代码仅在使用时编译/链接时的某些编译器/链接器设置相反),因此如果将二进制文件指定为资源,则无论是否正在使用,最终的exe都将拥有它。 / p>

稍后您可以使用windows resource functions Windows资源函数来获取数据,但是请记住它只是数据,如果它是一个资源,所以你必须明确地将它写入磁盘,然后你可以执行它,不是来自资源本身。