본문으로 바로가기

STXXL

category 블로그 (Blog)/개발로그 (Devlogs) 2025. 9. 2. 12:53

출처: https://sourceforge.net/projects/stxxl, https://github.com/stxxl/stxxl

 

STXXL은 외부 메모리 연산, 컨테이너 및 알고리즘을 위한 C++ 표준 템플릿 라이브러리 STL의 구현으로, 디스크를 사용하여 대용량의 데이터를 처리할 수 있음.

 

아래는 파일을 사용하는 Vector 컨테이너 테스트.

/* $ g++ a.cpp -I./include ./lib/libstxxl_debug.a */

#include <stxxl/io>
#include <stxxl/vector>
#include <stxxl/stream>

using stxxl::file;

int main()
{
	stxxl::syscall_file fd("c:/temp/a.buf", file::RDWR | file::CREAT | file::DIRECT);
	stxxl::vector<unsigned int> container(&fd);
	for(int i=0; i<1000; i++) {
		container.push_back(i);
	}

	return 0;
}

실행결과..

[ihmin@KC22009 temp]$ ./a.exe
[STXXL-MSG] STXXL v1.4.1 (prerelease/Debug)
[STXXL-ERRMSG] Warning: no config file found.
[STXXL-ERRMSG] Using default disk configuration.
[STXXL-MSG] Disk 'C:\msys2\tmp\stxxl.tmp' is allocated, space: 1000 MiB, I/O implementation: wincall autogrow delete_on_exit queue=0 devid=0
[STXXL-ERRMSG] Removing disk file: C:\msys2\tmp\stxxl.tmp

stxxl-1.4.1.tar.gz
1.33MB
stxxl-1.4.1-doxygen.tar.gz
6.44MB