임베디드 35

리눅스 빌드 시스템(4) make 문법

목차리눅스 빌드 시스템(1) gcc Linux Build System gcc리눅스 빌드 시스템(2) make Linux Build System make리눅스 빌드 시스템(3) cmake Linux Build System cmake  개요makefile을 하기 전 간단하게 make 문법에 대해 소개한다.make는 표준화된 문법을 사용한다. Makefile 작성을 도와주는 cmake도 있지만, 다른 사람이 작성한 Makefile을 수정해야 할 일도 있다.  예제새 디렉토리를 생성해 준 뒤 Makefile 파일을 만들어 주고 내용을 작성해 준다.  Target 타겟 목표 파일 이름, 빌드하려는 최종 결과물1개 이상의 Target 이 있어야 한다.comment 를 실행한다. ( 반드시 Tab 들여쓰기 해야 한다..

리눅스 빌드 시스템(3) cmake Linux Build System cmake

목차리눅스 빌드 시스템(1) gcc Linux Build System gcc리눅스 빌드 시스템(2) make Linux Build System make  CMake크로스 플랫폼 빌드 자동화 도구소프트웨어 프로젝트를 빌드, 테스트 및 패키지하는 용도CMake 가 빌드를 직접 해주는 것은 아니다.Makefile을 자동으로 생성해주는 Build SystemCMake 설치sudo apt install g++ cmake -y   CMake 사용하기  test3 디렉토리를 test4 이름의 디렉토리로 복사해 준다.test4 디렉토리로 이동한 후 이전에 다루었던 make 파일인 Makefile을 삭제해 준다.CMakeLists.txt 파일을 작성한 뒤 저장해 준다. CMakeLists.txtcmake_minimum_..

리눅스 빌드 시스템(2) make Linux Build System make

목차리눅스 빌드 시스템(1) gcc Linux Build System gcc  make소프트웨어 빌드 자동화 도구소스 코드 파일로부터 실행 파일이나 라이브러리 등을 생성하는 데 사용된다.주로 C, C++ 그리고 다른 컴파일 가능한 언어의 프로젝트에서 사용된다.Makefile 이라는 특별한 형식의 파일을 사용한다.별도의 문법을 사용한다.make 설치sudo apt install make -y   make 사용하기Makefile 이라는 스크립트 파일을 만든다. (make 문법에 맞추어서 작성해야 한다.)Makefile을 작성한 뒤 make를 실행한다. (명령어 : make) 위의 명령어를 보면 다음과 같다.현재 사용자의 home 디렉토리의 test2 디렉토리를 test3 디렉토리로 복사해 준다.test3 디..

리눅스 빌드 시스템(1) gcc Linux Build System gcc

개요Build System 이란, Build 할 때 필요한 여러 작업을 도와주는 프로그램들을 의미한다.빌드란 소스코드에서 실행 가능한 소프트 웨어로 변환하는 과정 또는 결과물을 말한다.  C언어 빌드 과정gcc 기준 빌드 과정은 크게 둘로 나뉜다.Compile & Assemble : 하나의 소스코드 파일이 0과 1로 구성된 Object 파일이 만들어짐Linking : 만들어진 Object 파일들 + Library 들을 모아 하나로 합침 gcc 빌드 실습/test1 디렉토리를 생성 한다.해당 디렉토리로 이동 후 main.c, yellow.c, yellow.h 파일을 생성한다.2번에서 생성한 각각의 파일에 소스 코드를 입력해 준다..c 파일을 각각 Compile & Assemble 한다..o 파일(Objec..

리눅스 파일의 종류와 권한 Linux File

개요리눅스에서 파일의 종류에 대해 학습한다.리눅스는 모든 것을 파일로 관리한다.  리눅스 파일의 종류Reguler File일반 파일 Directory File리눅스 커널 내부에서는, 디렉토리도 파일로 취급 Link File윈도우의 바로가기와 비슷한 파일 Device File새로운 장치 (마우스 등) 연결하면, 상징물과 같은 파일이 하나 생긴다.이 파일을 건드리면, 장치를 제어할 수 있다.  파일 종류 확인하기ls –al 명령어로 확인할 수 있다cd /, ls –al를 순차적으로 명령어로 입력하면 root에 존재하는 파일 정보를 확인할 수 있다.  가장 앞 한 글자를 확인해 주면 해당 파일의 종류를 알 수 있다.- : regular filed : directory filel : link filec, b :..

리눅스 사용자 그룹 Linux Group

개요User를 생성하면 그룹이 함께 생성된다. 해당 그룹엔 자기 자신만이 속해있다. 리눅스에서는 Group 단위로, 권한을 단체 설정하기 위해 Group을 사용한다.특정 Group만 읽고 쓸 수 있는 파일 설정 가능특정 Group만 쓸 수 있는 디렉토리 설정 가능특정 Group만 실행 시킬 수 있는 프로그램 설정 가능실제 회사에서도 이런 방식으로 부서별 그룹을 지정한다.회사 부서별 (그룹별) 파일 접속, 디렉토리 접속 권한을 달리 부여함타 부서 파일을 읽지 못하도록 그룹 별 권한 설정 가능  group 확인하기inho 사용자를 추가하고 해당 사용자가 속한 그룹을 확인해 보자groups [계정명] 명령어를 통해 특정 user가 소속된 그룹을 확인할 수 있다.  inho를 사용자로 추가하였고, inho가 속..

리눅스 사용자 Linux User

개요다중 사용자 시스템에 대한 이해와 사용자 추가와 권한에 대한 내용을 다뤄본다.  Host네트워크에서 Host는 컴퓨터 주인을 뜻할까? 정답은 X이다.네트워크에 연결되어 있는 장치, 컴퓨터를 Host 라고 한다. 리눅스는 다중 사용자 시스템으로 설계 되었다.한 컴퓨터를 여러 명이서 사용하게 되며, 이러한 특징이 서버용 OS로 많이 사용되는 이유이다. 네트워크에 연결된 한 컴퓨터 개념으로 리눅스가 설치된 컴퓨터 한 대를 Host 라고 부른다. 다중 사용자 시스템리눅스던 윈도우던 여러 사용자가 하나의 PC를 사용할 수 있다. 가족이 전체 쓰는 컴퓨터의 경우 사용자를 나누어 각자 계정으로 로그인 가능하다는 것을 알 것이다.이런 경우 주인이 없으면 안되기 때문에 관리자 지정 필요하다.공용 프로그램들 설치 / ..

리눅스 터미널 Linux Terminal

개요터미널은 컴퓨터에 접속하기 위한 Text 기반 장치이다.과거 터미널은 H/W 였으며, 현재는 H/W 였던 터미널이 남아, S/W 로 구현된 것이다.H/W 였던 그 시절과 마찬가지로 사용자는 터미널을 이용해 명령을 내린다. 터미널 or 콘솔이라고 부른다.터미널 창을 통해 컴퓨터에 명령을 내린다. 동작 과정사용자가 터미널 창을 열어 명령어를 입력한다입력된 명령어는 터미널을 통해 Shell 로 전달된다.Shell에서 커널로 해당 내용을 전달하고 커널이 쉘에 요청에 대한 반환을 한다.쉘을 통해 터미널로 사용자가 정의한 방향에 맞추어 반환을 해주고사용자가 명령에 대한 결과를 받게 된다. 터미널 에뮬레이터GUI 환경에서 훨씬 사용하기 편한 Terminator 에뮬레이터가 있다.sudo apt install te..

리눅스 vi Linux Visual Editor

개요40년 전 만들어진 화면 기반 Text Editor리눅스 에디터의 전통이며, 임베디드 리눅스에서 주로 사용한다.vim(vi improve)을 사용할 것이다, vs code의 원조, 플러그인 설치 가능하도록 vi 의 업그레이드 판 우분투에는 기본적으로 텍스트 편집기로 vi가 제공되며, 시스템의 효율성과 경량성을 고려해 small version이 설치되어 있다.vi 버전 확인하기 $vi -- version Small version이 설치되어 있는 것을 볼 수 있다. vim 설치$ sudo apt install vim -y 위 명령어를 터미널에 입력하고 암호를 입력하면 패키지가 자동으로 설치가 된다.  Huge 버전으로 바뀐것을 볼 수 있다. vi 사용하기vi [파일명] 을 통해 vi를 실행해 준다 ex)..

리눅스 텍스트 에디터 Linux Text Editor

개요Text Editor는 텍스트를 편집하는 프로그램이다window 의 대표적인 Text Editor는 메모장이다.마찬가지로 Linux 에도 Text Editor 가 존재한다. Text Editor 를 알아야 기본적인 코드 작성 / 편집등 모든 개발 작업을 할 수 있다.vundle 을 이용한 다양한 플러그인을 설치하여 효율적인 작업 환경 제공한다. IDEIDE는 통합 개발 환경 으로 Text Editor를 포함한다.Text Editor + 빌드 도구 (컴파일러 / 링커) + 디버깅 도구 + 성능 분석기 등등 Visual Studio Code 는 프로그램을 개발할 때 쓰는 IDE가 아니다.Extention 이라고 부르는 플러그인 들을 설치하여, 자신만의 개발환경을 꾸밀 수 있는 Text Editor이다. ..

728x90