프로그래밍/툴(18)
-
[git] 리모트/브랜치 관련 내용
origin : 원격지 저장소를 가르키는 명칭 master : 최초로 생성되는 default 브랜치 - 원격 저장소 # git remote add origin https://github.com/namacin/project.git 원격 repository 추가 # git remote set-url --push origin https://github.com/namacin/project.git 원격 repository url 변경 - 리모트 갱신 # git remote update - 로컬에서 브랜치 생성 # git checkout -b new-branch # 현재 브렌치에서 new-branch 생성 # git checkout -b dst-branch src-branch # src-branch 에서 dst-b..
2020.04.21 -
gcc 내장 함수
include/linux/compiler.h #define likely(x) __builtin_expect((x), 1)#define unlikely(x) __builtin_expect((x), 0) likely() 는 true가 될 확률이 높은 조건문에서 성능을 높이고자 사용한다.unlikely()는 false가 될 확률이 높은 조건문에서 성능을 높이고자 사용한다. __builtin_except() 컴파일러에게 branch prediction 정보를 주고자하는 함수이다.자주 사용되지 않는 문장을 함수의 뒷 부분에 배치하여 메모리 캐시나 branch prediction cache에 영향을 주어 성능을 최적하 시키려고 할 때 사용한다. likely/unlikely와는 다르게 userspace에서도 사용할 ..
2018.03.22 -
gdb를 이용한 리모트 디버깅
* 타겟에는 gdbserver를 실행 # gdbserver 타겟의IP:포트 디버깅할파일 * 호스트에서 cross-gdb 실행 # cross-gdbgdb) target remote 타겟의IP주소:포트 디버깅할파일gdb) break 라인넘버 or 함수명gdb) continue
2015.04.15 -
Makefile 만들기
FIRST_VAR = Var is Macro # FIRST_VAR 을 정의하고 Var is Macro을 기억시킨다.SECOND_VAR = $(FIRST_VAR :Macro=Variable)# SECOND_VAR 을 정의하고 FIRST_VAR 에서 Macro를 Variable로 바꾸어 기억시킨다. .SUFFIXES = .c .o# .c 와 .o 파일은 미리 정의되어있는 매크로(변수)를 적용시킨다. 미리 정의되어있는 변수(매크로) CFLAGSCPPFLAGSLDFLAGS 등 $+# 확장자가 없는 현재의 target 파일$@# 현재의 target 파일$
2014.06.24 -
gcc 툴체인 옵션 간단 정리
- 정말 오래전에 정리해둔 파일을 발견, 웹에 옮겨 둔다. gcc -c : 컴파일만 -nostdinc / - nostdinc++ : 표준 헤더파일을 디렉토리를 검색하지 않는다. -o : 출력파일 이름 -static : 정정 링크를 해서 실행파일을 만든다. -shared : 동적으로 링크 -soname : 동적 라이브러리를 만든다. -O : 최적화 옵션 -S : 어셈블링을 하지 않는다 ( 어셈블 소스 코드 출력 ) -E : 프리프로세싱만 수행 -D : 매크로 디파인 -g : 디버깅 정보 포함 -ggdb : gdb전용 옵션 포함 -pg : profiling을 위한 정보 포함 -w : 모든 경고 메세지 억제 -Wall : gcc가 제공할 수 있고 유용한 모든 경고 메세지를 나타낸다 -werror : 모든 경고..
2014.04.16 -
Makefile
.c.o:gcc -c $
2013.11.27