首先用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)用(當(dāng)然這里可選)
          // 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 閱讀(2623) 評論(1)  編輯  收藏 所屬分類: python


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

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 石屏县| 平果县| 澳门| 信阳市| 浪卡子县| 敦煌市| 鹤岗市| 无极县| 东至县| 高要市| 百色市| 离岛区| 峨边| 木里| 锡林浩特市| 桦南县| 宁都县| 雅江县| 遵义市| 新兴县| 常山县| 岢岚县| 吉隆县| 隆安县| 宝应县| 台中县| 福清市| 女性| 隆回县| 南和县| 防城港市| 盐城市| 云安县| 峨山| 微山县| 西昌市| 敦煌市| 阜康市| 准格尔旗| 新昌县| 宜昌市|