青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天地之靈學習小組
我們學習小組的OpenGL學習筆記 大家一定要互相折磨呀~~
posts - 150,  comments - 156,  trackbacks - 0

今天早上意圖創建Device和SwapChain。這沒什么問題,但是我意圖通過模板演繹和宏來簡化對動態鏈接的DLL中函數的調用時,我寫的模板和宏不能正常工作。
我寫的函數和宏如下:
template <typename FuncType>
FuncType __forceinline GetModuleFunc(HMODULE hModule, LPCSTR lpProcName, FuncType /*pFunc*/)
{
 return reinterpret_cast<FuncType>(GetProcAddress(hModule, lpProcName));
}

#define CallModuleFunc(Module, ProcName, Args) (GetModuleFunc(Module, #ProcName, ProcName))?((GetModuleFunc(Module, #ProcName, ProcName)) Args) : E_FAIL

思路是通過函數的聲明演繹出函數類型,進行強轉然后調用。

失敗原因是盡管沒有直接調用pFunc,但pFunc依然作為參數被引用了,因為是動態鏈接的DLL,沒有引用對應的lib,所以鏈接時提示找不到符號的錯誤信息。

想知道有沒有什么其他的辦法只通過函數聲明而不通過引用來獲得類型以實現對動態鏈接的DLL中的函數的調用?vs2005還不支持typeof關鍵字,暫時沒有想到什么好辦法。

調用方代碼大致如下:以CreateDXGIFactory(Direct10里的一個函數) 舉例:
HRESULT ret = CallModuleFunc(m_hDXGIModule, CreateDXGIFactory, (__uuidof(IDXGIFactory), (void **)&pDXGIFactory) );
 if (FAILED(ret))
 {
  ATLASSERT(0);
  return E_FAIL;
 }

后記:
在偉大的叛叛的指導下,用boost搞定了這個問題。
一個test程序如下:
 BOOST_TYPEOF(Direct3DCreate9) *pDirect3DCreate9 = NULL;
 HMODULE hdx = LoadLibrary(_T("d3d9.dll"));

 pDirect3DCreate9 = reinterpret_cast<BOOST_TYPEOF(Direct3DCreate9) *>(GetProcAddress(hdx, "Direct3DCreate9"));
 if (pDirect3DCreate9 == NULL)
 {
  ATLASSERT(0);
 }
 else
 {
  IDirect3D9 * pD3D = pDirect3DCreate9(D3D_SDK_VERSION);
  if (pD3D == NULL)
  {
   ATLASSERT(0);
  }
 }

按照這個思路已經可以寫出通用的宏了。
template <typename FuncType>
FuncType __forceinline GetModuleFunc(HMODULE hModule, LPCSTR lpProcName)
{
 FuncType fun = reinterpret_cast<FuncType>(GetProcAddress(hModule, lpProcName));
 return fun;
}

#define CallModuleFunc(Module, ProcName, Args) (GetModuleFunc<BOOST_TYPEOF(ProcName) *>(Module, #ProcName))?((GetModuleFunc<BOOST_TYPEOF(ProcName) *>(Module, #ProcName)) Args) : E_FAIL

可惜的是boost::typeof的代碼我完全看不懂……學習C++的路漫漫其修遠兮……


FeedBack:
# re: 今天早上意圖創建Device和SwapChain。 _ By Gardon
2008-11-12 10:43 | 陳梓瀚(vczh)
太FB了這個名字……

“正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷”  回復  更多評論
  

<2008年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用鏈接

留言簿(6)

隨筆分類(149)

隨筆檔案(150)

同道中人

搜索

  •  

積分與排名

  • 積分 - 49593
  • 排名 - 463

最新隨筆

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美中文字幕精品| 久久伊人免费视频| 亚洲巨乳在线| 亚洲欧美日本视频在线观看| 免费成人av| 国产精品一区二区久久国产| 亚洲人成人一区二区在线观看| 亚洲视频在线观看视频| 女人色偷偷aa久久天堂| 亚洲专区在线视频| 欧美日本国产精品| 亚洲区中文字幕| 亚洲欧洲免费视频| 麻豆91精品| 亚洲欧美日本精品| 在线观看一区| 久久香蕉国产线看观看av| 一区二区欧美在线| 欧美精品一区三区| 欧美一区二区高清| 亚洲伊人观看| 欧美午夜片在线观看| 亚洲日本aⅴ片在线观看香蕉| 亚洲日本一区二区| 欧美高清在线精品一区| 亚洲国产日韩欧美在线99 | 欧美激情精品久久久久久黑人 | 亚洲国产影院| 在线视频日韩| 国产精品久久久久久久久果冻传媒| 亚洲精品久久久久久久久久久| 欧美本精品男人aⅴ天堂| 欧美精品日韩精品| 在线一区亚洲| 亚洲午夜一区二区| 国产精品美腿一区在线看| 亚洲专区在线视频| 欧美福利影院| 欧美成在线观看| 欧美有码视频| 夜夜精品视频一区二区| 99国产精品久久久久老师| 欧美日韩网址| 亚洲欧美韩国| 久久精品国产亚洲一区二区三区 | 欧美精品久久久久a| 久久激情久久| 久热成人在线视频| av不卡在线看| 另类国产ts人妖高潮视频| 久久精品官网| 国产精品日产欧美久久久久| 久久精品国产久精国产爱| 欧美日产在线观看| 欧美一区二区三区免费看| 欧美freesex8一10精品| 亚洲一区精品在线| 欧美日韩成人综合| 亚洲国产欧美日韩| 国产精品视频免费一区| av成人老司机| 亚洲香蕉网站| 久久精品一区二区三区四区| 欧美在线免费视频| 欧美国产精品日韩| 亚洲成色www8888| 国产精品久久久久av免费| 99www免费人成精品| 一区二区日韩| 国产精品扒开腿做爽爽爽软件| 日韩视频一区二区三区在线播放| 国产日韩欧美精品一区| 亚洲精品免费一区二区三区| 亚洲九九精品| 久久精品久久综合| 欧美成人视屏| 99精品国产福利在线观看免费| 欧美一区二区黄色| 宅男精品视频| 国产精品国产三级国产专区53 | 亚洲一区二区视频在线观看| 午夜精品理论片| 欧美精品电影| 日韩视频专区| 久久国产精品毛片| 在线精品视频免费观看| 欧美黄色免费网站| 在线中文字幕日韩| 久久久久在线观看| 国产欧美视频在线观看| 日韩一级片网址| 午夜精品一区二区三区在线| 国产欧美二区| 裸体一区二区| 中文精品一区二区三区 | 亚洲日本免费| 国产精品成人免费精品自在线观看| 亚洲欧美国产高清| 欧美电影专区| 欧美高清在线| 午夜精品区一区二区三| 国产综合久久久久久| 亚洲综合大片69999| 另类人畜视频在线| 99精品国产福利在线观看免费 | 久久精品亚洲精品国产欧美kt∨| 亚洲电影免费观看高清| 亚洲风情亚aⅴ在线发布| 久久精品动漫| 麻豆精品精华液| 中文在线资源观看网站视频免费不卡| 国产麻豆一精品一av一免费| 久热精品视频在线免费观看| 亚洲欧美精品伊人久久| 亚洲人成人77777线观看| 久久蜜桃av一区精品变态类天堂| 亚洲伦理精品| 在线观看av一区| 欧美岛国激情| 亚洲最新合集| 欧美激情免费观看| 日韩午夜免费视频| 伊人成人网在线看| 国产亚洲欧美日韩美女| 久久阴道视频| 欧美一区二区三区日韩视频| 99精品欧美一区| 亚洲激情在线观看视频免费| 久久综合999| 久久久久久69| 亚洲精品一区二区在线观看| 国产一区二区三区在线观看网站| 国产精品国产三级国产普通话三级| 欧美成人精品在线播放| 久久中文字幕一区| 久久精品国产清高在天天线| 午夜伦欧美伦电影理论片| 欧美高清一区二区| 欧美不卡视频| 欧美激情欧美激情在线五月| 老司机免费视频久久| 久久人人爽人人爽| 免费一级欧美片在线观看| 亚洲小说欧美另类婷婷| 一本大道久久a久久精品综合| 亚洲国产小视频| 亚洲国产日韩欧美综合久久 | 欧美日产一区二区三区在线观看| 欧美成人午夜剧场免费观看| 久久综合电影| 欧美高清视频www夜色资源网| 免费欧美视频| 欧美精品一区二| 欧美午夜免费| 国产麻豆精品视频| 怡红院精品视频| 亚洲精品国产无天堂网2021| 99精品国产热久久91蜜凸| 亚洲视频1区2区| 欧美淫片网站| 可以免费看不卡的av网站| 免费日韩成人| 日韩视频久久| 亚洲一区二区三区高清不卡| 久久精品欧洲| 欧美国产日韩免费| 国产精品黄页免费高清在线观看| 国产精品美女午夜av| 一区二区视频免费在线观看| 国产精品二区影院| 国产日韩欧美一区二区三区四区| 伊大人香蕉综合8在线视| 一本大道久久a久久精二百| 香蕉免费一区二区三区在线观看| 99精品视频免费观看| 国产欧美在线视频| 欧美激情一区二区三区成人| 国产精品福利在线| 国语自产精品视频在线看抢先版结局| 国产精品成人一区二区| 国产一区二区主播在线| 亚洲精品中文在线| 久久se精品一区精品二区| 欧美激情精品久久久久久变态| 国产精品99久久久久久久女警| 久久久青草青青国产亚洲免观| 久久国产加勒比精品无码| 欧美成人免费视频| 国产欧美精品在线| 亚洲精品网站在线播放gif| 性做久久久久久久免费看| 亚洲国产99| 久久se精品一区精品二区| 欧美性大战久久久久| 在线免费观看一区二区三区| 久久成人在线| 亚洲图片你懂的| 欧美激情小视频| 在线观看日韩av先锋影音电影院| 午夜激情亚洲|