Dev
Windows 10 터미널 커스터마이징 (feat. WSL2, oh-my-zsh)
* 본 글은 nomad coder에서 무료로 제공해주신 개발자를 위한 윈도우 셋업 강의에서 본 내용을 토대로 정리한 것입니다. Windows 10에는 기본적으로 Windows PowerShell이라는 터미널이 존재합니다. 하지만 모두들 알다시피 PowerShell의 비주얼은 아래와 같이 사용하고 싶은 욕구가 단 1도 일어나지 않습니다... :( 이왕 개발할 거면 터미널이라도 보기 좋게 커스터마이징하는 것이 좋지 않을까! 그런 마음으로 터미널을 커스터마이징 해보고자 했습니다. 오늘 포스팅을 따라오기 전에 해주셔야 할 것들이 있습니다! 1. WSL2 설치하기 -> 리눅스 쉘을 기반으로 커스터마이징 할 거라서 WSL2를 설치하지 않았다면 이전에 작성했던 포스팅을 참고해주세요! 2. Microsoft Store..
open, read, close 함수 정리
open 헤더 : fcntl.h open은 두 가지 형태의 시스템 콜을 가지고 있다. 형태는 아래와 같다. 참고로 rush 및 bsq에서는 첫 번째 시스템 콜을 이용할 것이다. int open(const char *pathname, int flags); int open(const char *pathname, int flag, mode_t mode); pathname 파일의 경로와 이름으로, 절대경로의 파일명과 상대경로의 파일명 모두 허용된다. rush와 bsq에서는 간단하게 파일명으로 지정하고 읽고자 하는 파일을 Makefile과 같은 경로에 두면 된다. flags 파일을 어떻게 열지를 결정하는 플래그로서, 읽기 전용으로 열 때는 O_RDONLY, 쓰기 전용으로 열 때는 O_WRONLY, 읽기 쓰기로 열..
구조체 정리
1. 구조체 목적 구조체는 관련 정보를 하나의 의미로 묶을 때 사용한다. 2. 구조체 사용 방법 (기본) (1) 구조체 정의 및 변수 선언 구조체는 아래처럼 struct 키워드로 정의한다. struct [구조체이름] { 자료형 멤버이름1; 자료형 멤버이름2; ... }; ////////////////////// 예시 //////////////////////// struct member {// 구조체 이름 : member charnumber[20];// 구조체 멤버 1 charname[20];// 구조체 멤버 2 intage;// 구조체 멤버 3 }; 위처럼 정의한 구조체는 이후 int나 char형, unsigned int 등의 자료형처럼 struct [구조체이름] 형태로 자료형 자리에 붙여준다. 구조체를..
헤더 파일 관련 정리
1. #ifndef, #define, #endif 임의로 만든 헤더파일 안에는 항상 아래와 같은 형식으로 내용을 처리하여 준다. 하나의 헤더 파일만 사용한다면 크게 의미가 없겠으나, 다수의 헤더 파일을 작성하고 헤더 파일이 헤더 파일을 include하게 될 경우가 분명 생긴다. 이 경우, 아래와 같이 중복 방지 처리를 해주지 않는다면 언젠가 꼬여버려서 하나의 C파일 혹은 헤더 파일이 동일한 헤더 파일을 2번 이상 include하게 되는 경우가 생길 수 있다. 그렇게 된다면 컴파일 에러가 뜨니 중복 방지 처리에 습관을 들여주자. 헤더 파일 이름은 hello.h라고 가정한다면, hello.h의 내용은 아래와 같다. #ifndef HELLO_H # define HELLO_H (내용) #endif (1) #if..
[Linux] mv 명령어 (파일/디렉토리 이동, 이름 변경)
1. 단일 파일 이동 $ mv [이동시킬 파일의 현재 경로/이동시킬 파일의 이름] [목적 경로] * 만약 현재 디렉토리에 있는 파일을 옮기고 싶을 경우, 현재 파일 경로는 생략. * 목적 경로는 '디렉토리명/' 으로 써야 한다. 주의할 점은 pwd 명령어를 이용하는 등의 방법으로 home부터 시작하는 전체 경로를 파악한 후 지정해줘야 한다. home부터 시작하는 전체 경로를 지정하지 않으면 위와 같이 파일을 move시킬 수 없다고 permission denied. 하지만 현재 디렉토리의 하위 디렉토리에 있는 파일들을 이동시킬 때는 위와 같이 home부터 시작하는 전체 경로를 써줄 필요가 없다. 2. 다수 파일 이동 $ mv [이동시킬 파일의 현재 경로/이동시킬 파일의 이름] [이동시킬 파일의 현재 경로/..
[C언어] 코드로 알아보는 산술 연산자
산술 연산자 정리 연산자 설명 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 (몫) % 나머지 ++ 증가 연산자. 변수 = 변수 + 1 (전위/후위 구분 있으니 아래 코드 참고) -- 감소 연산자. 변수 = 변수 - 1 (전위/후위 구분 있으니 아래 코드 참고) printf 함수 내에서 산술 연산 # include int main() { int a = 20; int b = 10; printf("\n\n", a, b); printf("a + b = %d\t", a+b);// a + b = 20 + 10 = 30 printf("현재 a = %d, b = %d\n", a, b); printf("a - b = %d\t", a-b);// a - b = 20 - 10 = 10 printf("현재 a = %d, b = %d\..
[VS Code] 단축키 정리
혼자서 자주 쓰는 명령어들을 잊지 않기 위해 만드는 Cheat Sheet 개념으로, 많은 단축키가 없음을 유념해주시기 바랍니다. 좋은 명령어가 있다면 공유도 부탁드립니다 고수님들! 감사합니다 :) 공통 명령어 단축키 내용 Ctrl+/ 주석 생성 / 주석 삭제 Ctrl+K+F 소스코드 정렬 Ctrl + [ 들여쓰기 왼쪽으로 이동 Ctrl + ] 들여쓰기 오른쪽으로 이동 Ctrl + 1 좌측으로 화면 분할 Ctrl + 2 우측으로 화면 분할 Ctrl + G 입력한 라인으로 이동 Ctrl + L 현재 라인 선택 Ctrl + P 해당 디렉토리의 파일 목록 열기 Ctrl + B 좌측 토글 사이드바 열기 / 숨기기 Ctrl + K -> Z 에디트 창 확대 Ctrl + Shift + ` 터미널창 열기 Ctrl + S..
[C언어] scanf 정리
입력 함수 scanf 형식 : scanf("형식 지정자", 변수의 주소); # include // scanf, printf 함수을 포함하고 있는 헤더 파일 int main() { int a; char b; double c; float d = 1.1; printf("%d %c %f %f\n", a, b, c, d); scanf("%d %c %lf %f", &a, &b, &c, &d); printf("%d %c %f %f", a, b, c, d); return 0; } /*************** 결과 **************** 0 0.000000 1.100000 1 a 15.6 17.9 (를 입력하면) 1 a 15.600000 17.900000 (이 출력된다) **********************..