Zig
최근 편집일시 :
분류
Poppy의 정규 5집 앨범에 대한 내용은 Zig(음반) 문서 참고하십시오.
1. 개요[편집]
const std = @import("std");
pub fn main() void {
std.debug.print("Hello, world!\n");
}
C언어와의 호환성을 중시하는 다목적 프로그래밍 언어. Rust로부터 상당한 문법적 영향을 받았으나 러스트의 핵심 개념이라고 할 수 있는 컴파일 타임에서의 메모리 체크를 포기하고 개발자가 직접 메모리를 관리하도록 하는 것이 특징이다.[1]
C와 C++에 친화적이기 때문에 C헤더 파일을 그대로 include해 사용할 수 있다거나 별도의 FFI 없이 C/C++ 빌드 시스템이나 라이브러리를 사용하는 것도 가능하다. 사실 zig 자체가 완전한 C 컴파일러이기도 하다. 그 외에도 크로스 컴파일을 중점으로 두는 등의 장점이 있다.
그 외
u8
등의 타입 이름은 Rust의 영향을 받았다.일반적인 벤치마크에서 러스트보다 살짝 빠르지만, 러스트보다 느린 경우도 있다. 벤치마크 다만 메모리 사용률이 러스트에 비해 절반 정도에 불과할 만큼 차이가 난다는 장점이 있다.
2. 여담[편집]
JavaScript 런타임 중 하나인 bun이 해당 언어로 개발되었다.
ferris를 마스코트로 가지고 있는 Rust와 달리 도마뱀을 마스코트로 가지고 있다.
3. 관련 링크[편집]
이 문서의 내용 중 전체 또는 일부는 2023-11-05 23:56:10에 나무위키 Zig 문서에서 가져왔습니다.
[1] 정확히는 디버그 모드로 실행하면 런타임 체크가 이루어지며, 그때 버그를 잡아낼 수 있다.