<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 閱讀(2831) 評論(1)  編輯  收藏 所屬分類: C/C++win32

    評論

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

    主站蜘蛛池模板: 99久久免费国产精品特黄| 亚洲精品一区二区三区四区乱码| 午夜性色一区二区三区免费不卡视频 | 成年私人影院免费视频网站 | 亚洲成AV人片在WWW色猫咪| 日本不卡视频免费| 57pao一国产成视频永久免费| 最好2018中文免费视频| 亚洲国产美女精品久久| 亚洲国产一区国产亚洲| 免费A级毛片无码A∨男男| 91精品国产免费入口| 亚洲综合中文字幕无线码| 久久精品九九亚洲精品天堂 | 国产亚洲AV手机在线观看| 蜜桃精品免费久久久久影院| 日本视频免费高清一本18| 美女被艹免费视频| 亚洲人成在线免费观看| 久久久久久亚洲精品中文字幕 | 亚洲变态另类一区二区三区| 久久久婷婷五月亚洲97号色| MM131亚洲国产美女久久 | 亚洲真人无码永久在线观看| 亚洲国产精品嫩草影院在线观看| 拔擦拔擦8x华人免费久久| 1000部羞羞禁止免费观看视频| 中国一级毛片免费看视频| 亚洲AV成人精品一区二区三区| 亚洲一区二区三区免费在线观看| 亚洲午夜无码久久久久| 亚洲国产成人久久一区久久| 好爽…又高潮了免费毛片| 亚洲视频在线免费看| 久久免费线看线看| 精品一区二区三区免费观看| 免费国产污网站在线观看不要卡| 亚洲欧美日韩自偷自拍| 亚洲综合中文字幕无线码| 亚洲a∨无码男人的天堂| 亚洲精品美女久久久久9999|