Ho avuto una domanda sulla creazione/collegamento di DLL in Visual Studio 2005 e versioni successive. Fondamentalmente la mia comprensione ed esperienza è questa:Visual Studio C++: quando dovrei usare __declspec (dllimport)?
Per creare una DLL, specifico le proprietà del progetto per creare una DLL, e quindi I __declspec (dllexport) davanti a qualsiasi funzione o membro che voglio esporre pubblicamente dal DLL. La costruzione del progetto comporterà una DLL, un Lib e un file di intestazione che può essere distribuito come ad esempio un'API o qualcosa del genere.
D'altra parte, per fare in modo che l'altra applicazione eseguibile compilata si colleghi in modo dinamico alla DLL e utilizzi le sue funzioni, è sufficiente che il progetto eseguibile includa i file di intestazione e il collegamento con il piccolo file lib creato quando il La DLL è stata creata Finché l'applicazione compilata riesce a trovare la DLL, tutto funzionerà.
Questa è stata la mia esperienza e questo è anche il modo in cui il tutorial di costruzione di Microsoft DLL ha descritto tutto su MSDN. Mi chiedo: è questa pratica standard? Quando avresti mai avuto bisogno di usare __declspec (dllimport) ovunque? Mi sto perdendo qualcosa?
Grazie!
possibile duplicato di [Perché/quando __declspec (dllimport) non è necessario?] (Http://stackoverflow.com/questions/4489441/why-when-is-declspec-dllimport-non-needed) –