Witam
Piszę właśnie spory program na procesor ARM7, który chciałem przenieść pod C++. Jednak okazuje się, że po dołączeniu biblioteki standardowej języka C++ rozmiar wynikowego kodu rośnie o około 40kB. To sporo, biorąc pod uwagę, że mam około 200kB miejsca na cały program.
Postanowiłem więc wyłączyć bibliotekę stdc++. Moje pytanie brzmi: jakie nakłada to ograniczenia na pisany kod? Znalazłem już informację, że nie będę mógł korzystać z komponentów stl oraz operatorów new i delete. To mi nie przeszkadza, ponieważ, tam gdzie to potrzebne, implementuję własne "bezpieczne" algorytmy zarządzania pamięcią przydzielaną dynamicznie.
Czy będę miał jakieś inne ważne ograniczenia? To jest jeszcze chwila gdzie mogę jednak wrócić do pisania kodu w czystym C.
Dodano:
Właśnie wypraktykowałem, że bez stdc++ nie działają konstruktory i destruktory. To sprawia, że raczej skupię się na C. Może ktoś zna jakieś "okrojone" wersje biblioteki stdc++ dla procesorów ARM?
Co znajduje się w bibliotece stdc++
Tylko, że samych operatorów new i delete nie potrzebuję. Obiekty chciałem tworzyć statycznie. W takim przypadku jednak konstruktory także nie były wywoływane. Może da się to jakoś obejść? To jedyne czego mi brakowało.Guzer pisze:Z tego co wiem trzeba zdefiniować własne operatory new i delete, w najprostszym przypadku można podpiąć pod malloc() i free().
Pytam teraz bardziej z ciekawości, ponieważ postanowiłem pisać kod w C.