Tja, frag das MS. Jedenfalls muss man AFAIK WinMain verwenden, wenn man mit der Win32API Programmieren will.Zitat von axeljaeger
Tja, frag das MS. Jedenfalls muss man AFAIK WinMain verwenden, wenn man mit der Win32API Programmieren will.Zitat von axeljaeger
Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing
Mein Gedanke dazu war, dass eine Exe in Windows keine Exe, sondern in wirklichkeit eine DLL ist, die vom Explorer geöffnet wird und die Funktion WinMain aufgerufen wird. Dabei fällt mir ein: Wo ist dann überhaupt noch der Unterschied zwischen Exe und DLL? Kann ich eine Exe wie eine DLL öffnen und main() sagen? Ich glaube, KDE macht sowas, um Programme schneller starten zu lassen.
Kenn mich mit dem Thema (noch) nicht so gut aus, aber AFAIK verhält es sich so:Zitat von axeljaeger
Unter Win und auch unter Linux sind shared objects/dynamic link lib. (.so/.dll) im selben Format wie die bins/EXEs, nur das die letzteren eine definierte Einsprungsfunktion haben (ich denk lt. C-Standard eben main()). SOs/DLLs haben das nicht. Man kann z.B. jede Binärdatei mit dlopen() öffnen und Funktionen extrahieren, egal ob's jetzt eigentlich ne .exe/bin oder .dll/.so ist (hab ich schon probiert, funkt 1A ohne irgend einen Anstand).
Man könnt eben auch ne .exe mit dlopen() laden und mian() mit "manipulieren" Parametern aufrufen.
Wenn ich Blödsinn erzähle, bitte korrigieren!
Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing
Lesezeichen