documentazione · guida rapida

Inizia

L'SDK è già compilato per Windows x64 e Linux x64. Decomprimilo, collegalo al tuo progetto ed esegui un primo programma.

01Requisiti

ElementoMinimoNote
Compilatore C++C++20Windows: MSVC 19.51 (Visual Studio 2026) o successivo, perché una libreria statica non può essere collegata da un toolset più vecchio di quello che l'ha compilata. Linux: GCC 15 o successivo.
Runtime MSVC/MDLe librerie Windows usano il runtime dinamico, /MD in Release e /MDd in Debug, l'impostazione predefinita di CMake. Il tuo progetto deve usare lo stesso.
Piattaformax64Windows x64, e Linux x64 con glibc 2.28 o successiva (compilato su Rocky Linux 8). macOS, ARM64, Clang e x86 a 32 bit non hanno ancora un SDK.
CMake3.21Per usare find_package. Su Linux funziona anche pkg-config.
Compilatore CC11Solo per chiamare il livello C da C. È testato come C11 e C17.
Librerie di sistemaSolo sistema operativoWindows: ws2_32, advapi32, psapi, user32, winmm, wintrust, crypt32, iphlpapi, Synchronization, bcrypt. Linux: pthread, dl, m, rt. find_package e pkg-config le aggiungono per te.

02Ottieni l'SDK

L'SDK è un archivio .zip per piattaforma, già compilato. Non c'è niente da compilare né da installare: lo decomprimi e ci punti il tuo progetto. Lo stesso archivio esegue la valutazione e, una volta ottenuto un seriale, l'edizione con licenza.

Valutazione

L'edizione Standard, tutti i moduli, per 30 giorni dal primo utilizzo su ogni macchina. Senza registrazione, senza seriale.

  1. Scarica l'archivio dell'SDK.
  2. Decomprimilo e collegalo al tuo progetto (passo 04).
  3. Chiama UnlockBundle con un seriale vuoto (passo 05).
Scarica l'SDK

Con licenza

Dopo l'acquisto, l'email di conferma porta tutto il necessario.

  1. L'archivio dell'SDK per la tua licenza.
  2. Un seriale temporaneo, valido 30 giorni.
  3. Il seriale permanente, inviato automaticamente dopo quei 30 giorni.
Vedi i prezzi

03Cosa contiene l'SDK

Gli header, la libreria statica in Release e Debug (quella Debug ha il suffisso d), i file che fanno funzionare find_package e gli strumenti da riga di comando. Ogni modulo è già compilato, inclusi quelli specialistici (vedi moduli inclusi).

ethereal-win-x64/
  include/ethereal/         # C++ and C headers
  lib/Ethereal.lib          # Release
  lib/Ethereald.lib         # Debug
  lib/cmake/Ethereal/       # find_package( Ethereal )
  bin/                      # etl-bench, etl-i18n, etl-trees, etl-neural, etl-modelguard, etl-update

La libreria richiede anche alcune piccole librerie di supporto e definizioni di compilazione. find_package e pkg-config le aggiungono da sé, quindi usa uno dei due invece di elencare i file a mano.

05Sblocca ed esegui

Chiama Bundle::UnlockBundle una volta per applicazione, prima di usare qualsiasi modulo, con il tuo seriale. Durante la valutazione, passa una stringa vuota. Una chiave rifiutata restituisce uno stato che dice perché: firma, formato, prodotto, validità o chiave mancante. La verifica avviene solo offline, con una chiave pubblica compilata nella libreria. Nulla viene inviato in rete.

#include <ethereal/cpp/pch/pch_ethereal.h>

int main( int argc, char ** argv )
{
    using namespace Ethereal;

    // once per application, before anything else
    const char * pSerial = ( argc > 1 ) ? argv[ 1 ] : "";

    const Bundle::EBundleUnlockStatus eStatus = Bundle::UnlockBundle( pSerial );

    if( eStatus != Bundle::eOk )
    {
        std::printf( "license refused, code %d\n", static_cast< int >( eStatus ) );
        return 1;
    }

    std::string sDigest;
    Crypto::SHA256::GetAs_String( "ethereal", sDigest );

    const UID::CUuid Id = UID::CUuid::Generate();

    std::printf( "%s\n%s\n", sDigest.c_str(), Id.ToString().c_str() );
}

pch_ethereal.h include l'intera libreria. Ogni header pubblico compila anche da solo, quindi puoi includere solo ciò che usi, ad esempio <ethereal/cpp/regex/regex_inc.hpp>.

06Moduli inclusi

Ogni modulo è già compilato nell'SDK, inclusi quelli specialistici qui sotto. È una libreria statica, quindi il linker prende solo il codice che il tuo programma chiama: un modulo che non usi mai non arriva nel tuo binario.

ModuloNell'SDKCosa aggiunge
HTTPinclusoClient HTTPS sopra il TLS 1.3 della libreria
TelemetryinclusoMetriche, trace W3C, esportazione Prometheus, OTLP e StatsD
Machine learninginclusoI sei moduli di machine learning
LicensinginclusoKit di licenze Ed25519 per il tuo prodotto
UpdaterinclusoCanale di aggiornamenti firmato
CrashReportinclusoCrash report e loro invio
GuardinclusoPrimitive anti-manomissione, ogni componente
TextinclusoUnicode 18: normalizzazione, segmentazione, collation, bidi, IDNA
Testing · Benchlibrerie separateIl framework di test e l'infrastruttura di misura

07Prossimi passi

Scopri di più su Typename Studios e i suoi prodotti