embedded 개발 블로그

연산자

1. 비트연산자 활용 분야

  • 메모리 접근
  • PLC 통신

2. 영상 처리 활용

  • 보통 OpenCV 활용
  • 하지만 OpenCV도 사용할 때마다 라이센스를 사야하기 때문에 많이 안씀
  • IPP(Image Processing Programming)처럼 c++로 직접 짜기도 함

3. 삼항 연산자를 쓰는 이유

  • 가독성을 위해
  • 변수를 고를 때
  • 코드 길이가 매우 길면 if else문을 씀

4. 코드 최적화

  • 이중 if문, for문을 최대한 줄인다.

5. new로 메모리 할당할 때 sizeof를 어떻게 활용하는지

  • int *pi = new int;

sizeof 연산자 없이도 타입명으로 메모리 할당이 가능하다.

 

전처리기

1. #include 문을 코드의 아래쪽에 쓰면 코드가 실행되는가? 그 이유는?

  • 실행되지 않는다.
  • 단, #include문이 포함하는 헤더의 함수들이 사용하기 전에만 #include문을 쓴다면 실행이 된다.

2. #pragma once

  • 현업에서 클래스를 새로 만들 때 꼭 선언한다.
  • 컴파일러에게 해당 헤더 파일이 한번만 빌드되도록 한다. 해당 헤더파일이 여러번 include 되는 것을 막아준다. 여러곳에서 include 되면 그때마가 각각 정의가 추가되어 중첩되는 경우가 생기기 때문이다. 즉 중복된 내용이 여러번 빌드되는 것을 막기 위해 #pragma once를 사용한다.

3. 매크로 상수/함수를 최대한 안쓰려는 이유 -> 대체 방안

  • 이유: 매크로는 전처리 과정에서 실행되기 때문에 속도는 빠르지만, 괄호를 많이 사용해야 해서 가독성이 좋지 않고 코드의 양을 반보시켜서 파일의 크기가 늘어난다.
  • 대체 방안 : 지역변수를 쓴다. 혹은 getter 함수를 이용해서 가져온다.
profile

embedded 개발 블로그

@후추 집사

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!