- Код: Выделить всё
#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 , тоесть почему-то со знаком "_" в начале и с указанием общего размера передаваемых параметров после символа "@". Что это может быть? Какие-то с++-ные методы чтоли? Как их обьявить на Паскале?