TMS320/Study2014. 8. 11. 15:33

공부하는 내용

 

#pragma 전처리기


Start!

 

핸드북에서는 #pragma에 대하여 섹션설정과 관련햇 설명해 놓았다. 물론 MMR과 관련하여 설명하고 있으므로 그것으로 충분할지도 모른다. 하지만 MMR선언 및 조작과 관련하여서는 앞의 글로 충분하다고 생각하며 우리가 cmd를 확인할 수는 있어도 함부로 만질일은 거의 없을 것이다. 따라서 MMR과 관련된 섹션 설정 및 cmd작성은 '제어'를 목표로 그 선행지식을 위한 본 블로그에 맞지 않기에 핸드북에 맡기기로 하고 간단하게 #pragma에 대해서 다루기로 하겠다. 만약 device driver관련한 dll, lib등에 관심있다면 그와 관련된 전문서적을 참고하는것이 나을 듯 하다.

 

예전에 pragma에 대해서 다음과 같이 언급하였다.

 

pragma는 전처리기(preprocessor)을 의미하고 C컴파일러에 지시를 내릴 때 사용하는 명령이다. pragma의 지시어는 once, comment, loop등 다양하다.

 

아래를 숙지하자.

 

1.전처리문은 다양한 종류가 있다.

2.전처리기 앞에는 #을 적는다.

3.전처리기의 긑에는 ;을 붙이지 않는다

4.한줄에 하나의 전처리기만 사용 할 수 있다.

5.하나의 전처리기를 여러 줄로 나누어 처리하려면 줄 끝에 \(역 슬래쉬)를 붙인다.

 

전처리기의 종류는

 

1.#include                                             : 파일 처리를 위한 전처리문

2.#define, #undef                                   : 형태의 정의를 위한 전처리문

3.#if, #ifdef, #ifndef, #else, #elif, #endif    : 조건처리를 위한 전처리문

4.#pragma                                            : 컴파일 옵션 처리를 위한 전처리문

 

우리는 이중 4.#pragma에 대해 '짧게' 다루고자 한다.

 

#pragma는 전처리기 중 하나로 컴파일러에 명령을 내린다.

 

컴파일러에 대해 naver 백과사전의 내용을 인용하겠다.

고급언어(ex. c)로 쓰인 프로그램이 대상 기계(컴퓨터, 임베디드 장치 등)가 직접 이해할 수 있는 목적언어(어셈블리, 기계어 등)로 바꾸는 일을 하는 프로그램이다.[.out, .obj 등을 만들어 준다]

 

#pragma에 대해서 몇몇 예시를 들어 간단히 설명한다.

 

1.#pragma once() : 컴파일을 한번만 실행

:헤더 파일에서 자주 쓰이며 여러 소스 또는 헤더에서 참조될 때 중복참조의 여지가 있을 때 자주 사용된다.

 

2.#pragma pack() : 메모리 공간 최적화(구조체의 정렬 방식 지정)

()안에 숫자가 들어가며 구조체의 공간을 아낄 수 있다. 자세한 설명은 : http://euro87.tistory.com/150

3.#pragma warning() : 특정 경고 설정

 

4.#pragma DATA_SECTION, CODE_SECTION

 

실제로 dsp등을 사용하면서 다룰만한 것은 once나 pack 정도일 것이다. 섹션 설정은 크게 다룰 일은 없을 것이다.

'TMS320 > Study' 카테고리의 다른 글

28XDSP의 MMR선언과 배치 방법 정리  (0) 2014.08.11
구조체 명명법, MMR 관련 헤더 파일 종류  (0) 2014.08.11
28계열의 MMR선언 및 조작(1)  (0) 2014.08.11
MMR이란?  (0) 2014.08.08
cmd 파일  (0) 2014.08.07
Posted by 십자성군