首先用visual studio寫個(gè)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)用也很簡(jiǎn)單:

          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 閱讀(2630) 評(píng)論(1)  編輯  收藏 所屬分類: python


          FeedBack:
          # re: python 調(diào)用dll
          2008-08-06 16:52 | UMU

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊(cè)

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 916111
          • 排名 - 40

          最新評(píng)論

          主站蜘蛛池模板: 潼关县| 玛多县| 临漳县| 乡城县| 财经| 南投市| 博爱县| 彭州市| 宽甸| 外汇| 淮南市| 沁源县| 连江县| 长泰县| 云安县| 乐陵市| 济南市| 阿城市| 博乐市| 宜良县| 成都市| 福清市| 呼图壁县| 广元市| 扎赉特旗| 屏东县| 秭归县| 大港区| 仁化县| 定襄县| 马山县| 屏东县| 金坛市| 东源县| 秦安县| 敦化市| 黄石市| 郴州市| 勐海县| 大渡口区| 吕梁市|