분류 전체보기 170

Linux, 부팅, Swap, Dependency, Boosting

Linux, 부팅, swap, dependency, booting (tistory.com) Linux, 부팅, swap, dependency, bootingLinux 시스템이 너무 빨리 부팅되어 대부분의 출력이 너무 빨리 스크롤되어 콘솔로 전송된 텍스트(시작 중인 서비스 표시)를 읽을 수 없습니다. 따라서 부팅 문제/오류를 관찰하는 것은 우리에게flightsim.tistory.com     0.  Intro   Linux 시스템이 너무 빨리 부팅되어 대부분의 출력이 너무 빨리 스크롤되어 콘솔로 전송된 텍스트(시작 중인 서비스 표시) 를 읽을 수 없습니다. 따라서 부팅 문제 오류를 관찰하는 것은 우리에게 약간의 도전이 됩니다  이 기사에서는 Linux 시스템 부팅 프로세스의 여러 단계를 간략하게 설명한 다..

Partition 1 does not start on physical sector boundary.

노트북에서의 컴파일은 결국 한계를 느끼고,Main PC에 Ubuntu 20.04를 새로 설치하는 중 SSD에선 잘만 깔리더만PC Sub Hard drive는 파티션을 인식하지 못한다. Disk /dev/nvme0n1: 476.96 GiB, 512110190592 bytes, 1000215216 sectorsDisk model: Samsung SSD 970 PRO 512GB Units: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: gpt..

Linux - diff 명령어 사용법 (파일비교)

diff 명령어  : 리눅스에서 파일을 비교하는 명령어. file1과 file2를 비교하여 차이점을 찾아냄$diff [옵션] file1 file2   옵션  -b  : 연속된 공백 무시-i   : 대소문자를 구분하지 않음-t   : 출력 라인에 TAB 문자를 넣음-w  : 두 행의 비교 시 공백을 무시--brief : 파일 비교 후 결과 표시(같은지, 다른지)-d  : 세세한 차이까지 검색-H  : 큰 파일을 빠르게 처리할 때 사용-q  : 두 파일의 차이점만 출력-s   : 두 파일이 같은 지 확인-r   : 두 디렉토리의 차이점 출력-u  : undirectional new file 옵션으로 비교하는 파일/디렉토리가 빠져있을 경우 dummy로 처리해서 출력을 통일시킴-r   : recursive 하위..

VCS (Version Control System, 버전관리 시스템)

1.1 시작하기 - 버전 관리란? 이 장에서 설명하는 것은 Git을 처음 접하는 사람에게 필요한 내용이다. 먼저 버전 관리 도구에 대한 이해와 Git을 설치하는 방법을 설명하고 마지막으로 Git 서버를 설정하고 사용하는 방법을 설명한다. 이 장을 다 읽고 나면 Git 탄생 배경, Git을 사용하는 이유, Git을 설정하고 사용하는 방법을 터득하게 될 것이다. 버전 관리란? “버전 관리” 는 무엇이고 우리는 왜 이것을 알아야 할까? 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. 이 책에서는 버전 관리하는 예제로 소프트웨어 소스 코드만 보여주지만, 실제로 거의 모든 컴퓨터 파일의 버전을 관리할 수 있다. 그래픽 디자이너나 웹 디자이너도 버..

리눅스 동적 정적 라이브러리

1.  동적 라이브러리   5.5.1  OCRAM protection 실행 시간에 라이브러리 파일을 찾아 코드를 포함하기 때문에 동적라이브러리라고 부릅니다.즉, 정적 라이브러리는 컴파일 시간에 코드를 결정하기 때문에 소스가 변경되면 새로 컴파일 해야하지만, 동적 라이브러리의 경우 라이브리만 교체하는 것으로도 변경이 가능합니다.$ gcc -c -fPIC test.c$ gcc -c app.c fPIC옵션은 Position-Independent Code의 약자이며 test.o파일을 동적라이브러리로 사용하도록 컴파일 하는 옵션입니다.이렇게 컴파일된 오브젝트 파일을 .so파일로 묶으면 됩니다.$ gcc -shared -fPIC -o libtest.so test.o컴파일은 아래와 같이 하면 됩니다.$ gcc -o ..

Linux C/C++ shared library 컴파일하기 fPIC 옵션 GOT, PLT

Linux C/C++ shared library 컴파일하기   C++   g++ -shared -fPIC -o g++ -shared fPIC -o lib.so code.cpp    C   gcc -shared [-fPIC] -o gcc -shared [-fPIC] -o lib.so code.c -fPIC 옵션은 생략이 가능하지만, 공유라이브러리를 만들 때는 -fPIC 옵션 사용을 권장합니다.(컴파일 종류에 따라서 -fPIC는 필수 옵션입니다.) fPIC를 사용하지 않을경우 재배치 기법을 사용하게 되는데,간략하게, 라이브러리의 주소를 현재 사용하려는 프로세스 주소에서 접근가능하게 재배치 한다는 개념입니다.    공유 라이브러리의 단점 1. 여러 프로세스가 공유라이브러리를 공유하게되면 각 프로세스가 로드 ..

[c++] override, const_iterator, noexcept, constexpr 사용하기

들어가기 이번에는 C++11에서 override, const_iterator, noexcept, constexpr에 대해서 살펴보자. 작성자: ospace114@empal.com, http://ospace.tistory.com/ override 선언 C++11에서는 파생 클래스(derivered class)에서 기반 클래스(base class)의 가상 함수를 재정의(override)할 때에 함수에 override을 붙인다. 기존에는 잘못으로 인한 잠재적 오류 가능성이 있다. override을 사용해서 명시적으로 지정하여 조건에 맞지 않으면 에러가 발행하도록 한다. 실제 사용 예를 보자. class Base { public: virtual void mf1() const; virtual void mf2();..

Overloading, Override, 다형성

1 Overloading 정말 간단하면서도 다형성을 지원하는 방법이 오버로딩(Overloading)입니다. 프로그래밍에서 Overloading이란 메소드 함수명은 같은데 전달받는 파라미터 인자 값에 의해 호출되는 메소드가 다르게 하는 것입니다.   아래의 예시를 봅시다.숫자를 더하는 프로그램을 만드는데 2개의 숫자 덧셈뿐만 아니라 3개의 숫자 덧셈까지도 가능하게 하도록 하려 합니다.  [overloading 사용 안할 시]  그렇다면 우리는 덧셈을 하는 메소드를 호출하는데 2개 숫자일 때와 3개 숫자일 때, 경우에 따라 호출해주어야 합니다.하지만 이는 매우 불필요한 작업입니다. 매개변수로 전달되는 값의 개수(x , y , z or x. y)의 값에 의해 기능이 결정되고 메소드..

: : C++ 2024.04.17