C#调用C++的库 P/Invoke工具集
p/Invoke可以使用工具辅助自动生成,以减少混淆
1、官方的支持
http://visualstudiogallery.msdn.microsoft.com/site/search?query=p%2Finvoke&f%5B0%5D.Value=p%2Finvoke&f%5B0%5D.Type=SearchText&ac=4
微软的官方扩展上也有很多
开源的工具
http://www.pin5i.com/showtopic-22763.html
看起来微软自己也是深受.NET蹩脚的P/Invoke支持的毒害,因此无奈之余发布了P/Invoke Interop Assistant工具,你可以去下面这个链接来下载这个工具:
http://download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe
实际上这个工具已经开源了,你可以从这里http://www.codeplex.com/clrinterop/下载到它的源代码
2、经典的讨论区
http://stackoverflow.com/questions/2495632/easiest-way-to-generate-p-invoke-code
- PInvoker: http://www.pinvoker.com
- P/Invoke Interop Assistant: http://www.codeplex.com/clrinterop
- P/Invoke Wizard: http://www.paulyao.com/res/pinvoke/pinvoke.aspx
http://www.paulyao.com/res/pinvoke/pinvoke.aspx
3、社区评论
http://through-the-interface.typepad.com/through_the_interface/2011/04/pinvoke-tools.html
The first tool is the PInvoke Visual Studio Add-in from Red Gate Software (the UK-based provider of various development tools, including Reflector Pro). It appears to be a Visual Studio Add-in for VS2003 and 2005 (I can’t see an update for VS2008 or 2010, which also means I can’t try it). The tool provides simplified access to the excellent PInvoke.net website, to which I often refer when developing .NET apps. I don’t actually use that many P/Invoke statements that I feel I need an Add-In, though – which is perhaps why the add-in doesn’t appear to have been updated for more recent Visual Studio versions – but it seemed worth mentioning.
The second – in my opinion more interesting – tool is the P/Invoke Interop Assistant(here’s a more in-depth article, the CodePlex hosting site and a Channel 9 interview with one of the authors). This tool generates P/Invoke signatures for use from C# and VB.NET, as well as the ability to determine the P/Invoke signatures used in compiled binaries:
- Generating P/Invoke declarations while searching for commonly-used (presumably Win32) functions, structures, messages, etc.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2011-05-07 .net线程同步的一些知识