Dll i biblioteka memmgr.lib

dział ogólny

Dll i biblioteka memmgr.lib

Nowy postprzez Koziol » wtorek, 13 października 2009, 10:47

Zastanawia mnie ten fragment komentarza, który powstaje przy stworzeniu projektu DLL wizard:
Kod: Zaznacz cały
//   Important note about DLL memory management when your DLL uses the
//   static version of the RunTime Library:
//
//   If your DLL exports any functions that pass String objects (or structs/
//   classes containing nested Strings) as parameter or function results,
//   you will need to add the library MEMMGR.LIB to both the DLL project and
//   any other projects that use the DLL.  You will also need to use MEMMGR.LIB
//   if any other projects which use the DLL will be performing new or delete
//   operations on any non-TObject-derived classes which are exported from the
//   DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
//   EXE's to use the BORLNDMM.DLL as their memory manager.  In these cases,
//   the file BORLNDMM.DLL should be deployed along with your DLL.
//
//   To avoid using BORLNDMM.DLL, pass string information using "char *" or
//   ShortString parameters.
//
//   If your DLL uses the dynamic version of the RTL, you do not need to
//   explicitly add MEMMGR.LIB as this will be done implicitly for you


A szczególnie o fragment:

Kod: Zaznacz cały
//   If your DLL exports any functions that pass String objects (or structs/
//   classes containing nested Strings) as parameter or function results,
//   you will need to add the library MEMMGR.LIB to both the DLL project and
//   any other projects that use the DLL.


Z mojej znajomości Ang wynika że w przypadku przyjmowania lub zwracania funkcje struktur i stringów trzeba załączyć tą biblioteke (memmgr.lib) ale nie za bardzo wiem czym jest i w jaki wypadkach jest używane static/dynamic RTL.

Był bym bardzo wdzięczny za przybliżenie mi tego tematu.

Pozdrawiam.
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
PodziÄ™kowaÅ‚ : 8
OtrzymaÅ‚ podziÄ™kowaÅ„: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Re: Dll i biblioteka memmgr.lib

Nowy postprzez Witold » wtorek, 13 października 2009, 12:14

Koziol napisał(a):ale nie za bardzo wiem czym jest i w jaki wypadkach jest używane static/dynamic RTL.


W ustawieniach Project Options\Linker masz opcje Use dynamic RTL\ dynamic RTL.

Help napisał(a):Use dynamic RTL means to use the RTL DLL (CC3260.DLL 32-bit, single-threaded, CC3260MT.DLL 32-bit, multithreaded), which is the DLL version of the Runtime Library in your application (or dll/package/ActiveX control). If you enable the option, the RTL code isn’t linked into your application, resulting in a smaller image, but you must distribute the RTL DLL with your application. This option defines the conditional define _RTLDLL.
Avatar użytkownika
Witold
Konstrukcjonista
Konstrukcjonista
 
Posty: 223
Dołączył(a): piątek, 29 sierpnia 2008, 10:53
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 14
Kompilator: bcb6, Turbo C++ Explorer
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości