g ++ sem libstdc ++ - isso pode ser feito? - um libstdc ++ leve e muito configurável, em que eu possa tirar coisas facilmente também faria o truque

Estou tentando algo assustador aqui. Estou tentando escrever programas C ++, compilados com o g ++ do GNU, mas sem uma dependência do libstdc ++ :), mas parece que eu preciso disso, mesmo para as coisas mais básica

Um libstdc ++ com um conjunto de recursos configuráveis seria aceitáve

O comando que eu uso é

g++ -nodefaultlibs -fno-rtti -fno-exceptions -lc

Sem libstdc ++, recebo:

undefined reference to `operator delete(void*)'  
undefined reference to `operator new(unsigned int)'  
undefined reference to `vtable for __cxxabiv1::__class_type_info'  
undefined reference to `vtable for __cxxabiv1::__si_class_type_info'  
undefined reference to `__cxa_pure_virtual'

Estes não estão na libc, então existe uma libstdc ++ realmente leve que implementa exatamente essas coisa

Meu código de teste que eu quero criar dessa maneira se parece com o seguinte:

#include <stdio.h>

template <class T>
class X
{
    public:
    T a;
};

class A1
{
    public:
        virtual void f() = 0;
        virtual ~A1() {}
};

class A2 : public A1
{
    public:
        virtual void f() {};
        virtual ~A2() {}
};

class Y
{
    public:
        ~Y() {}
};

int main()
{
    X<int> A;
    X<float> B;
    Y *C = new Y;

    A.a = 12;
    B.a = 2.3;

    printf("A: %d; B: %f\n", A.a, B.a);

    A2 *a2 = new A2;
    a2->f();

    return 0;
}

questionAnswers(5)

yourAnswerToTheQuestion