首先用visual studio寫個dll。
          // TestDll.cpp : Defines the entry point for the DLL application.
          //

          #include "stdafx.h"
          #include <iostream>
          using namespace std;

          #ifdef _MANAGED
          #pragma managed(push, off)
          #endif

          #ifdef __cplusplus
          #define EXPORT extern "C"__declspec(dllexport)
          #else
          #define EXPORT __declspec(dllexport)
          #endif
          EXPORT int HelloWorld()
          {
          ?cout <<"hello world" <<endl;
          ?return 0;
          }


          BOOL APIENTRY DllMain( HMODULE hModule,
          ?????????????????????? DWORD? ul_reason_for_call,
          ?????????????????????? LPVOID lpReserved
          ????? )
          {
          ??? return TRUE;
          }

          #ifdef _MANAGED
          #pragma managed(pop)
          #endif

          然后用C++ 來調(diào)用(當然這里可選)
          // CallDll.cpp : Defines the entry point for the console application.
          //

          #include "stdafx.h"
          #include <windows.h>

          int _tmain(int argc, _TCHAR* argv[])
          {
          ?HMODULE hDll = ::LoadLibrary(TEXT("TestDll.dll"));
          ?typedef int pHelloWorld();
          ?pHelloWorld *pHello = (pHelloWorld *)::GetProcAddress(hDll, "HelloWorld");
          ?pHello();
          ?return 0;
          }

          而python的調(diào)用也很簡單:

          from ctypes import *
          fileName="TestDll.dll"
          func=cdll.LoadLibrary(fileName)
          #print func.HelloWorld()
          func.HelloWorld()

          如果有參數(shù)記得轉(zhuǎn)換成C類型的。比如用c_int()
          而參數(shù)如果是指針類型用 byref 轉(zhuǎn)換。

          posted on 2008-04-15 23:08 -274°C 閱讀(2639) 評論(1)  編輯  收藏 所屬分類: python


          FeedBack:
          # re: python 調(diào)用dll
          2008-08-06 16:52 | UMU
          Mark  回復  更多評論
            

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網(wǎng)站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 917238
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 濉溪县| 岳阳市| 临江市| 桃江县| 大渡口区| 阳谷县| 延长县| 天台县| 怀远县| 漳平市| 安图县| 手机| 滨海县| 海宁市| 烟台市| 繁昌县| 正镶白旗| 苗栗市| 江城| 奉节县| 通渭县| 宁乡县| 房山区| 黄冈市| 营口市| 鹤庆县| 上杭县| 陇川县| 平乡县| 林周县| 阿拉善右旗| 平湖市| 宜城市| 河西区| 繁昌县| 赣州市| 肥西县| 双城市| 涿州市| 葵青区| 楚雄市|