전체 글 24

[jetson xavier nx] mSATA SSD로 부팅하기

현재 NVIDIA Jetson의 파트너사인 AAEON사의 BOXER 8253AI를 이용 중이다. NVIDIA Jetson Xavier NX module은 외부 저장 장치 부팅으로 USB, NVMe SSD만 제공된다. 기존 Xavier NX는 SATA 인터페이스 자체가 없다. 이런 이유로 내장된 SATA SSD를 부팅에 이용하고 싶은 경우 구매 경로를 통해 따로 문의를 진행해야 한다. 구매처에 연락해 AAEON으로부터 flash 스크립트 파일을 받아 진행했다.

임베디드 2023.08.05

goto문

goto문을 이용하면 간단한 반복 실행을 만들 수 있다. goto 이름: 이름: 이 작성된 곳으로 프로그램 실행이 진행된다. 이렇게 콜론(:)이 있는 부분을 이름표(label, 레이블)라고 한다. 레이블은 언더바(_)나 영문자로 시작하면 되고 공백없이 붙여 써야 한다. [코드업 1071] 0이 입력될 때까지 반복하기 #include int main (void) { int a; reload: scanf("%d", &a); if(a!=0) { printf("%d\n", a); goto reload; } return 0; }

C, C++/공부정리 2023.07.23

switch case문

switch()에 사용 가능한 값은 정수(int)나 문자(char)만 가능하다. break; 를 사용하지 않으면 이후 명령이 계속 실행된다. [코드업 1069] 영문자(A, B, C, D) 중 1개 입력에 따른 출력 #include int main (void) { char a; scanf("%c", &a); switch(a) { case 'A': printf("best!!!\n"); break; case 'B': printf("good!!\n"); break; case 'C': printf("run!\n"); break; case 'D': printf("slowly~\n"); break; default: printf("what?\n"); } return 0; } 만약 A 또는 B 입력 시 best!!! ..

C, C++/공부정리 2023.07.23

[따배씨++] 정수형 (Integers)

정수형 (integer, int): 4바이트 영역 형(type) 최소 크기 정수 short 2바이트 int 2바이트 대부분 4바이트 long 4바이트 long long 8바이트 - c++ 표준에서는 최소 크기를 지정하고 있다. 2바이트로는 사용하기에 부족함을 느껴 대부분 4바이트를 이용한다. 실제 몇 바이트로 구분되어 있는지는 사용하는 os와 컴파일러가 결정한다. - int형은 4바이트(32비트)로 2^32가지의 수를 표현할 수 있다. 앞에 1비트는 부호 표현에 사용된다. 0이면 양수, 1이면 음수이다. 예를 들어 short형의 경우 2바이트로 2*8 = 16비트이다. 이진수로 표현하기 때문에 2^16개만큼 표현할 수 있다. 최대값을 체크하기 위해서는 limits 라이브러리를 이용해.. (include ..

C, C++/공부정리 2023.03.19

[따배씨++] 기본 자료형 소개

1바이트 = 8비트 다양한 자료형(char, int 등..)이 있으며 메모리 사이즈가 다 다르다. - signed처럼 기울인 글씨체로 적용된 부분은 생략해서 써도 된다. >> short, unsigned short, unsigned 등.. - 부동소수점을 표현하는 타입은 float, double가 있다. float은 int와 같은 메모리 사이즈(4바이트, 16비트)를 사용한다. double은 8바이트(32비트)이며 더 정밀하게 수를 표현할 수 있다. auto 타입은 컴파일러가 자료형을 결정해준다. 변수 초기화 방법은 세 가지가 있다. 1) int a =123; // copy initialization 2) int a(123); // direct initialization 3) int a{123}; // ..

C, C++/공부정리 2023.03.19

참조와 포인터

참조 - 참조 변수는 어떤 변수의 별칭이라고 생각하면 된다. 예를 들어 Sonny를 Songqiao라고도 부르고 싶다면.. 참조 연산자 &를 이용해 위와 같이 만들 수 있다. - 참조에 대해 주의해야 할 사항 1) 참조에 대해 수행하는 모든 작업은 원본에서도 발생한다. 2) 별칭은 다른 별칭으로 변경할 수 없다. 참조에 의한 전달 - 매개변수를 함수에 전달할 때 값에 의한 전달이라고 한다. 매개변수와 인수는 별개의 변수가 되며, 어느 한 쪽을 변경해도 다른 쪽이 영향을 받지 않는다. 값에 의한 전달로 정의된 함수 내부에서는 함수 외부에 선언된 변수에 접근이 불가능하다. - 참조에 의한 전달을 참조를 사용해 함수에 매개변수를 전달하는 것이다. 이는 같은 메모리 주소를 통해 접근하는 것으로 원본과 사본이 공..

C, C++/codecademy 2023.03.16

클래스와 객체

클래스 - 클래스의 구성 요소를 클래스 멤버라고 한다. 이는 .(점 연산자)를 사용해 클래스 멤버에 액세스 할 수 있다. .length() object.class_member - 멤버 데이터라고 하는 attribute는 클래스의 인스턴스에 대한 정보로 구성된다. - 멤버함수라고 하는 메소드는 클래스의 인스턴스와 함께 사용할 수 있는 함수이다. 일반적으로 (cpp파일과 동일한 이름의 헤더를 만들어 헤더에서 메소드를 선언하고 cpp파일에서 메소드를 정의한다. 클래스 외부에서 메소드를 정의할 때 메소드 앞에 '클래스이름::메소드이름'의 형식을 이용해 클래스를 나타낸다. 예제) 클래스, 객체 사용법 electric_relaxation이라는 객체(인스턴스)를 생성했다. 클래스가 선언된 헤더파일의 모습이다. 함수가..

C, C++/codecademy 2023.03.01

함수 - 범위 및 유연성 (지역/전역범위, 인라인 함수, 오버로드, 템플릿)

전역범위와 지역범위 - 전역범위: 전역범위에서 정의된 변수는 프로그램 어디서나 액세스 할 수 있다. - 지역범위: 함수에서 정의된 변수는 함수 내에서만 액세스 할 수 있다. #include void enter_code(int passcode) { if (passcode == 0310) { std::string secret_knowledge = "https://content.codecademy.com/courses/regex/onyourexcitingjourneylearningtocodeyouwillfindthis.gif"; std::cout

C, C++/codecademy 2023.03.01