UNIX 공유객체(shared object) 만들기 테스트 환경을 만들기 전에 파일명을 소개하겠다. Makefile - 빌드를 위한 스크립트 plgn.cpp - plgn.so를 위한 소스. func2 함수가 포함되어 있다. sotest.cpp - 시간 측정을 위한 소스. func1 함수가 포함되어 있다. 일단 Makefile TARGET=sotest plgn.so CXXFLAGS=-g -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT LDFLAGS=-ldl all:$(TARGET) clean: $(RM) $(TARGET) *.o sotest:sotest.cpp plgn.so:plgn.o $(CXX) $(CXXFLAGS) -shared -lc -o $@ $< plgn.o:plgn.cpp $(CXX) $(CXXFLAGS) -c -fPIC $< 뭐, 대충 흉내만 내놓고... 다음은 plgn.cpp extern "C" void func2(volatile int*); void func2(volatile int* v) { ++(*v); } 역시나 흉내내기. extern "C"를 붙여 맹글링 회피 능력을 +3 했다. (뻘소리) 다음은 sotest.cpp #include <iostream> #include <dlfcn.h> #include <sys/time.h> using namespace std; static const size_t testcount(1000000UL); long long getTimestamp(void) { static struct timeval tv; gettimeofday(&tv, NULL); return 1000...