바이너리 모듈

Rust 바이너리는 아래의 예와 같이 rust_binary 모듈 유형을 사용하여 생성할 수 있습니다.

rust_binary {
    name: "hello_rust",
    srcs: ["src/hello_rust.rs"],
}

마찬가지로, rust_binary_host를 사용하여 호스트 전용 모듈을 생성할 수 있습니다.

주목할 만한 rust_binary 속성

다음은 주요 공통 속성 외에도 중요하거나 rust_binary 모듈 유형의 고유한 동작을 나타내는 속성입니다.

  • static_executable: 이 바이너리를 정적 바이너리로서 빌드하고, prefer_rlibtrue임을 암시합니다. 완전 정적 실행 파일은 Bionic 타겟용으로만 생성할 수 있습니다. 비Bionic 타겟의 경우에는 prefer_rlibtrue임을 암시하기만 하고 바이너리를 빌드하지는 않으며, libclibdl을 동적으로 링크합니다.
  • prefer_rlib: rustlibs 링크가 기기 타겟용으로 기본적으로 rlib 링크를 선택하도록 변경하고, 기기 타겟에서 libstdrlib로서 링크합니다. 이는 호스트 타겟의 기본 동작이므로 호스트 타겟에서는 영향이 없습니다.

링크

기기를 타겟팅하는 rust_binary 모듈은 기본적으로 항상 libstd에 동적으로 링크되며, prefer_rlibtrue가 아닌 이상 rustlibs에 나열된 종속 항목으로 기본적으로 dylib 라이브러리를 선호합니다. 완전 정적 바이너리가 필요한 경우 static_executable 속성을 참고하세요.

호스트 모듈은 항상 libstd에 정적으로 링크되며, rustlibs에 나열된 종속 항목으로 기본적으로 rlib 라이브러리를 선호합니다.