推薦一個好工具:P/Invoke Interop Assistant【轉】

weixin_34054866發表於2017-11-16

原文地址 :http://write.blog.csdn.net/postedit

在從託管程式碼裡面呼叫非託管程式碼的時候,經常會翻閱MSDN找到需要呼叫的這個程式集裡面的關於需要呼叫方法的簽名,還要特別注意方法簽名的寫法。而且,有的時候我們找到一個非託管程式碼,對裡面的呼叫方式還沒有參考文件。

這個boring的過程,以前我們可以利用MSDN,相關模組的參考文件,或者利用PInvoke.net這個網站來搞定。或者,我也見過一些同行找到了一個小工具P/Invoke wizard,用這個可以直接完成這個工作。在這裡可以下載到:
http://www.paulyao.com/res/pinvoke/download.aspx
但是這個工具自從2004年更新了就沒再更新過了。只支援1.0和1.1的dotnet framework。

在看MSDN上面的一篇文章的時候,看到微軟的zhangyi使用了一個叫做P/Invoke Interop Assistant GUI Tool的工具,P/Invoke Signature Generator。用了下,感覺非常方便。
它支援託管程式碼和非託管程式碼之間的方法簽名的轉換,而且直接生成相關的C#或者是VB的方法呼叫程式碼。這個簽名的轉換,不只是適用於Windows的方法簽名,只要給定一個C標頭檔案,就可以轉換成為相關的C#的import方法簽名:
r_fig11_L.gif

附上一個下載地址:
http://download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe

相關文章