Robert B.: Windows-API: Speicherverbrauch der laufenden Anwendung abfragen

Beitrag lesen

Moin Martin,

Das Ziel ist, dass ein großer Teil der CRTL beim Linken als überflüssig (nicht benutzt) erkannt wird und rausfällt - im Idealfall die komplette Runtime. Das ergibt kleinen, kompakten Code.

Erkennt dein Linker das?

da bin ich gerade nicht sicher; vermutlich nicht. Der Borland-Compiler bzw. -Linker, den ich ganz, ganz früher (so vor 20 Jahren) mal verwendet habe, konnte das bis auf Funktions-Ebene tracken und hat aus den angegebenen Bibliotheken (einschließlich CRTL) nur die Funktionen gelinkt, die auch referenziert wurden. Der gcc (als Teil der MinGW32-Toolchain in Code::Blocks) ist nicht ganz so schlau, meine ich.

Das kann man doch mit zwei Programmen testen – eines ruft eine einfache CRT-Funktion auf, das andere zwei und dann schaut man sich an, wie sich die Executables unterscheiden.

Der zweite Punkt ist, dass API Funktionen auch mal verschimmeln. Wie z.B. GlobalAlloc. Eine CRT Lib kapselt das.

Nun, da gehe ich mal davon aus, dass Betriebssystemkomponenten in sehr viel kürzeren Intervallen aktualisiert werden als Compiler und deren Bibliotheken.

In Bezug auf den Microsoft Compiler mag das zutreffen, aber der GCC beispielsweise dürfte in etwa mit einer vergleichbaren Frequenz wie das Betriebssystem aktualisiert zu werden. Die APIs hingegen dürften deutlich stabiler sein.

Viele Grüße
Robert