Ich mache C seit etwa 20 Jahren, aber ich habe noch nie eine DLL gebaut; Ich habe es immer vorgezogen, statisch zu verknüpfen.Wie erstellt man eine DLL von der Kommandozeile in Windows mit MSVC
Ich benutze die Befehlszeile - cl.exe, etc - und gnumake makefiles, um meine Windows-Anwendungen zu erstellen.
Ich möchte jetzt eine DLL erstellen und ich bin verwirrt.
Letztendlich werde ich mit einer .lib und einer .dll enden. Die .lib enthält Stub-Code, der zur Laufzeit die DLL lädt und den darin enthaltenen Code verwendet.
Ich habe mir die Befehlszeilen für lib und link angesehen und es ist mir nicht klar, was genau gemacht werden soll, um diese Ausgabe zu erzeugen.
Also habe ich ein paar Fragen;
Benötigt cl zusätzliche Argumente, um anzuzeigen, dass es für eine DLL kompiliert? (Ich weiß, dass die exportierten DLL-Prototypen __declspec (dllexport) benötigen).
Ich weiß Link benötigt/dll als Argument.
Wird ich lib und Link ausführen, um die .lib bzw. .dll zu erzeugen, oder wird Link beide produzieren?
Was muss ich sonst noch wissen?
Dieser Blogbeitrag ist einfach und zeigt sogar 'cty Pes 'Zugang von Python: http://albertech.blogspot.com/2014/12/how-to-compile-dll-using-clexe.html – jar