打包资源文件到程序

#include <stdio.h>
#include <stdlib.h>

void FileToArray(const char *srcfile, const char *dstfile)
{
    FILE *file = fopen(srcfile, "rb");
    if (file)
    {
        FILE *save = fopen(dstfile, "w");
        fseek(file, 0, SEEK_END);
        unsigned int fileLen = ftell(file);

        fprintf(save, "static unsigned int gAssetsLen=%ld;\n", fileLen);
        fprintf(save, "static unsigned int gAssetsData[]=\n");
        fprintf(save, "{\n");

        fseek(file, 0, SEEK_SET);
        unsigned int arrLen = (fileLen + 3) / 4;
        unsigned int *dataArr = new unsigned int[arrLen];
        fread(dataArr, 1, fileLen, file);
        for (int i = 0; i < arrLen; ++i)
        {
            fprintf(save, "0x%08x", dataArr[i]);
            //fprintf(save, "0x%x", dataArr[i]);
            if (i != arrLen - 1){ fprintf(save, ","); }
            if (9 == i % 10){ fprintf(save, "\n"); }
        }
        fprintf(save, "};\n");
        fclose(save);
    }
    fclose(file);
}
void main()
{
    FileToArray("assets.zip","assets.h");
}
时间: 2024-11-01 09:34:44

打包资源文件到程序的相关文章

2.QT中使用资源文件,程序打包

 1 程序中使用资源文件 A  一个QT空项目 B  右击项目,添加新文件 添加后的效果是 C  右击main.prc,选择"添加现有项",找到要使用的资源文件.最终的效果是: D 使用qrc文件 T27Resource.pro RESOURCES += \ main.qrc SOURCES += \ main.cpp QT += gui widgets main.cpp #include <QApplication> #include <QLabel> #

Pyqt 打包资源文件

用打包工具将做好的Pyqt程序打包成exe后发现引用的资源图片都显示不了? 是否遇到了和我一样的问题呢.google之后找到了方法,一种方法是在程序中引用外部资源,另外一种方法是将资源文件转换为py文件,然后引用py.下面我们详细来实现后者方法实现的过程 一. 生成资源文件 要把资源文件转换为py文件首先要有资源文件,我们打开Qt Designer,添加资源文件 保存好资源文件后缀是以 .qrc  结尾的,用notepad++查看.qrc文件发现该文件其实为XML 1 <RCC> 2 <

pyinstaller打包资源文件及包含eyed3模块时提示找不到libmagic处理

这两天用python写了个小工具,用到了eyed3,用pyinstaller打包时提示找不到libmagic 版本信息: python 3.6.5 pyInstaller 3.4 python-magic-bin 0.4.14 eyeD3 0.88 wxpython 4.0.3 eyeD3 在Windows下使用时,文件名带有中文时乱码,提示找不到文件,解决办法(magic.py 230行左右): if is_unicode: return filename.encode('utf-8') el

maven打包资源文件(转)

原文链接:http://blog.csdn.net/u012849872/article/details/51035938 maven工程标准目录结构: src    -main       –bin 脚本库       –java java源代码文件       –resources 资源库,会自动复制到classes目录里       –filters 资源过滤文件       –assembly 组件的描述配置(如何打包)       –config 配置文件       –webapp

Webpack 使用url-loader和file-loader打包资源文件

在js中不仅可以通过import引入js文件,还可以引入图片.视频等资源文件,这样webpack打包时就会把所引入的资源文件也一起打包进来 打包进来的文件会返回一个字符串:即文件的路径 要做到这一点,需要一个工具,file-loader,使用方法很简单那 1. 安装 npm install file-loader --save-dev 2. 配置 { test: /\.(png|jpg|jpeg|gif)$/, use: [ { loader: 'file-loader', options: {

pyinstall打包资源文件

相关代码 main.py import sys import os #生成资源文件目录访问路径 #说明: pyinstaller工具打包的可执行文件,运行时sys.frozen会被设置成True # 因此可以通过sys.frozen的值区分是开发环境还是打包后的生成环境 # # 打包后的生产环境,资源文件都放在sys._MEIPASS目录下 # 修改main.spec中的datas, # 如datas=[('res', 'res')],意思是当前目录下的res目录加入目标exe中,在运行时放在零

关于Laravel中使用Laravel-mix打包资源文件的一个坑

今天在尝试把写了一周的项目用laravel-mix中的 mix.version() 命令生成版本化文件时,遇到了一个报错,大概长这样: fs.js:675 return binding.read(fd, buffer, offset, length, postion); ^ Error: EISDIR: illegal operation on a directory, read at Object.fs.readSync (fs.js:675:18) at ..... 一开始还以为哪里写错了,

WEB应用中的普通Java程序如何读取资源文件

1 package cn.itcast; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpSer

spring/boot 打包,资源/配置/业务文件分离

spring/boot打包,将业务jar包和资源配置文件进行分离打包,打包后的资源在target/release文件夹下面 注意:添加以下配置后,注意修改自己的入口类 <!--相关编译打包依赖--> <build> <plugins> <!--打包jar--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-p