Rust는 다중 패러다임, 범용, 컴파일된 프로그래밍 언어입니다.
몇일전 발표된 새 버전 릴리스 인기 있는 프로그래밍 언어 «러스트 1.71″, 많은 수의 API가 안정화되었으며 다양한 섹션, 개선 사항 및 더 많은 기능이 도입된 버전입니다.
이 프로그래밍 언어를 모르는 사람들은 다음을 알아야 합니다. 메모리 안전에 중점을 두고 높은 병렬성을 달성할 수 있는 수단을 제공합니다. 가비지 컬렉터 및 런타임(런타임은 기본 초기화 및 표준 라이브러리 유지 관리로 축소됨)을 사용하지 않고 작업 수를 줄입니다.
Rust의 메모리 관리 방법 포인터를 조작할 때 개발자를 오류로부터 보호하고 문제로부터 보호합니다. 메모리 영역이 해제된 후 액세스, null 포인터 역참조, 버퍼 오버플로 등과 같은 낮은 수준의 메모리 처리로 인해 발생합니다. 라이브러리 배포, 빌드 제공 및 종속성 관리를 위해 프로젝트는 Cargo 패키지 관리자를 개발합니다.
Rust 1.71의 주요 새 기능
Rust 1.71에서 제공되는 이 새 버전에서 ABI extern "C-unwind"가 안정화되었음을 강조, 접미사 "-unwind"("extern "C"')가 없는 ABI와 다른 점은 해제 프로세스가 프로그램 충돌 또는 스타일 예외 발생에 의해 시작되는 경우 안전한 동작을 유지한다는 점입니다. C++는 ABI 경계를 넘습니다. Rust의 향후 릴리스에서는 이 기능을 안정화하는 마지막 부분으로 지정된 동작과 일치하도록 이러한 ABI를 수정하려고 합니다.
눈에 띄는 또 다른 변화는 속성에 대한 안정화된 지원 '#[debug_visualizer(natvis_file = «...»)]' 및 '#[debug_visualizer(gdb_script_file = «...»)]', 무슨 pRust 라이브러리에 Microsoft Natviz 메타데이터 및 GDB 스크립트 포함 허용 라이브러리에서 생성된 데이터 구조를 검사할 때 디버깅 출력을 개선합니다. 이러한 스크립트는 이미 표준 라이브러리에 포함되어 있으며 이제 타사 라이브러리에 포함할 수 있습니다.
이 외에도 강조하고 있는 것은 Cargo는 부식 상태에서 사용을 최적화합니다. Cargo가 Rustup 프록시를 가리키는 rustc가 실행될 것임을 감지하면 프록시를 우회하고 기본 바이너리를 직접 사용하려고 합니다. rustup 및 RUSTUP_TOOLCHAIN과의 상호 작용에 대한 가정이 있습니다. 그러나 일반 사용자에게는 영향을 미치지 않을 것으로 예상됩니다.
또한, Windows에서는 동적 라이브러리의 함수를 사용할 수 있습니다. 컴파일 시 사용할 수 없는 항목(예: 빌드 환경에 불필요한 라이브러리 설치를 방지하고 교차 컴파일을 단순화하기 위해).
또한 다음과 같이 강조됩니다. 플랫폼 x86_64 h-apple-darwin에 대한 XNUMX단계 지원. 세 번째 수준에는 기본 지원이 포함되지만 자동화된 테스트, 공식 빌드 릴리스 및 코드 컴파일 기능 검증이 포함되지 않습니다.
이 새 버전에서 눈에 띄는 다른 변경 사항 :
- Musl C 라이브러리를 사용하는 대상 플랫폼은 Musl 버전 1.2.3(이전에는 버전 1.1.24가 사용됨)으로 마이그레이션되어 64비트 시스템에서 time32 유형을 사용할 수 있습니다.
- 표준 라이브러리는 "const" 속성으로 초기화되는 thread_local 매크로의 변형을 제공합니다. 이 매크로는 상수 대신 컨텍스트에서 사용할 수 있으므로 보다 최적의 코드를 생성할 수 있습니다.
- 안정화된 메서드 및 트레이트 구현을 포함하여 API의 새로운 부분이 안정화되었습니다.
- 상수 대신 모든 컨텍스트에서 사용할 가능성을 결정하는 "const" 특성은 함수에서 사용됩니다.
- Cargo 패키지 관리자를 사용하면 Cargo.toml 파일에 debuginfo라는 옵션을 지정할 수 있습니다.
- Flatten-format-args는 기본적으로 활성화되어 있습니다.
- Rust는 또한 새로운 #[link_ordinal] 속성을 사용하여 명명된 기호 대신 서수로 DLL 제공 기호에 대한 링크를 지원합니다.
- 메타데이터에 workspace_default_members 옵션을 추가했습니다. "cargo new" 및 "cargo init" 명령을 실행하면 작업 공간의 필드가 자동으로 상속됩니다.
- loongarch64-unknown-linux-gnu 대상 플랫폼에 대한 두 번째 수준 지원이 구현되었습니다.
낮잠 그것에 대해 더 알고 싶은 관심, 당신은에서 세부 사항을 확인할 수 있습니다 다음 링크.
마지막으로 하시는 분들을 위해 이전 버전의 Rust에서 업그레이드하는 데 관심이 있습니다. Rustup을 통해 설치하면 다음과 같이 Rust 1.71.0의 새 버전을 얻을 수 있습니다.
rustup update stable