0

動的ライブラリへの関数ポインタがあります。

#include <GL/gl.h> /* or something */

void (*vertex)(float, float) = &glVertex2f;

GCCi686-apple-darwin10-gcc-4.2.1 では常に機能しますが、Visual Studio 2010 では失敗します。

error 'vertex': address of dllimport 'glVertex2f' is not static

C89 用に構成しました。それが利用可能な唯一のCだと思います。externアイデアは、ライブラリ ヘッダーを含まない他のファイルで関数ポインターを として呼び出したいということです。

4

2 に答える 2

0

Windows DLL は BSD/Linux 共有ライブラリのようには機能しません :(

機能が必要だと思いますGetProcAddress

このリンクは Google から取得したものです: http://msdn.microsoft.com/en-us/library/ms683212(v=vs.85).aspx

于 2013-07-10T10:44:24.653 に答える