C
-
[C++] __attribute__ 에 대해서C++ 2024. 6. 27. 17:15
__attribute__란?단어 그대로 속성을 부여해주는 기능C, C++에서 컴파일러에게 추가정보를 제공하여 코드의 동작을 세밀하게 제어할 수 있도록 하는 기능이다.함수, 변수, 구조체 등에게 사용가능 쉽게 말해서 컴파일러에게 "이것(함수, 변수, 구조체.. ) 좀 이러이러하게 처리해주세요~" 하는 특별한 지시어이다. 주로 사용되는 속성 aligned(n): 변수가 n 바이트 경계에 맞춰서 배치되도록 함packed: 구조체의 멤버 사이에 패딩을 추가하지 않고 연속적으로 배치noreturn: 함수가 반환하지 않음을 알려주는 속성deprecated: 해당 함수나 변수를 더 이상 사용하지 않도록 하는 속성 함수에 사용할 때함수가 반환하지 않음을 컴파일러에게 알려주는 속성인 'noreturn' 의 예시,함수가..
-
[C++] #pragma 란?C++ 2024. 6. 27. 16:20
PragmaC 및 C++ 프로그래밍 언어에서 컴파일러에게 특정 지시사항을 전달하는 데 사용되는 전처리기 지시어 표준화되어 있지 않아서 코드의 안전성 이식성을 보장하기 위해선 #define 등으로 대체하기도 한다.종류1. #pragma once헤더 파일이 여러 번 포함되는 것을 방지하는 pragma#include된 폴더에 같은 헤더가 있으면 무시한다.#pragma once#ifndef MY_HEADER_H#define MY_HEADER_H// 헤더 파일 내용#endif // MY_HEADER_H 2. #pragma pack구조체 멤버 배치를 제어하는 pragma틀정 바이트 경계로 맞추게 한다.메모리 사용을 최적화하거나 특정 메모리 레이아웃을 강제할 때 사용 #pragma pack(push, 1)현재의 메..