Rust 라이브러리에 실행 가능한 대상 추가하기
new
명령으로 라이브러리 프로젝트를 쉽게 생성할 수 있습니다.cargo new pumpkin-rs --lib
물론 라이브러리의 주요 목적은 다른 라이브러리나 응용 프로그램에서 사용하기 위해 내보낼 수 있는 일종의 기능을 캡슐화하는 것입니다.
이 게시물의 목적을 위해 라이브러리의 핵심이 될 간단한 함수를
src/lib.rs
에 정의해 보겠습니다. 나중에 동일한 프로젝트의 실행 가능한 바이너리 대상에서 이 함수를 사용하는 방법을 살펴보겠습니다.pub fn say_hello() {
println!("Hello from the library");
}
모든 것이 성공적으로 빌드되었는지 다시 확인하기 위해
cargo build
를 실행할 수 있습니다... 짜잔!화물 대상
특정 상황에서는 라이브러리 프로젝트에 실행 가능한 구성 요소(실행할 수 있는 독립 실행형 프로그램)를 포함하는 것이 도움이 될 수 있습니다.
Cargotargets를 사용하면 프로젝트에서 컴파일할 수 있는 다양한 소스 파일 조합을 정의할 수 있습니다. 대상은 소스 코드의 어떤 부분이 라이브러리, 바이너리, 예제, 단위 테스트 또는 벤치마크인지 지정할 수 있습니다.
멋진 점은 Cargo가 폴더 구조conventions를 사용하여 어떤 소스 파일이 무엇을 하는지 추측한다는 것입니다. 예를 들어,
src/lib.rs
는 라이브러리 코드를 찾는 곳이고, 실행 가능한 코드는 src/main.rs
또는 src/bin/
에서 예상됩니다.기본 바이너리 대상 추가
위의 규칙에 따라
src/bin/pumpkin.rs
를 생성하여 기본 실행 파일을 라이브러리 프로젝트에 추가할 수 있습니다.use pumpkin_rs::say_hello;
fn main() {
say_hello()
}
cargo run
를 실행하면 바이너리가 실행됩니다! 🎉뿐만 아니라
cargo build
는 이제 2개의 개별 출력을 생성합니다. 라이브러리와 실행 파일에 대해 컴파일된 바이너리를 얻습니다.둘 이상의 이진 대상
우리는 단일 바이너리 대상으로 제한되지 않습니다. 하나 이상이있을 수 있습니다!
만들자
src/bin/tomato.rs
fn main() {
println!("Hello 🍅")
}
이제 이전처럼
cargo run
를 실행하면 사용 가능한 바이너리 대상이 두 개 있고 cargo는 우리가 사용하려는 대상을 모르기 때문에 오류 메시지가 표시됩니다. 오류 메시지는 Cargo.toml
의 대상 구성을 사용하여 default-run
키를 정의하거나 --bin
인수를 run
명령에 전달할 수 있음을 시사합니다.cargo run --bin tomato
Reference
이 문제에 관하여(Rust 라이브러리에 실행 가능한 대상 추가하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hbko/adding-an-executable-target-to-a-rust-library-3hej텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)