<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks

    開發環境是DEV C++,采用C語言編寫
    創建一個DLL項目,項目名稱hello,DLL編寫采用的是DEV C++中的示例代碼

    頭文件dll.h
    #ifndef _DLL_H_
    #define _DLL_H_

    #if BUILDING_DLL
    # define DLLIMPORT __declspec (dllexport)
    #else /* Not BUILDING_DLL */
    # define DLLIMPORT __declspec (dllimport)
    #endif /* Not BUILDING_DLL */


    DLLIMPORT void HelloWorld (void);


    #endif /* _DLL_H_ */

    C文件
    dllmain.c
    #include <stdio.h>
    #include <stdlib.h>

    DLLIMPORT void HelloWorld ()
    {
    ??? MessageBox (0, "Hello World from DLL!\n", "Hi", MB_ICONINFORMATION);
    }


    BOOL APIENTRY DllMain (HINSTANCE hInst???? /* Library instance handle. */ ,
    ?????????????????????? DWORD reason??????? /* Reason this function is being called. */ ,
    ?????????????????????? LPVOID reserved???? /* Not used. */ )
    {
    ??? switch (reason)
    ??? {
    ????? case DLL_PROCESS_ATTACH:
    ??????? break;

    ????? case DLL_PROCESS_DETACH:
    ??????? break;

    ????? case DLL_THREAD_ATTACH:
    ??????? break;

    ????? case DLL_THREAD_DETACH:
    ??????? break;
    ??? }

    ??? /* Returns TRUE on success, FALSE on failure */
    ??? return TRUE;
    }

    還有要注意的在.def文件中指定輸出的函數,編譯生成了hello.dll文件

    DLL調用部分
    dllcall.c
    #include <windows.h>
    #include <stdio.h>
    #include <stdlib.h>

    HINSTANCE hDLL; //定義DLL包柄
    typedef void ( *func)();??? //定義函數指針原型
    func hello;? //定義函數指針
    int main()
    {
    ?if (hDLL == NULL)
    ??? hDLL=LoadLibrary("hello.dll");??//加載DLL
    ?hello = (func)GetProcAddress(hDLL,"HelloWorld"); //獲取函數指針
    ?hello();
    ?FreeLibrary(hDLL);? //釋放DLL
    ?return 0;
    }

    編譯執行

    ?

    posted on 2009-04-06 13:46 allic 閱讀(2832) 評論(1)  編輯  收藏 所屬分類: C/C++win32

    評論

    # re: win32環境C語言實現最基本的DLL編寫及調用實例,測試通過[原] 2010-01-11 20:25 cyxz
    welcome to visit my blog: http://blog.csdn.net/prsniper  回復  更多評論
      

    主站蜘蛛池模板: 黄色片在线免费观看| 青青青亚洲精品国产| 国产婷婷成人久久Av免费高清| 免费一区二区三区四区五区| 大桥未久亚洲无av码在线| 免费一级e一片在线播放| 国产亚洲综合久久| 亚洲精品无码久久毛片| 深夜久久AAAAA级毛片免费看| 亚洲伊人久久综合影院| 国产日韩精品无码区免费专区国产 | 久久亚洲国产伦理| 精品国产sm捆绑最大网免费站| 亚洲精品中文字幕乱码| 四虎国产精品免费久久| 亚洲av成本人无码网站| 亚洲国产精品无码久久久久久曰| xxxxx做受大片视频免费| 亚洲AV日韩AV永久无码下载| 在线日本高清免费不卡| 亚洲人成网站999久久久综合| 九月婷婷亚洲综合在线| 狠狠躁狠狠爱免费视频无码| 亚洲AV无码国产精品麻豆天美 | 欧美日韩国产免费一区二区三区| 亚洲一区二区三区写真| 亚洲AV伊人久久青青草原| a级男女仿爱免费视频| 亚洲毛片基地日韩毛片基地 | 亚洲中文字幕无码专区| 99精品视频免费观看| 在线观看亚洲AV每日更新无码| 亚洲成AV人在线观看网址| 99re这里有免费视频精品| 亚洲精品又粗又大又爽A片| 亚洲JIZZJIZZ中国少妇中文| 无码午夜成人1000部免费视频| 亚洲中文字幕无码久久2020 | 77777_亚洲午夜久久多人| 女人18毛片a级毛片免费| 中国在线观看免费的www|