반응형

전체 글 57

가변인자함수

c언어에서 함수는 정해진 타입, 정해진 개수의 파라메터를 전달받는다. 하지만 필요에 따라 다양한 개수의 파라메터를 받을 필요가 생기는데 이때 사용하는 것이 가변인자함수이다. 우리가 가장 많이 사용하는 함수인 printf도 가변인자 함수로 이루어져있다. printf("hello world\n"); // 인자 1개 전달 printf("%s\n", "hello world"); // 인자 2개 전달 사용법은 다소 복잡하다. 를 include한 후 va_list 구조체 변수를 선언한 후 va_start()를 이용해 인수목록을 초기화하고 va_arg()를 이용하여 인수를 하나씩 가져온 후 va_end()를 이용해 변수 정리를 하면 된다. #include void add_sum(int count, ...) { va_..

Programming/C 2014.05.23

extern 키워드의 이해

extern 키워드의 이해 C언어에서 컴파일은 파일 단위로 문법이 제대로 사용되었는지 확인하기 때문에 다른 파일에 정의된 함수나 변수, 혹은 코드 뒤에 정의된 함수나 변수를 사용하려 하면 undefined 에러가 발생한다. 이 때 사용하는 변수나 함수가 다른 파일에 정의되어있으니 걱정말고 컴파일 하라고 extern 키워드를 사용하여 컴파일러에게 알려준다. // main.c extern int add(int a, int b); int main() { return add(3, 2); } int add(int a, b) { return a+b; } 많은 경우 이러한 선언된 함수나 변수를 해더파일에 넣어 사용하는 소스코드에서 include 하여 사용하는 형식을 취한다. // main.c #include "add..

Programming/C 2014.05.20

Visual studio C/C++에서 사용하지 않는 함수 찾는 방법

Visual studio C/C++에서 사용하지 않는 함수 찾는 방법 Find unused(unreferenced) function in VS C/C++ 코드를 정리하다보면 사용하지 않는 함수를 정리하고싶을 때가 있다. 물론 빌드할땐 바이너리에서 제외되어 실행파일의 용량엔 차이가 없지만 코드를 분석하는데는 별 도움이 되지 않는게 사실이다. Project 속성에서 C/C++ -> Code Generation -> Enable Function-Level Linking을 Yes로 설정(/Gy) Linker -> Optimization -> References를 Yes(/OPT:REF)로 설정 Linker -> Command Line -> Additional Options 에 /VERBOSE:REF 추가 이렇게..

Programming/C 2014.05.19

static inline

보통 자주 사용하는 함수를 macro로 많이 사용한다. macro를 사용하면 함수가 컴파일 될 때 함수 내부에 선언된 macro가 들어가게 된다. 이와 같이 macro만으로 처리하기엔 좀 긴 함수들을 inline으로 처리하게 되는데 주로 static 선언과 함께 사용한다. 이는 inline으로 선언한 함수를 다른 파일에선 사용하지 못하게 하기 위함이다. 다른 파일에서도 범용으로 사용하고자 한다면 static을 제외하고 그렇지 않다면 static inline을 사용하자. 참고로 inline 키워드는 c++에서만 사용한다. __inline은 c, c++ 모두에서 사용 가능하다.

Programming/C 2014.05.15

나를 찾는 숨바꼭질

나를 찾는 숨바꼭질 - 이어령의 80초 생각나누기 글을 쓰다 연필이 부러지면 연필을 보게 됩니다. 손톱 밑에 가시가 박히면 손톱을 보게 됩니다. 다칠 때, 넘어질 때 나는 비로소 나를 봅니다. 나를 찾는 숨바꼭질. 보통 때는 모르다가 실패를 하고 이마를 부딪히면 비로소 나는 숨어 있던 나를 찾아내지요. 서 있는 것보다는 앉아 있는 것이 편하고 앉아 있는 것보다는 누워 있는 것이 편합니다. 편한 삶을 거부하세요. 죽음이란 영원히 누워 있는 것. 살아 있다면 일어서세요. 이마를 부딪치면서 나를 찾는 술래가 되세요.

Life 2013.07.12
반응형