분류 전체보기105 [Rust] Hello World 프로젝트 새 프로젝트 생성cd 명령어로 원하시는 경로에 접근한 후, 원하시는 이름으로 cargo new 명령어를 사용해 프로젝트를 생성합니다.$ cargo new 프로젝트_이름 프로젝트명 > src 폴더 안에 있는 main.rs 를 열어보면 기본적으로 cargo 가 프로젝트를 생성하면서 Hello, world! 를 출력하는 코드를 준비한 것을 확인하실 수 있습니다.만약 위와 같은 코드가 준비되지 않았다면 아래 코드를 복사하여 main.rs 에 붙여넣습니다.fn main(){ println!("Hello, world!");} 콘솔 화면에 Hello World 출력하기아래처럼 입력하여 현재 프로젝트 경로 내부로 이동합니다. (Cargo.toml 이 위치한 폴더 경로)$ cd .\프로젝트_이름\ 이제 cargo b.. 2025. 1. 6. [Rust] 패키지 매니저 Cargo 사용하기 Rust 패키지 매니저 Cargo 란 무엇인가?Cargo 는 Rust 프로젝트 생성, 빌드, 테스트, 의존성을 관리하기 위한 도구입니다. Cargo 설치Rust 컴파일러를 설치하면 Cargo 도 함께 설치됩니다. 설치 방법은 [Rust] 컴파일러 설치하기 (Windows) 글을 참고해 주세요. 새 프로젝트 생성Cargo 로 완전히 새 프로젝트(package) 를 생성하려면 다음 명령어를 사용합니다.$ cargo new 프로젝트_이름위 명령은 기본 구조를 갖춘 Rust 프로젝트를 생성합니다. 기본 디렉터리 구조는 다음과 같습니다.프로젝트_이름/├── Cargo.toml # 프로젝트 설정 파일└── src/ └── main.rs # 기본 실행 파일기존 프로젝트 초기화현재 경로를 Cargo 프로젝.. 2024. 12. 23. [C++ Core Guidelines] I.11 원시 포인터(T*) 또는 참조(T&) 로 소유권을 넘기지 말자 I.11: Never transfer ownership by a raw pointer (T*) or reference (T&) 이유함수를 호출하거나 함수에서 결과를 반환할 때 누가 해당 데이터의 소유권을 책임지고 있는지 제대로 신경쓰지 않으면 메모리 릭을 일으키거나 실수로 미리 소멸자를 부르는 일이 발생할 수 있습니다. 예시 (나쁜 예)// 나쁨 : 이 함수만 보고는 X 를 누가 책임지고 지울지 알 수가 없습니다.X* compute(args){ X* res = new X{}; // ... return res;} 반환된 X는 누가 삭제할 것인지 의도를 알 수 없습니다. 포인터 대신 참조를 반환하면 문제를 발견하기 더 어렵게 만듭니다.위 경우 차라리 값으로 결과를 반환하는 것이 낫습니다. .. 2024. 12. 10. [Rust] 컴파일러 설치하기 (Windows) 1. 아래 링크에 접속합니다.https://www.rust-lang.org/tools/install 2. 컴파일러 설치 프로그램을 다운로드 받습니다.OS 버전에 맞춰 설치 파일을 선택하시면 다운로드가 진행됩니다. (일반적으로 64비트를 선택하시면 됩니다.)다운로드된 rustup-init.exe 를 실행합니다. 3. Visual Studio C++ Build tools 설치 (이미 설치되어 있는 경우 현재 단계 생략)위처럼 표시된다면 Visual Studio C++ Build tools 가 설치되어 있지 않은 경우입니다.1 을 적고 엔터를 눌러 Visual Studio 설치를 진행합니다.C++ Build tools 와 Windows SDK 가 선택된 상태로 Install 을 누릅니다.설치가 끝나면 OK.. 2024. 12. 10. [Rust] 유용한 자료 및 링크 모음 공식 홈페이지https://www.rust-lang.org/ 공식 레퍼런스https://doc.rust-lang.org/reference/index.html 튜토리얼 (교과서 방식)https://www.rust-lang.org/learn 튜토리얼 (실습 방식)https://github.com/rust-lang/rustlings 러스트를 배웁시다 - Easy Rust in Korean (mithradates YouTube)https://www.youtube.com/playlist?list=PLfllocyHVgsSJf1zO6k6o3SX2mbZjAqYE 커뮤니티 링크 모음https://www.rust-lang.org/community 2024. 12. 9. [C++ Core Guidelines] I.10 예외를 사용해 필수 작업의 실패를 알리자 I.10: Use exceptions to signal a failure to perform a required task 이유에러를 무시하고 그냥 코드가 실행되게 놔두면 예상하지 못한 동작을 일으킬 수 있습니다.에러의 정의는 함수가 원래 달성해야 할 목적을 이루지 못했음을 의미합니다. 예시 (나쁜 예, 좋은 예)// 나쁨 : 음수를 반환해서 에러가 났음을 알립니다.int printf(const char* ...);// 좋음 : 새로운 스레드를 생성할 수 없을 경우 system_error 예외가 발생됩니다.templateexplicit thread(F&& f, Args&&... args); 알아두기만약 UNIX 의 시그널 헤더에서 제공하는 errno 처럼 에러 코드를 지원하는 경우, 이를 사용해도 무방.. 2024. 9. 12. 이전 1 2 3 4 ··· 18 다음