Avatar ·

Statische und dynamische Verlinkung in C++: Was ist besser für Leistung und Größe?

Hallo zusammen! Ich bin ein C++-Anfänger und bin verwirrt über die verschiedenen Arten der Verlinkung. Ich schreibe ein kleines Projekt – ein Dienstprogramm zur Bildverarbeitung, das die Bibliotheken libpng und zlib verwendet. Ich habe zwei Varianten erstellt: eine mit statischer Verlinkung (die .exe-Datei wiegt 12 MB) und eine mit dynamischer Verlinkung (ich verwende .dll, die exe-Größe beträgt 500 KB, aber die .dll-Dateien müssen daneben liegen).\n\nHier ist ein Beispiel für vereinfachten Code, den ich teste:\n\n```cpp\n#include \n#include \n\nint main() {\n png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, nullptr, nullptr, nullptr);\n if (!png_ptr) {\n std::cerr << "Failed to create PNG struct";\n return 1;\n }\n std::cout << "PNG library initialized successfully";\n png_destroy_read_struct(&png_ptr, nullptr, nullptr);\n return 0;\n}\n```