Прочитал,.. хм.. а мне показалось что речь идет о переводе модулей (юнитов) импорта dll из динамического в статический и обратно.
Динамический это когда LoadLibrary/GetProcAddress, а статический это когда через external dllname name 'procname'...
Отсюда вопрос:
Откуда идет мода на динамические модули импорта?
Вот открываю src\fpc\packages\extra\opengl\gl.pas и вижу:
- Код: Выделить всё
FreeOpenGL;
LibGL := LoadLibrary(PChar(dll));
if LibGL = 0 then raise Exception.Create('Could not load OpenGL from ' + dll);
try
@glAccum := GetGLProcAddress(LibGL, 'glAccum');
@glAlphaFunc := GetGLProcAddress(LibGL, 'glAlphaFunc');
@glAreTexturesResident := GetGLProcAddress(LibGL, 'glAreTexturesResident');
@glArrayElement := GetGLProcAddress(LibGL, 'glArrayElement');
@glBegin := GetGLProcAddress(LibGL, 'glBegin');
@glBindTexture := GetGLProcAddress(LibGL, 'glBindTexture');
.....
Не пойму, что так быстрее вызов происходит?..