자택경비대

VIM script로 파일 경로 문자열에서 파일명 뽑아내는 방법

Programming

fnamemodify 함수를 사용해서 아래와 같이 절대 경로에서 파일명만 추출하는것이 가능하다.

" echo baz
echo fnamemodify('/foo/bar/baz', ':t')

Unix/Linux 명령어 옵션 벤치마크 하는방법

Programming

time 명령어를 사용하여, 인자로 전달된 명령어의 실행 시간, CPU 사용량 등을 측정하여 보여주도록 할 수 있다.


make 명령어의 옵션 측정 예

# time make
make  16.50s user 1.73s system 98% cpu 18.561 total
make -j4  19.80s user 2.07s system 329% cpu 6.634 total
make -j8  23.94s user 2.35s system 472% cpu 5.568 total

Makefile에서 dependency가 누락되는 현상 해결법

Programming

예를 들면 다음과 같다:

all: foo bar

foo:
    echo foo

bar:
    echo bar

이렇게 Makefile이 존재할 때 make all을 하면 foo는 실행되는데 bar은 안된다던가, bar는 실행되지만 foo를 건너뛰는 등의 경우이다.

이런 경우에는 같은 폴더에 foo, bar과 같은 이름의 폴더가 존재하기 때문에 이런 결과가 나타난다.

해결방법은 .PHONY 구문을 이용하여 예외로 지정해주면 간단히 해결된다.

.PHONY: foo bar
all: foo bar

foo:
    echo foo

bar:
    echo bar