> 백엔드 개발 > C++ > Typescript와 BON에서 C 컴파일 : 빠르고, 기본 및 단순

Typescript와 BON에서 C 컴파일 : 빠르고, 기본 및 단순

Barbara Streisand
풀어 주다: 2025-01-25 10:04:10
원래의
636명이 탐색했습니다.

Compiling C in Bun with TypeScript: Fast, Native, and Simple

TypeScript 프로젝트 내에서 매우 빠른 C 컴파일을 위해 Bun의 FFI를 활용합니다. 처음에는 C 코드를 TypeScript와 통합하는 것이 복잡한 작업이라고 생각했지만 Bun의 FFI(외부 함수 인터페이스)는 프로세스를 놀랍도록 단순화합니다. TypeScript 코드에서 직접 네이티브 C 성능을 달성하는 방법은 다음과 같습니다.

초기 설정: TypeScript 오류 방지

Bun으로 새 프로젝트를 초기화하여 적절한 TypeScript 설정을 확인하세요.

<code class="language-bash">bun init -y  # Skips interactive prompts</code>
로그인 후 복사

C를 TypeScript로 컴파일하는 이유는 무엇입니까?

이 접근 방식을 사용하면 JavaScript 환경 내에서 C의 원시 속도를 활용할 수 있습니다. Bun v1.2의 bun:ffi을 사용하면 TypeScript로 C를 직접 컴파일할 수 있으므로 WebAssembly 또는 node-gyp가 필요하지 않아 기본 실행 속도가 향상됩니다.

간단한 "Hello, World!" 예시

기본 C 함수를 만들어 보겠습니다.

<code class="language-c">// hello.c
#include <stdio.h>
void hello(const char* name) {
  printf("Hello %s from C!\n", name);
}</code>
로그인 후 복사

이제 해당 TypeScript 코드(main.ts):

<code class="language-typescript">import { cc } from "bun:ffi";

const { symbols: { hello } } = cc({
  source: "./hello.c",
  symbols: {
    hello: {
      args: ["cstring"],
      returns: "void"
    }
  } as const,
});

const name = "World";
const cString = Buffer.from(name);

hello(cString); // Output: "Hello World from C!"</code>
로그인 후 복사

다음으로 실행:

<code class="language-bash">bun run main.ts</code>
로그인 후 복사

성능 및 실제 적용

벤치마킹 결과 놀라운 속도가 나타났습니다. 호출당 약 6.26ns(2ns Bun 오버헤드 포함).

실제 사용 사례는 다음과 같습니다.

  • 운영 체제 API(예: macOS 키체인, Windows 레지스트리)와 인터페이스합니다.
  • 계산 집약적인 작업 최적화(예: 소수 계산, 비디오 인코딩)

중요 고려사항

  • TinyCC 제한 사항: 현재 구현에서는 GCC 또는 Clang의 최적화 기능이 부족한 TinyCC를 활용합니다.
  • 실험적 기능: 스레드 안전성 및 비동기 콜백 지원은 아직 개발 중입니다.
  • 문자열 인코딩: UTF-8 인코딩이 기본값입니다.

빠른 시작 가이드

  1. 번 설치:
<code class="language-bash">curl -fsSL https://bun.sh/install | bash</code>
로그인 후 복사
  1. 프로젝트 초기화(TypeScript 통합에 중요):
<code class="language-bash">bun init -y</code>
로그인 후 복사
  1. 위 예시에서 hello.cmain.ts 파일을 추가하세요.

추가 튜토리얼과 업데이트를 보려면 내 블로그를 팔로우하세요!

추가 자료: Bun FFI 문서, Bun 블로그

위 내용은 Typescript와 BON에서 C 컴파일 : 빠르고, 기본 및 단순의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿