프로그래밍 언어/C

개요 canonicalized 된 절대 경로명을 돌려주는 함수 사용 예시 // 프로그램의 실행 경로를 출력합니다. // test @ ubuntu 20.04 #include #include int main(int argc, char** argv) { char caBuf[PATH_MAX]; realpath(argv[0], caBuf); printf("%s\n", caBuf); return 0; }
개요 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte order)라 합니다. 엔디언은 보통 큰 단위가 앞에 나오는 빅 엔디언(Big-endian)과 작은 단위가 앞에 나오는 리틀 엔디언(Little-endian)으로 나눌 수 있습니다. 네트워크 바이트 순서 (Network Byte Order) 서로 다른 바이트 순서를 사용하는 시스템이 서로 통신을 하기 위해서, 인터넷 프로토콜은 네트워크상에서 데이터를 전송할 때 빅 엔디언을 사용하도록 규정하고 있습니다. 따라서 빅 엔디언을 네트워크 바이트 순서라고 부르기도 합니다. 바이트 순서(Byte Order) 라이브러리 시스템이 네트워크 바이..
개요 하드웨어 설계자들은 공간의 낭비를 최소화하고자 하드웨어의 제어와 상태 확인을 위한 레지스터에 비트단위로 기능을 할당합니다. 때문에 많은 시스템 제어 프로그램은 C언어의 기본 자료형 크기보다 작은 단위로 데이터를 다루어야 합니다. 이를 위해 C 언어에서는 비트단위 연산자(bitwise)와 비트 필드 자료구조를 제공합니다. 이번 포스트에서는 이들에 대해 알아보도록 하겠습니다. 참고: C언어의 포인터와 비트단위 연산의 조합은 저수준(low level) 프로그램에서 유용합니다. 이를 이용하면 대부분의 어셈블리를 대체할 수 있습니다. 비트단위 연산자(Bitwise Operator) C 에서 제공하는 비트 연산자는 다음과 같습니다. & : AND | : OR ^ : XOR ~ : NOT : RIGHT SHIF..
개요 앞선 포스트에서 Escape Sequence를 이용하여 커서의 위치를 변경하였으며, 변경된 커서를 이용하여 같은 자리에 문자를 겹쳐서 출력해 보았습니다. 이 외에도 Escape Sequence 를 이용하면 출력되는 문자의 색상을 변경할 수도 있습니다. 문자의 색상과 관련된 Escape Sequence 는 다음과 같습니다. ▼ Escape Sequence Table - 그래픽 모드 설정 부분 출력문자 색상 변경하기 위 테이블의 내용을 바탕으로 출력문자의 색상을 변경하여 출력해보도록 하겠습니다. ▼ color.c #include int main(void) { // 글자색 : 빨간색 printf("\x1b[31mHello\n"); // 설정 초기화 printf("\x1b[0mHello\n"); retur..
개요 이스케이프 시퀀스(escape sequence) 는 \ 로 시작하는 두 개 이상의 문자로 구성된 문자열입니다. 문자 또는 문자열 내부에서 사용되는데, 이스케이프 문자(\)와 조합하여 직접 나타내기 힘든 특수한 기능들을 표현내는데 사용합니다. C/C++,JAVA, C# 등 에서 사용합니다. 예를 들어, \n 은 \ 과 n 각각으로 인식되지 않고, 줄바꿈을 의미하는 하나의 문자로 해석됩니다. 우리가 자주쓰는 간단한 줄 바꿈 및 들여쓰기(\t) 외에도 리눅스 환경에서 이를 이용하여 화면에 프로그램의 수행결과 및 진행상태를 표시할 때 사용할 수 있는 유용한 기능들이 많이 있어 이를 정리 및 기록합니다. ※ 일러두기 리눅스 환경에서 gcc 를 이용하여 컴파일하여 동작을 시험해보았습니다. 커서 이동하기 화면에..
쓴웃음
'프로그래밍 언어/C' 카테고리의 글 목록