2 repository-uri
Tools that generate language bindings by scanning native symbol databases and Objective-C metadata.
Distinct from C Header Binding Generators: Distinct from C Header Binding Generators: uses symbol databases rather than parsing C header files.
Explore 2 awesome GitHub repositories matching programming languages & runtimes · Objective-C Symbol Binding Generators. Refine with filters or upvote what's useful.
Darwinkit este un strat de interoperabilitate Cgo și o bibliotecă de binding-uri native care permite aplicațiilor Go să apeleze framework-uri Apple și API-uri de sistem. Acesta funcționează ca o punte între runtime-ul Go și simbolurile native compatibile cu C pentru a facilita programarea sistemului macOS și dezvoltarea de aplicații native. Proiectul include un generator de binding-uri Objective-C care scanează bazele de date de simboluri ale sistemului pentru a produce cod sursă Go și constante. Acest instrument permite inspectarea simbolurilor framework-ului și gestionarea modulelor de binding pentru a menține interfețe actualizate cu framework-urile native. Biblioteca oferă un sistem de gestionare a memoriei pentru coordonarea ciclurilor de viață ale obiectelor native în Go. Aceasta acoperă utilizarea numărării referințelor, crearea de autorelease pools pentru a gestiona obiectele amânate și aplicarea finalizatorilor pentru a preveni scurgerile de memorie. De asemenea, suportă interacțiunea directă cu sistemul de operare prin apeluri de sistem cu binding direct și cereri de informații despre kernel.
Provides a generator that scans system symbol databases to produce Go source code and constants for native frameworks.
Rust-bindgen este un generator de binding-uri pentru interfața de funcții străine (FFI) la momentul build-ului și un parser de headere C conceput pentru a automatiza interoperabilitatea între limbaje. Funcționează ca un instrument pentru a face legătura între Rust și bibliotecile C, C++ și Objective-C prin producerea de declarații specifice platformei în timpul procesului de compilare. Proiectul se distinge prin capacitatea sa de a gestiona constructe complexe ale limbajelor din familia C, incluzând moștenirea și metodele C++, precum și clasele și protocoalele Objective-C. Asigură compatibilitatea binară pe diferite arhitecturi prin calcularea layout-urilor de memorie conștiente de țintă și validarea faptului că dimensiunile și aliniamentele structurilor generate se potrivesc cu definițiile sursă originale. Instrumentul oferă mapare extinsă a tipurilor pentru uniuni C, bitfields și membri de tip array flexibili, mapând în același timp tipurile complexe sau netraductibile din biblioteca standard către blob-uri de octeți opace. Include un sistem de configurare pentru filtrarea binding-urilor, substituirea tipurilor complexe și controlul derivării trăsăturilor sau vizibilitatea câmpurilor. Binding-urile generate pot include documentație extrasă din headerele sistemului și sunt procesate printr-un formator standard pentru a asigura un stil de cod consistent.
Creates FFI definitions from Objective-C headers by mapping classes to structs and protocols to traits.