c
C관련Etc...
afewgood
2021. 6. 17. 11:40
01) Endian check
int endian(void)
{
int i = 0x00000001;
if (((char*)&i)[0])
return LITTLE_ENDIAN;
else
return BIG_ENDIAN;
}
02) .h파일 만들기
#ifndef __FILE_NAME_H__
#define __FILE_NAME_H__
#ifdef __cplusplus
extern "C"{
#endif
#define SYS_ENDIAN_BIG 0
#define SYS_ENDIAN_LITTLE 1
int endian(void);
#ifdef __cplusplus
}
#endif
#endif
03) 헤더파일은 컴파일 되는 것이 아니라 .c가 컴파일 되기 전에 전처리과정을 중 소스 내에 필요한 내용을 삽입하는 역할을 한다. 다만 global 변수를 헤더파일에 선언할 경우, 여러 소스파일에서 해당 변수를 사용할 때 컴파일러는 하나의 변수로 link하지 못하고 중복선언으로 알게된다. 따라서 초기화할 소스파일(.c)에서 선언을 하고 다른 소스파일에서는 extern으로 변수를 가져와서 사용해야 한다
04) typedef
typedef가 하는 일은 기존의 Data형으로 새로운 Data형을 만드는 것.