Pular para o conteúdo

18 · Módulos

C / C++ · Clang · C ABI

Prepare bibliotecas C17 e C++17 com Clang. C++ expõe classes concretas suportadas; ownership nativo e ponteiros ou templates não suportados exigem adapters explícitos. O código preparado executa sem o compilador de fontes.

Nesta página

Execute localmente com o plugin e runtime correspondentes. Estes exemplos não rodam no playground do navegador.

C / C++ / Clang · C ABI.

44-extern-cpp.zolo
Playground
use plugin native::{cpp}

extern cpp from "./native_fixtures/Person.cpp" use {Person}

extern cpp fn greet(name: str) -> str {
    return "Hello " + name;
}

extern cpp async fn later(value: int) -> int {
    #include <chrono>
    #include <thread>
    std::this_thread::sleep_for(std::chrono::milliseconds(10));
    return value + 1;
}

extern cpp fn call(callback: fn(int) -> int) -> int {
    return callback(40);
}

let person = Person.new(name: "Ana", age: 30)
print(person.greet()) // expected: Hello Ana
print(person.birthday()) // expected: 31
person.age = 32
print(person.age) // expected: 32
print(Person.twice(21)) // expected: 42
print(greet("C++")) // expected: Hello C++
print(await later(41)) // expected: 42
print(call(|value| value + 2)) // expected: 42

Requer a CLI/host do Zolo — abra no playground ou rode localmente.

Preparação e distribuição

O empacotamento sem fontes pode preservar artefatos estrangeiros preparados, mas não remove dependências de runtime ou plataforma. Hospedagem na VM, native e LLVM está coberta; bindings estrangeiros rejeitam alvos WebAssembly não suportados. A aceitação recente dos providers cobre Windows x64. Python está verificado especificamente com CPython 3.12; outras plataformas precisam de validação própria.

Visão geral da referência

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br