Bun suggestum, ut jocus ad Node.js evolvit, et ad solam executionem applicationum in JavaScript, JSX et TypeScript scriptas disposito, experimentalem facultatem habet ad componendi et exequendi tractores in C. scriptum. Antea, codicem humilem gradum vocantem requirebat vel creans N-API additiones vel componens codicem in formatam WebAssembly (WASM/WASI), quae evolutionem implicatam certis restrictionibus imposuit. Nunc C codice potest directe embedded in JavaScript et compilavit in musca TinyCC compilator utens, necnon bibliothecarum dynamice coniunctus. import {cc} from "bun:ffi"; export const { symbola: { salve }, } = cc({ source: "./hello.c", symbols: { salve: { redit: "vacua", args: [], }, }, }); salve();
Ad operandum cum lingua C, bun:ffi iacuit usus est, qui fontem codicem in instructiones machinae conficit, memoriam in executione inmittit, et automatic conversionem notitiarum specierum inter JavaScript et C praebet. Notatur supra caput cum accessu codici C compilatis elevatum est et inductionem inducit circa 2 nanoseconds pro unaquaque vocatione ad functiones externas C. Exemplum, ostenditur quomodo directe accessere potes bibliothecas FFmpeg ad breves videos convertendas - tales operationes eliminando ut processus separatum et memoriam pro singulis video collocandis, totum tempus exsecutionis munerum testium cum usura bun:ffi redactum est. per ter.
Praeterea, in emissione Bun 1.1.29, subsidium pro N-API (napi) pro C codice additum est, propter quod tracto in C scriptum redire possunt obiecta, chordae, vestitus et alia JavaScript bona primitiva, praeterquam. typi in C lingua inhaerentes, ut int et innatat. Mechanismus vocandi tractores in lingua C etiam operatur, cum dynamice oneraverit quaslibet bibliothecas cum C ABI, cuiuscumque linguae in qua originaliter scriptae sunt (C++, Rust, Zig, etc.), quod permittit te vocare ex codice JavaScript. ab his bibliothecis munera praeberi sine coeundi stadio. Exempli gratia, ratio APIs nunc ex JavaScript.
Recordare consilium Bun cum oculo augeri ad compatibilitatem cum applicationibus servandis pro Node.js scriptis, et maxime sustinet in Node.js API. In suggestu ponit instrumenta instrumentorum ad applicationes conficiendas et currendas in JavaScript et in TypeScript, necnon runtime ad currendum JavaScript applications sine navigatro, in sarcina procurator (NPM compatible), instrumenta pro currendo probat, et ratio aedificandi sui. continebat fasciculis. In terminis faciendis, Bun conspicue ante Deno et Node.js (in probationibus ex compage React, Bun suggestum 2 temporibus velocius est quam Deno et fere 5 temporibus velocius quam Node.js). Codex Bun in Zig et C++ scriptus est, et sub MIT licentia distribuitur. Exsequi JavaScript, JavaScriptCore JavaScript Engine et Project partes WebKit cum additional inaequaliter adhibentur.
Source: opennet.ru
