c 16

C/C++ 가비지 컬렉션 라이브러리 libgc 사용하기

http://kr.sun.com/developers/solaris/techdocs/libgc.html C/C++ 가비지 컬렉션 라이브러리 libgc 사용하기Mukesh Kapoor 이 글은 메모리 관리와 관련된 런타임 에러들에 대해 다루고 가비지 컬렉션 라이브러리인libgc를 이용해 이러한 문제를 해결 하는 방법을 다룹니다. 대부분의 경우 코드를 변경하지 않은 채 사용자의 코드에 단순히 라이브러리만 링크하여도 에러는 수정 될 것입니다. 라이브러리의 API에서 사용 가능한 함수를 호출하여 추가적인 이점을 얻을 수도 있습니다. 라이브러리는 C API를 가지고 있으므로 사용자는 C 혹은 C++ 프로그램에서 둘다 이용 가능합니다.libgc는 썬 C++ 컴파일러 제품에 포함되어 있습니다.Contents - 가비지..

C C++ 2006.06.30

스트링 버퍼를 선언과 함께 초기화

함수 내에서 로컬변수로 스트링 버퍼를 사용할 때 사전에 반드시 초기화를 해야한다는 것은 누구나 알고 있다. 아마 대부분은 다음과 같은 방법으로 버퍼를 초기화 할 것이다. void do_something_function() { char szBuffer[MAX_BUF_SIZE]; .... memset(szBuffer, 0, sizeof(szBuffer)); .... } 그러나 버퍼를 선언함과 동시에 초기화가 이루어지도록 하면 다음과 같이 선언하면 된다. char szBuffer[MAX_BUF_SIZE] = {0}; char szBuffer[MAX_BUF_SIZE] = {}; char szBuffer[MAX_BUF_SIZE] = ""; 스트링 버퍼를 로컬이 아닌 글로벌로 선언하면 초기화를 명시하지 않아도 모두..

C C++ 2006.04.17

가변 인수

가. 가변 인수 함수 가변 인수 함수에 대해서 알아 본다. 가변 인수의 함수를 만드는 방법에 대해서는 물론이고 가변 인수 함수가 동작하는 원리에 대해서도 자세하게 분석해 볼 것이다. 조금 어렵기는 하지만 포인터를 적절하게 활용하는 예를 볼 수 있으며 포인터로 어떤 일이 가능한지를 경험할 수 있는 좋은 기회가 될 것이다. 가변 인수 함수가 어떻게 동작하는지를 설명할 수 있다면 포인터를 정복했다고 생각해도 좋다. 가변 인수란 말 뜻 그대로 인수의 개수와 타입이 미리 정해져 있지 않다는 뜻이며 그런 인수를 사용하는 함수를 가변 인수 함수라고 한다. 가변 인수 함수의 가장 좋은 예는 C언어의 가장 기초 함수인 printf이다. C언어를 배우는 사람이 가장 먼저 배우는 친근한 함수이므로 이 함수를 통해 가변 인수..

C C++ 2006.04.17

JAVA와 C 사용(JNI)시 데이터형

출처 :http://www.javastudy.co.kr/docs/jhan/javaadvance/jni.html 고급 애플리케이션 작성(Writing Advanced Applications) Chapter 5: JNI기술(JNI Technology)번역 자바스터디 네트워크 (http://www.javastudy.co.kr Yongwoo's Park [ywpark@cse.konkuk.ac.kr]님 JavaTM플랫폼은 상대적으로 새롭다고 할 수 있는데, 이는 자바 언어로 작성된 프로그램들과 기존의 자바가 아닌 언어 서비스,API툴킷, 그리고 프로그램들과의 통합이 필요할 때를 의미하는 것이다.자바 플랫폼은 이러한 형태의 통합을 쉽게 할 수 있도록 돕기 위해JNI(Java Native Interface)를 제공한..

Java 2006.04.07