본문 바로가기

전체 글27

Rust 언어 및 설치 1. Rust 언어란? 러스트(Rust)는 시스템 프로그래밍을 위한 언어이다. 시스템 프로그램이란 운영체제, 장치 드라이버, 파일시스템, 메모리 관리, 네트워킹 등 제한된 자원을 다루는 프로그래밍이다 Rust는 다른 시스템 프로그래 언어에 비해 아래와 같이 여러 장점을 가지고 있다.. 1. 안전성 시스템 프로그래밍을 위한 언어로는 C언어도 있다. 다만 Rust는 C언어에 비해 안전성과 사용성이 편리해졌다. Rust는 컴파일러에서 프로그램 코드의 undefined behavior(미정의 동작) 오류를 잡아 낸다. 예를 들어 C언어에서는 아래 예제의 코드가 이상 없이 컴파일되어진다. void main(void) { unsigned char a[2]; a[3] = 0xff; } 해당 코드를 실행하면 stack.. 2023. 11. 29.
리눅스 커널 printk 디버깅 방법 1. printk 란? printk는 커널 디버깅 및 로깅 목적으로 사용되는 중요한 함수이다. 이 함수를 사용하면 커널 내에 발생하는 이벤트 및 정보를 기록하고 원하는 변수의 값 또는 주소, printk가 포함된 함수를 누가 호출했는지 등의 내용을 디버깅 할 수 있습니다. 2. printk 사용 팁 printk는 전달하는 인자를 잘 활용하면 커널 디버깅에 많은 도움이 된다. 아래는 디버깅을 위해 printk에서 사용되는 인자를 정리한 내용이다. #include #include #include #include void test_func2(void) { printk(KERN_INFO "Caller:%pS\n", (void *)__builtin_return_address(0)); printk(KERN_INFO.. 2023. 6. 7.
vim The NERD Tree 1. vim The-NERD-tree 란? NERDTree는 Vim 편집을 위한 파일 시스템 탐색기이다. 이 플러그인을 사용하면 복잡한 디렉토리 계층 구조를 보기 편하게 Tree형태로 보여주며, 파일을 탐색하고, 빠르게 열어 읽거나 편집 할 수 있다. 2. .vimrc에 Plugin 추가 call vundle#begin() Plugin 'preservim/nerdtree' Plugin 'Xuyuanp/nerdtree-git-plugin' Plugin 'ryanoasis/vim-devicons' Plugin 'tiagofumo/vim-nerdtree-syntax-highlight' call vundle#end() vim Plugin 사용방법 https://khd0801.tistory.com/31?categ.. 2023. 4. 25.
vim 단축키 설정 1. vim 단축키란? vim은 CLI(Command Line Interface)용 편집기로 여러개의 간편한 단축키가 있고, 사용자가 원하는데로 단축키를 설정 하여 사용 할 수도있다. 현재의 블로그에서는 기존에 존재하는 단축키 사용이 아닌 사용자가 단축키를 설정하여 여태까지 추가한 플러그인의 기능을 사용자가 보다 간편하고 편리하게 사용 할 수 있는 방법을 제시한다. 2. .vimrc에 Plugin 추가 vim 단축키 설정에는 Plugin에 추가할게 없다. 3. 설정 "-----------------------------------------------------------------------" " User Key Setting "-----------------------------------------.. 2023. 4. 24.