본문 바로가기
반응형

SWE/Linux18

유닉스 리눅스 유틸리티 Make Makefile 기초 (1) 1장 컴파일, 실행, 디버그 타깃 make를 사용할 때 위 예제에서 나오는 program 같은 파일을 작업할 타깃(target)이라고 한다. target은 필요 항목(prerequisites) 또는 종속 항목(dependents)이라는 파일들을 기반으로 빌드된다. 그리고 이들 각 파일들은 또 다시 파일들을 필요 항목으로 갖고 있다. 예를 들어, 오브젝트 파일들을 링크하여 실행 프로그램을 작성하는 경우, 소스파일이나 헤더 파일이 변경되면 개발자는 오브젝트 파일을 링크하기 전에 컴파일부터 다시 해야 한다. 따라서 소스 파일 각각은 그에 연결되는 해당 오브젝트 파일의 필요 항목이 되는 셈이다. 기술 파일 makefile이나 Makefile을 기술 파일(description file)이라 부른다. make는 기.. 2021. 12. 9.
리눅스 GDB GDB 3가지 방법 - native : 디버깅하는 머신과 프로그램을 실행하는 머신이 같음 - remote : 디버깅하는 머신과 프로그램을 실행하는 머신이 다름 - simulator 현재 실행 중인 프로그램 pid 확인 $ ps | grep [프로그램명] root 7160 16.5 14.0 5075680 1701716 pts/0 Sl 19:04 0:38 [프로그램명] 현재 실행 중인 프로그램에 gdb 붙이기 $ gdb [프로그램명] 7160(pid) 스레드 상태 보기 (gdb) info threads 디버거가 붙어 있는 스레드 변경하기 (gdb) thread 파일,함수에 breakpoint 설정 (gdb) b main_conf_**.cpp:get_audio_*** b [파일명]:[함수명] Breakpoin.. 2021. 10. 22.
[shell] 여러 개 return 값 참조 방법 : 테스트 list와 count를 반환하는 함수, GetListAndCount main 함수에서 GetListAndCount 의 반환 값들을 전달받아 출력한다. 결론 아래 예제를 보기 전에 결론부터 정리하면, : 는 위치를 변수의 나타냄 int number=1234 number:0:1 -> 1 출력, 0번째 위치부터 1번째 전 위치까지의 값 number:0:3 -> 123 출력, 0번째 위치부터 3번째 전 위치까지의 값 코드 #!/bin/sh # test multiple return value of function function GetListAndCount { local list=("hello" "test" "test2" "test3" "test4" "test5" "test6" "test7" "test8".. 2021. 5. 26.
리눅스 vi 에디터 기초 & 실습 & 명령어 정리 항상 리눅스에서 nano만 사용해왔다. 이유는 단지.. 대학교 학부생 때 쓰던거고 새로 vi공부하기 귀찮아서.... 근데 이번 장비에서는 nano를 지원하지 않는다네?.? 도대체 왜죠?? 이런 기회에 겸사겸사 vi 공부해보는거지 뭐~ vi 에디터 "visual editor" 문서 편집기 vi는 먼저 명령 모드와 입력 모드가 있다. 입력 모드는 텍스트를 입력할 수 있고, 명령 모드는 커서 이동, 복사, 검색 등과 같은 명령을 수행할 수 있다. vi 에디터를 통해 문서를 열면 가장 먼저 입력 모드에 진입힌다. 이 때, 콜론(:)을 입력하면 명령모드로 전환할 수 있다. ESC를 누르면 다시 일반모드로 돌아간다. 일반 모드에서 콜론(:)+a를 누르면 입력 모드로 전환되며 텍스트 입력이 가능하다. (참고로 콜론과.. 2021. 1. 20.
반응형