Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Administrator
Das hängt vom Prozessor und Betriebssystem ab, da unterschiedliche Ladezeiten entstehen können. Prozesse haben für Gewöhnlich ihren eigenen, virtuellen Adressraum, in dem sich allerdings nicht die DLL befindet. Ein paar Extra-Takte dürften also für Adress-Umrechnung anfallen. Aber was sind schon ein paar Takte.Zitat
Höchstens so langsam wie ein einfacher Virtual Function Call...
C-/C++-Quelltext |
|
1 2 3 4 |
int main(int _argc, char** _argv) noexcept { asm volatile("lock cmpxchg8b %eax"); return 0; } // ::main |
Ist halt die Frage, welche Art von Code man wie auslagern will. Wie David schrieb ist es Quatsch, eine simple Vector3D-Klasse oder sowas in eine DLL zu packen. Das wird nur langsam. Seltenere Funktionsaufrufe, und da zähle ich mal das WinAPI dazu, oder riesige/zeitintensive Funktionen wie das Packen eines Ordners mit 7Zip, können getrost in DLLs geballert werden. Wenn's schnell gehen muss: Statisch linken. Wenn's noch schneller/einfacher gehen muss: Header-Only-Bibliothek.
Das hängt vom Prozessor und Betriebssystem ab, da unterschiedliche Ladezeiten entstehen können. Prozesse haben für Gewöhnlich ihren eigenen, virtuellen Adressraum, in dem sich allerdings nicht die DLL befindet. Ein paar Extra-Takte dürften also für Adress-Umrechnung anfallen. Aber was sind schon ein paar Takte.Zitat
Höchstens so langsam wie ein einfacher Virtual Function Call...
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (06.01.2013, 17:00)
Würdet ihr z.B. GUI-Elemente in eine DLL machen?
Außerdem wurde hier auch schon der Konflikt mit Klassen genannt. Da wäre auch meine Frage, ob es möglich ist eine Klasse einfach zu Exportieren, oder ob das komplizierter ist, als mit Funktionen.
Treue Seele
Werbeanzeige