Re: [問題] 關於FARPROC及GetProcAddress的問題
※ 引述《VictorTom (鬼翼&娃娃魚)》之銘言:
※ 引述《slgn0129 (緣由天定分在人為)》之銘言:
: ( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
: ( 未必需要依照此格式,文章條理清楚即可 )
: 遇到的問題: (題意請描述清楚)
: HINSTANCE hDLL = LoadLibrary(TEXT("libGLESv2"));
: FARPROC p2 = GetProcAddress(hDLL,"glCompileShader");
: void (*p)(GLuint);
: p = (void (*) (GLuint)) p2;
: p(shader);
: hDLL有找到位址
: 但是p2卻是0x00000000
: 所以p就跟p2一樣
: 猜想可能是格式問題 但是不知道怎麼下手修改
: 希望得到的正確結果:
: 能抓到p2的位址
: 程式跑出來的錯誤結果:
: 存取違規(p=0x00000000)
: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
: VS2005
: 有問題的code: (請善用置底文標色功能)
: FARPROC p2 = GetProcAddress(hDLL,"glCompileShader");
: 補充說明:
: 如果有什麼應該要提供的資訊 小弟沒有提供的
: 請各位前輩說一下
: 請謝
恕刪...
==
所以問題又回到原點了, 為什麼原po的GetProcAddress()會失敗啊?_?
可能是
我gl2platform.h 下面的定義
不是#define GL_APIENTRY
是#define GL_APIENTRY __stdcall
另外
GL_APICALL void GL_APIENTRY glCompileShader(GLuint shader)
{
HINSTANCE hDLL = LoadLibrary(TEXT("libGLESv2"));
FARPROC p2 = GetProcAddress(hDLL,"glCompileShader");
void (*p)(GLuint);
p = (void (*) (GLuint)) p2;
p(shader);
要加的原因 是因為要跑programming guide裡面自訂的esfunction...
http://www.opengles-book.com/OpenGL_ES_Programming_Guide_v1.0.2.zip
這是官方公開的範例下載
所以一開始我才會說 猜想是格式錯誤0.0
--
http://www.wretch.cc/blog/ZAS007
月下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.165.212
推
12/04 13:28, , 1F
12/04 13:28, 1F
→
12/04 13:28, , 2F
12/04 13:28, 2F
→
12/04 13:29, , 3F
12/04 13:29, 3F
→
12/04 13:30, , 4F
12/04 13:30, 4F
→
12/04 13:30, , 5F
12/04 13:30, 5F
→
12/04 13:39, , 6F
12/04 13:39, 6F
推
12/04 13:47, , 7F
12/04 13:47, 7F
→
12/04 13:47, , 8F
12/04 13:47, 8F
推
12/04 14:18, , 9F
12/04 14:18, 9F
→
12/04 14:18, , 10F
12/04 14:18, 10F
→
12/04 14:19, , 11F
12/04 14:19, 11F
→
12/04 14:19, , 12F
12/04 14:19, 12F
→
12/04 14:44, , 13F
12/04 14:44, 13F
→
12/04 14:45, , 14F
12/04 14:45, 14F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):