나는 커널 STL 가지고 실제로 좋은,하지만 당신은 정말 시도하려는 경우, 그것은 매우 재미 있는지 모르겠습니다. 필자는 자체 OS를 작성했으며 커널에 메모리 할당이있을 때 가장 먼저 STLport (5.2.1)를 포팅했습니다. 커널 자체가 여전히 너무 예비 적이기는하지만 지금까지 잘 작동했습니다.
어쨌든 포팅에 대한 경험이 있습니다.
포팅 된 STLport는 어떤 건물을 필요로하지 않으며 거의 필수, 그냥 헤더를 포함하고 경로 (GCC에 대한 -I 옵션) 알고 컴파일러를 할 수 있습니다. 템플릿 클래스는 cpp 소스 파일로 컴파일됩니다.
STLport를 구성 할 수 없기 때문에 iostream, 디버그, 예외, RTTI 및 스레딩과 같이 원하는 것을 선택할 수 없습니다. 문서를 체크 아웃 한 다음 구성 헤더에 도달하면 매우 잘 주석 처리됩니다 (예 : stlport/stl/config/user_config).시간) 당신이 malloc
및 free
, 아니면 new
, delete
및 변형이 필요합니다 가장 기본으로
. 그것은 표준 문자열, 컨테이너 및 알고리즘, IIRC 포팅에 충분합니다. 하지만 스레드 안전성이나 메모리 할당 최적화가 아니기 때문에 의존 할 때는 매우 조심해야합니다.
iostream을 소유 할 수 있습니다. 템플릿 클래스 및 전역 개체 (BTW, ELF 섹션을 해킹하고 함수를 호출하여 전역 개체를 수동으로 초기화 한)이지만 더 많은 작업이 필요합니다.
This link은 내 OS 프로젝트의 github에 대한 것으로, 나는 그것이 당신에게 영감을 줄 수 있기를 바랍니다.
부스트를 2.6.35로 늘리면 어떨까요? 나는 그것이 당신의 모든 필요에 부합해야한다고 생각합니다! –
배포자 란 무엇입니까? – CharlesB
답장을 보내 주셔서 감사합니다. 그러나 저는 커널을 개발하기 위해 Linux Kernel을 추천하지 않습니다. 나는 유닉스뿐만 아니라 리눅스와 완전히 다른 커널을 개발 중이다. –