brc
Including binary data into application
simplebin.cpp
#include <Core/Core.h>
#include "simplebin.brc"
CONSOLE_APP_MAIN
{
puts(NFormat("source (%d) = %s...%s", source_length, String(source, 20), String(source + source_length - 20, 20)));
puts(NFormat("binsrc (%d) = %s...%s", binsrc_length, String(binsrc, 20), String(binsrc + binsrc_length - 20, 20)));
puts(NFormat("array_count = %d", array_count));
for(int i = 0; i < array_count; i++)
puts(NFormat("array[%d] (%d) = %s...%s", i, array_length[i], String(array[i], 20), String(array[i] + array_length[i] - 20, 20)));
}
bin.cpp
#include <Core/Core.h>
#include "bin.brc"
#include <plugin/bz2/bz2.h>
#include <plugin/lzma/lzma.h>
#include <plugin/lz4/lz4.h>
#include <plugin/zstd/zstd.h>
using namespace Upp;
//**
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_COUT|LOG_FILE);
LOG("=== PLAIN");
LOG(String(brc_plain, brc_plain_length));
LOG("=== ZIP");
LOG(ZDecompress(brc_zip, brc_zip_length));
LOG("=== BZ2");
LOG(BZ2Decompress(brc_bz2, brc_bz2_length));
LOG("=== LZ4");
LOG(LZ4Decompress(brc_lz4, brc_lz4_length));
LOG("=== LZMA");
LOG(LZMADecompress(brc_lzma, brc_lzma_length));
LOG("=== Zstd");
LOG(ZstdDecompress(brc_zstd, brc_zstd_length));
for(int i = 0; i < bin_array_count; i++) {
LOG("=== ARRAY " << i);
LOG(ZDecompress(bin_array[i], bin_array_length[i]));
}
for(int i = 0; i < bin_mask_count; i++) {
LOG("=== MASK " << i);
LOG(LZ4Decompress(bin_mask[i], bin_mask_length[i]));
}
}
simplebin.brc
BINARY(source, "simplebin.cpp")
BINARY(binsrc, "simplebin.brc")
BINARY_ARRAY(array, 0, "simplebin.cpp")
BINARY_ARRAY(array, 1, "simplebin.brc")
BINARY_ARRAY(array, 2, "simplebin.upp")
bin.brc
BINARY(brc_plain, "bin.cpp")
BINARY(brc_bz2, "bin.cpp" BZ2)
BINARY(brc_zip, "bin.cpp" ZIP)
BINARY(brc_lz4, "bin.cpp" LZ4)
BINARY(brc_lzma, "bin.cpp" LZMA)
BINARY(brc_zstd, "bin.cpp" ZSTD)
BINARY_ARRAY(bin_array, 0, "bin.cpp" ZIP)
BINARY_ARRAY(bin_array, 1, "bin.brc" ZIP)
BINARY_MASK(bin_mask, "bin.*" LZ4)
|