Rust 함수 생성 및 사용

생김새 1 2 3 fn main() { } 💡 Tips 프로그램의 시작은 fn main() 함수에서 시작한다는 것을 이전 포스팅에서 알 수 있었습니다. C/C++ 및 Java에서 흔히 함수명 앞에 반환하는 데이터 타입, 뒤에는 함수에서 사용할 Parameter를 정의했는데 Rsut 에서는 반환 데이터 타입 대신 fn 이라는 키워드가 옵니다. 그렇다면 함수가 반환할 때는 어떻게 해야할까요? 새로운 함수를 만들어 보겠습니다. 😊 함수 생성 및 사용 1 2 3 4 5 6 7 8 9 10 fn main() { println!("{} + {} = {}", 2, 3, add(2, 3)); } fn add(a:i32, b:i32) -> i32 { return a + b; } // 실행결과 // 2 + 3 = 5 fn add(a:i32, b:i32) -> i32 에서 볼 수 있듯 fn 키워드를 이용하여 함수임을 선언한 후 함수 이름과 사용할 Parameter를 정의했고, 처음 보는 기호 ->를 통해 반환형이 i32라고 정의하는 것을 볼 수 있습니다! ...

2024년 04월 13일 · 1 min · 195 words · JongBin

Rust 프로그래밍을 위한 개발 환경 세팅

💡Quotation 러스트는 모질라 리서치에서 개발한 다중 패러다임, 범용 프로그래밍 언어이다. “안전하고, 병렬적이며, 실용적인” 언어로 디자인되었으며, 순수 함수형 프로그래밍, 액터 기반 병렬 프로그래밍, 명령형 프로그래밍, 객체 지향 프로그래밍 스타일을 지원한다. Wikipedia Downloads Rust VS Code rust-analyzer CodeLLDB 💡 Install tips Rust 설치 시 명령 프롬프트 창(CLI)이 실행되며 사용자로부터 입력을 기다리는데, 아무것도 쓰지 않고 Enter를 누르면 설치가 됩니다. VS Code 설치 후 두 가지의 확장을 설치해야 하는데, 이는 Rust를 쉽게 이용하기 위한 확장이며 프로젝트 구성 설정 및 디버깅을 위한 확장 프로그램 입니다. ...

2024년 04월 13일 · 2 min · 218 words · JongBin

C++ 가변 길이 구조체

💡 Quotation Flexible array members were officially standardized in C99. In practice, compilers (e.g., GCC, Microsoft’s) provided them well before C99 was standardized. Flexible array members are not officially part of C++, but language extensions are widely available. 소켓 프로그래밍 중 가변 길이의 데이터를 보낼 방법을 찾다가 발견하게 되었습니다. 위 글처럼 C99에 공식적으로 표준화가 되었으며 C++ 에서는 공식적이지는 않지만 사용할 수 있습니다. 메모리에 연속된 공간으로 할당하며 통신할 때 유용하게 사용될 수 있습니다. ...

2023년 06월 10일 · 2 min · 333 words · JongBin

Doxygen 주석으로 생성하는 코드 문서

개발자는 다른 사람이 만든 코드를 사용할 때 보는 매뉴얼이 있습니다. 위 그림과 같이 무엇을 하려면 어떤 URL에 어떤 내용을 요청해야 하는지, 함수가 하는 일과 인자는 무엇을 전달해야 하는지 상세히 다룬 내용입니다. 이런 문서를 소스 코드와 별개로 관리한다면 소스 코드의 수정이 있을 때마다 각각 수정 해야하는 번거로움과 수정 내용이 반영이 되지 않는다면 문서 내용에 결점이 생길 수도 있습니다. 이런 문제를 해결하기 위해 구글링 중 Doxygen을 찾았고, 실무에 사용하기 위해 공부하고 포스팅 했습니다. ...

2023년 05월 15일 · 5 min · 1063 words · JongBin

데이터 구조 정렬 (Data Structure Alignment)

Processor 대부분의 컴퓨터는 32비트 또는 64비트의 프로세서를 갖고 있습니다. 이는 프로세서가 데이터를 처리할 때 사용하는 레지스터1)의 크기, 데이터들의 전송 통로인 버스의 폭에 따라 결정됩니다. 💡 Tips Bit Byte Count Range 8 1 \(2^{8} = 256\) -128 ~ 127 32 4 \(2^{32} = 4,294,967,296\) −2,147,483,648 ~ 2,147,483,647 64 8 \(2^{64} = 18,446,744,073,709,551,616\) –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 맨 왼쪽 비트는 부호를 나타내는 비트이고, unsigned를 붙이면 부호 비트 자리도 데이터가 올 수 있음 Memory access 프로세서가 메모리에 읽기 또는 쓰기를 할 때도 32비트 또는 64비트씩 접근하여 처리합니다. 따라서 프로세서의 아키텍쳐에 맞추어 4의 배수 또는 8의 배수의 사이즈가 되게 코딩을 해주면 메모리 접근을 줄일 수 있고 효율과 성능을 높일 수 있습니다! ...

2023년 05월 11일 · 3 min · 629 words · JongBin