- Код: Выделить всё
- #if defined(AEE_SIMULATOR)
 #define __GL_EXPORTS
 #endif
 #ifdef _WIN32
 # ifdef __GL_EXPORTS
 # define GL_API __declspec(dllexport)
 # else
 # define GL_API __declspec(dllimport)
 # endif
 #else
 # ifdef __GL_EXPORTS
 # define GL_API
 # else
 # define GL_API extern
 # endif
 #endif
 #define GL_APIENTRY
 #ifndef GLAPI
 # define GLAPI GL_API
 #endif
, а функции обьявлены например как:
#ifdef __cplusplus
extern "C" {
#endif
GLAPI EGLint APIENTRY eglGetError();
#ifdef __cplusplus
}
#endif
но когда я обьявляю функции как
function eglGetError:EGLint;stdcall;external egl_lib name 'eglGetError';
при запуске приложения пишет, что точка входа в процедуру не найдена. Причём не все процедуры не находяться, а только те что начинаються на eglххх. Я попробовал открыть длл в написанной на Делфи утилитке, что используя модуль imagehlp отображает экспортируемые функции. В ней я увидел интересную вещь - функции, точка входа которых не найдена отображаються как напр. _eglGetError@0 , тоесть почему-то со знаком "_" в начале и с указанием общего размера передаваемых параметров после символа "@". Что это может быть? Какие-то с++-ные методы чтоли? Как их обьявить на Паскале?






