遇到个C++访问vc.net 编写的DLL 导出函数的问题。
我需要,将C++定义的函数地址传给vc.net 编写的dll 。请问,这个 DLL接口函数的该怎么写。在这个接口函数中,该如何调用这个从外面传进来的函数地址。
谢谢了。 --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- http://blog.csdn.net/akirya/archive/2008/02/14/2093031.aspx --------------------编程问答-------------------- 首先非常感谢怀坏的回答。
但是,没有找到我需要的。
问题是:在.net 中,我用c#编写的DLL中导出一个函数。该函数的一个参数希望是一个callback函数的地址。
这个地址希望能在外部程序(C++编写)调用这个DLL时传入。
后来,我仔细考虑了一下,觉得这个貌似不太能实现。因为在c#中,所有的地址都不是内存的实际地址。而C++传入的应该是实际的函数地址。
--------------------编程问答-------------------- 用delegate --------------------编程问答-------------------- 没明白 --------------------编程问答-------------------- 用函数指针不就行了,不知道是不是在同一地址空间 --------------------编程问答-------------------- 通过调用C++的一个函数去注册C#定义的一个callback ? 就是使用C++中的事件?
delegate 可以转换为函数指针。 作为参数传递
--------------------编程问答-------------------- 定义函数,传递函数地址...
DLL在同一个进程中,函数地址是可以访问的~ --------------------编程问答-------------------- 你可以试一下这个工具:
http://download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe
它会自动根据C++函数声明帮你生成C#声明。 --------------------编程问答-------------------- 指向函数的指针 --------------------编程问答-------------------- 指向函数的指针
补充:.NET技术 , VC.NET