Araçlar FoxFS Pack Kilitleme ve Kaynak Dosyaları (Visual Studio 2022)

Paylaşım için teşekkürler. kullanabilmek için sahte ehliyeti nerden temin edebilirim hocam
 
lz4 tbb xxhash güncelleyebilrisiniz ben öyle kullanıyorum tbb galiba 2019 sürümü kullanıyorum
 
lzt xxhash gibi externeleri güncellemek isterseniz hata verecektir.
gücnel lz uyumu
için
atchive main.cc

Kod:
Genişlet Daralt Kopyala
struct FileCompressor
{
    std::vector<unsigned char> data;
    std::vector<unsigned char> src;
    unsigned int compressed;
    unsigned int decompressed;
    unsigned int hash;

    FileCompressor()
    {
        data.resize(FILE_COMPRESSOR_MEM);
        src.resize(FILE_COMPRESSOR_MEM);
    }

    bool operator()(const std::string& source)
    {
        compressed = 0;
        decompressed = 0;
        hash = 0;

        std::ifstream input(source.c_str(), std::ifstream::binary | std::ifstream::in);
        bool r = false;
        if (input)
        {
            input.seekg(0, std::ifstream::end);
            decompressed = input.tellg();
            input.seekg(0, std::ifstream::beg);

            input.read(reinterpret_cast<char*>(&src[0]), MIN(src.size(), decompressed));
            input.close();

            hash = XXH32(reinterpret_cast<char*>(&src[0]), decompressed, FOXFS_MAGIC);

            // LZ4_compress_HC kullanıldı
            if ((compressed = LZ4_compress_HC(reinterpret_cast<char*>(&src[0]), reinterpret_cast<char*>(&data[0]), decompressed, data.size(), 9)) >= decompressed)
            {
                // Eğer sıkıştırma oranı düşerse, veriyi kopyala (özellikle sıkıştırma başarısız olursa)
                memcpy(&data[0], &src[0], src.size());
                compressed = decompressed;
            }

            r = true;
        }
        return r;
    }
};


not pack boyutu yüysekse geç açılır.
 
Son düzenleme:
Geri
Üst