E 'possibile ottenere un progetto Delphi per creare un file lib come l'uscita del progetto?
-
26-09-2019 - |
Domanda
lo voglio creare DLL e LIB. perché questa dll è staticamente collegato ad un altro dll CPP. quindi devo avere il file lib.
sto usando l'IDE di Delphi 4
Soluzione
No, Delphi non genera lib file. Essa non ha alcun uso per loro.
Ci sono modi per creare un file lib da una DLL . Ad esempio, è possibile utilizzare IMPLIB , se ne è venuto con la versione di Delphi.
Altri suggerimenti
Utilizzo in DLL C ++ creati in Delphi (come viceversa) è abbastanza facile, ma è necessario seguire semplici regole. Presumo che si sta tentando di utilizzare Delphi DLL nel progetto C ++:
-
È necessario utilizzare la stessa convenzione di chiamata. Per impostazione predefinita, usi Delphi registrano convenzione (__fastcall in C ++ terminologia). Predefinito convenzione di chiamata per tutti i Windows DLL è __stdcall, in modo da modificare prima il dichiarazione di funzione nel file sorgente Delphi nel seguente modo:
funzione DoSomething (x, y: Integer): Integer; stdcall ;
-
Quando utilizzare __stdcall aspetta, C ++ funzioni esportate nella DLL di avere i nomi seguiti dal suffisso designa la dimensione complessiva dei params passati ad esso. Così, la vostra routine DoSomething dovrebbe diventare DoSomething @ 8, tenendo conto che la dimensione di Integer è di 4 byte e le vostre esportazioni sezione nel file .dpr dovrebbe essere simile:
esportazioni
DoSomething nome 'DoSomething @ 8' -
Crea intestazione C ++ con dichiarazione di funzione e includerlo al C ++ progetto:
int __ declspec (dllimport) __ stdcall DoSomething ( int x, int y);
-
Se si utilizza C ++ Builder o Visual C ++, utilizzare le utility IMPLIB che crea libreria di importazione (lib). V'è anche uno strumento lib venire con VC ++ che può fare lo stesso. Poi il collegamento con quel file .lib invece di dll.