C++만을 사용하여 완전한 C++ 표준 라이브러리 (STL을 포함하지만 자체 포함, 내부 종속성 만 가능)를 작성할 수 있습니까? 컨테이너 및 <cstdlib>
기능을 char
s, bitshifts, 및 루프 및 다른 바이트 멋진 일들에 대해 할 수있을 것이라고 상상할 것입니다. 그러나 예외는 아마 std::cout
및 std::cin
같이 시작하는 의존 관계없이 열심히 보인다. 사용할 수있는 OS 기능 집합이 어셈블리에서 완전히 구현되었다고 가정 해 봅시다 (C 오염을 피하기 위해).C++ 표준 라이브러리는 C 또는 어셈블리로 작성해야합니까?
저는 컴파일러가 클래스와 가상 함수에서 템플릿과 함수 오버로드에 이르기까지 모든 것을 이해한다고 가정합니다. 이것들은 언어 수준의 것들이며 라이브러리 IMHO에없는 곳입니다.
이전에 질문했거나 어리석은 질문 인 경우 용서해주세요. 표준 라이브러리와 같은 짐승을 구현하는 한계를 알아 내려고 노력하면서 C < -> C++ 전쟁을 시작하려고하지 않고 있습니다 ...
감사합니다!
C++ 컴파일러는 C로 작성 되었습니까? – Bill
이전에 존재했던 C++ 컴파일러 (C로 작성되었을 수도 있음)에서 생성 된 정적으로 링크 된 C++ (라이브러리/컴파일러에 사용되지 않은 항목) 또는 어셈블리에서 전체적으로 작성된 C++ 컴파일러라고 가정 해 봅시다. 몰래 들어갈 수있는 모든 C 영향을 제거하기 위해 –
rubenvb
컴파일러가 이미 존재하는 한 구현중인 언어를 사용하여 대부분의 언어를 구현할 수 있습니다. 흥미로운 몇 가지 부작용과 함께 좋은 예가 "Trusting Trusting Trust"기사에 설명되어 있습니다. http://cm.bell-labs.com/who/ken/trust.html – tloach