• Git,  Programming

    [Git] Repository에 올라온 파일 삭제 (git rm)

    이미 repository에 올라간 파일을 삭제할 경우가 종종 생긴다. 이 때 사용되는 명령은 다음과 같다. Option Description -f 실제 파일을 삭제한 뒤 수정한 파일이 staged 상태에 있는 경우, staged 상태에서 제거 할 때 사용…

  • C / C++,  Programming

    [C / C++] #include 지시어 “”와 <>

    C coding을 하면 header file include를 많이 하는데, 지시어인 <>과 “”를 혼용해서 사용한다. 그 둘의 차이는 다음과 같다. include <> 일반적으로 system header file들의 경로에서 해당하는 header file을 검색한다. 컴파일러에게 따로 include path를…

  • Git,  Programming

    [Git] fatal: refusing to merge unrelated histories

    Git을 사용하는 도중 다음과 같은 error를 종종 발견 할 수 있다. 나같은 경우엔 github의 repository에 local에 있는 git을 업로드하기 위해서 우선 git pull을 수행한 경우다. 위 error 원인은 로컬 저장소와 원격지의 저장소의 기록(History)을 비교했을 때 소스코드의 차이가 심한 저장소의 경우, 병합 오류가 날 것을 대비하여 오류 메시지를 띄우는 것이다. 이 때 아래와 같이…

  • Linux,  Programming

    [Linux] readline 구현

    readline은 Command Line Interface (CLI)에서 줄 편집 및 입력 기록 저장 등의 역할을 하는 library다. 크게 두 부분 (client, server)로 나눠진다. 1 Byte 단위로 Data Read Example # Make fifo $ mkfifo mkfifo…

  • Linux,  Programming

    [Linux] Pthread 개념 (pthread_create / pthread_join / pthread_exit)

    Thread는 process와 다르게 thread 끼리는 서로 메모리를 공유한다. (물론 process간 메모리를 공유하는 부분이 있다.) 특히 global variable을 thread간은 공유하며, process간은 공유하지 않는다. 또한 local variable은 process간 모두 공유하지 않고 thread는 공유한다. Linux에선 pthread_create()…

  • Linux,  Programming

    [Linux] exec 계열 함수

    exec 계열 함수들은 현재의 프로세스 이미지를 새로운 프로세스 이미지로 덮어쓴다. exec 계열 함수들은 library 함수로 구성된다.exec 계열 함수를 통해서 fork()로 child process를 만든 뒤 독립적인 process로 만들어주는 역할을 한다. 각 exec 함수들은 argument를…

  • Linux,  Programming

    [Linux] wait() System Call 함수

    자식 프로세스 작업이 끝날 때 까지 대기하며, 자식 프로세스가 종료한 상태를 구한다. wait()함수를 실행하면 자식 프로세스가 종료될 때까지 대기한다. 만일 자식 프로세스가 정상 종료하여, main()에서 return 으로 값을 반환하거나, 또는 exit()로 값을 반환하며…

  • Linux,  Programming

    [Linux] 명령어 Option 추출 함수 (getopt)

    프로그램을 작성 할 때 option 활용은 많이 요구된다. 이 때 linux에선 이를 위한 함수를 제공한다. getopt 해당 함수는 “-“가 붙은 option에 대해서만 추출해준다. Return Description -1 외 다른 값 getopt 인자로 넣은 option에…