본문 바로가기

분류 전체보기219

SWIG (C/C++와 다른 언어 연결하는 도구) 00 개요목적: SWIG가 뭔지 정리하기 위함내용: SWIG의 정의, SWIG의 기본적인 작업, input file들의 구조, 표준 ANSI C declaration을 어떻게 처리하는지SWIG 공식 문서의 "5 SWIG Basics"를 거의 그대로 적음01 SWIG란1. 정의'Simplified Wrapper and Interface Generator'C/C++ 언어로 된 Declaration들을 다른 언어로 된 wrapper와 interface를 생성하는 무료 도구SWIG is a free software development tool (an interface compiler) that takes C/C++ declarations and creates the wrappers needed to acce.. 2024. 6. 21.
typedef (자료형 별칭 부여 키워드) 00 개요typedef가 뭔지 알아보고자 함01 typedef란1. 정의'type' 자료 'define' 정의하다즉, 기존 자료형 (type)에 새롭게 별칭을 부여하는 키워드(keyword)2. 문법typedef 기존type 별칭;02 typedef 사용1. 구조체에 별칭 부여NOTE: 관례상 구조체이름(tag) 앞에 _(underslash) 또는 tag_ 또는 tag를 붙여줌1) 방법 1struct _구조체이름 { 자료형 멤버이름; 자료형 멤버이름; ...};typedef struct _구조체이름 구조체별칭;예시#include struct _data { int data1; char * data2; // 또는 char data2[20];};typedef struct _data .. 2024. 6. 21.
strcpy() strcpy_s() (문자열 복사 함수) 00 개요목적: 문자열을 복사하는 함수인 strcpy()와 strcpy_s()에 대해 정리하고자 함01 strcpy() 함수란1. 정의'string copy''문자열을 복사한다'어떤 변수(메모리) 또는 문자열 상수에 저장되어 있는 문자열을 다른 변수(메모리)에 복사 시 사용됨반환값: char * 형식의 주소NOTE: 복사할 원본 문자열은 반드시 끝에 NULL 문자가 포함되어 있어야 함2. 문법 (함수의 원형)strcpy 함수의 원형은 string.h에 다음과 같이 선언되어있음char *strcpy(char *strDestination, const char *strSource);strcpy() 함수는 2개의 parameter를 사용하여 2번째 인자인 strSource 포인터가 가리키는 메모리에 저장된 문자.. 2024. 6. 21.
struct (구조체) 00 개요목적: C 언어에서 사용되는 구조체 이해하기자료형기초 자료형 Primary파생 자료형Derived사용자-정의 자료형User-Definedint / unsigned intshort / unsigned shortlong / unsigned longchar / unsigned charfloatdoublelong doublevoid...function (함수)array (배열)pointer (포인터)reference (참조)classstruct (구조체)union (공용체) typedefenum (열거형)동일한 종류의 데이터를 하나로 묶을 경우 배열을 사용했지만 (int numbers[5] = { 2, 5, 3, 7, 1 };), 다른 종류의 데이터(int, double, char, etc.)를 하나로.. 2024. 6. 21.
sizeof() 연산자 01 sizeof() 연산자1. 정의피연산자(연산자의 대상, operand)의 메모리의 크기를 바이트(Byte) 단위로 계산하여 반환반환 타입: size_t포인터, 데이터 타입, 구조체, 공용체 모두 사용 가능// 데이터 타입 피연산자size_t size_char = sizeof(char); // 1size_t size_int = sizeof(int); // 4size_t size_float = sizeof(float); // 4size_t size_double = sizeof(double); // 8// 표현식 피연산자int a = 10;double d = 10.24;size_t size = sizeof(a + d); // 8sizeof(a+d)가 8인 이유는 a + d 연산 처리 시 타입이 큰 dou.. 2024. 6. 21.
전처리기 (Preprocessor, Precompiler) 00 개요회사에서 SWIG 인터페이스 파일을 코드 분석 하는데 #define이라는 것이 나와서 뭔지 알아보고자 함#define을 이해하기 위해선 #define을 포함하는 '전처리기' 및 '지시자'라는 개념을 알아야 해서 이 용어들을 먼저 이해해보고자 하다가 #define에 집중하기 보단 '전처리기'가 무엇인지, 어떠한 전처리기가 있는지에 대한 내용을 다루는 것이 더 나을 것 같아 '전처리기'에 대해서 정리해보고자 함01 전처리기 (Preprocessor, Precompiler)란0. 개요우리는 C 언어로 어떤 프로그램을 만들 때 소스 코드를 짜고, 컴파일(기계어화)을 한 후, 링크를 한다'전처리기(Preprocessor, Precompiler)'는 소스 코드를 짠 후 컴파일 하기 직전에 처리하는 컴파일러.. 2024. 6. 19.
2 초급 알고리즘 (sum, sequence, count, avg, max, min) 00 개요목표: Visual Studio라는 IDE를 사용하여 C 알고리즘 구현하기01 Visual Studio 사용하여 프로그램 만들기1. 솔루션 탐색기 보기'보기' > '솔루션 탐색기' 클릭2. 새 프로젝트 만들기Visual Studio 연 후 '새 프로젝트 만들기' 클릭 또는 '파일' > '새로 만들기' > '프로젝트' > '빈 프로젝트'프로젝트 이름: 원하는 거로 지정위치: 원하는 위치 지정솔루션: 새 솔루션 만들기솔루션 이름: 원하는 거로 지정> '만들기' 3. c 파일 또는 c++ (소스 파일) 생성Visual Studio 연 후 어느 프로젝트 안에서 시작솔루션 탐색기에 어느 '프로젝트명' > '소스파일' 우클릭 > '추가' >  '새 항목' > 'C ++ 파일' 한 번 클릭 > '파일명.c'.. 2024. 6. 18.
distutils (파이썬 모듈 배포 패키지) 00 개요 회사에서 코드분석 하는데 distutils 모듈이 나와서 이에 대해 알아보고자 정리함NOTE: Python 3.12에서는 distutils 더 이상 사용 안 함 (removal, depricated) 01 distutils 란1. 정의'distribution utilities'Python 설치 시 추가적인 모듈들을 build 및 install하는 데 도움을 주는 패키지새 모듈들은 100% Python 코드로 작성되었거나, C로 작성되었거나, Python 패키지 모음일 것02 API Reference 1. distutils.coreCore Distutils 기능 포함distutils.core 모듈만 설치되 Distutils 사용 가능1) distutils.core.setup()distutils... 2024. 6. 18.
os (운영체제 작업 모듈) 00 개요회사에서 코드분석 하는데 os가 뭘 하는지 알아보기 위한 정리01 os 모듈이란1. os 모듈 정의운영 체제 종속 기능들을 사용할 수 있도록 하는 모듈2. os 모듈의 기능파일 읽고 쓰기 (os.open()), 경로 조작 (os.path()), 환경 변수 갖고오기 (os.environ) 등02 os 사용0. os 모듈 참조os 는 파이썬 내장 모듈이라서 설치 불필요import os1. 프로세스 파라미터현재 프로세스와 사용자에 관한 정보 제공 및 현재 프로세스와 사용자로서 실행1) os.ctermid()반환값: 프로세스의 controlling 터미널에 동하는 파일이름 2) os.environ>>> print(os.environ){'EGO_CONFDIR': '/sw/LSF/conf/ego/IC_cl.. 2024. 6. 18.