gcc
-
System call과 glibcIT/Linux C 2013. 2. 24.
System call이란?자, 일단 System call이란 사용자 공간(User Space)에서 시스템(Kernel)에게 필요한 기능을 직접 요청하는 것으로 프로세스 또는 디스크 I/O, 메모리 요청등 종류도 다양하다. 리눅스에서 사용자 공간에 제공되는 System call들은 다양한 아키텍쳐(i386, powerPC,..)등을 지원하며 약 300여개 정도 명령들을 지원한다. ex) 리눅스 커널에서 x86 시스템에 대한 System call Table(arch/x86/kernel/syscall_table_32.S)ENTRY(sys_call_table) .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */ .l..
-
C언어, enum 타입의 크기는?IT/Linux C 2012. 12. 19.
enum 타입으로 정의된 리스트를 정리하고 있다가, 최대치가 궁금해서 간단한 확인을 해보았다. 변수들은 일반적으로 sizeof를 이용하여 크기를 알아 낼 수 있는데, sizeof(enum)이 안되기 때문에, struct로 enum 타입을 감싸고 sizeof로 크기를 확인해보았다. linux 64bit 그리고 gcc 컴파일러를 사용하였다. #include enum enum_number { ONE, TWO, THREE }; struct enum_struct { enum enum_number num; }; int main(int argc, char* argv[]) { printf("enum:%ld\n",sizeof(struct enum_struct)); return 0; } enum:4 4byte 크기면, e..
-
Linux 개발환경 - 컴파일러(gcc) & 텍스트에디터(vim) 설치IT/Linux C 2010. 9. 23.
환경 : Ubuntu 윈도우 프로그래머라면 Visual Studio 설치만으로도 일부 개발환경을 구축할 수 있지만, 리눅스 기반 개발을 위해서 필수적인 개발 환경을 위해 몇가지 패키지를 설치 해야 한다. 컴파일러 빌드 도구 소스코드 작성 툴(텍스트 에디터) 디버깅 툴 C Compiler 설치 C, C++ 컴파일러를 설치한다.(gcc,g++,cc..) xutils-dev는 gccmakedep(소스코드 의존관계)을 사용하기 위해서 설치한다. sudo apt-get install g++ xutils-dev Man pages 설치 개발에 있어서 기본 man으로는 C, C++ 등의 함수 설명을 확인할 수 없다. 다음과 같이 개발 api에 대한 manual을 설치한다. sudo apt-get install manp..