【发布时间】:2011-04-25 16:13:02
【问题描述】:
我有一组库的 C++ 源代码和标头,我需要从 C# 应用程序调用这些库。我已经围绕我需要的函数创建了一个托管 C++ 包装器,并且能够从 C# 调用它们来前后编组数据。
现在最困难的部分..
我的非托管 C++ 库在运行时会生成状态消息,我希望能够从调用 C# 应用程序中显示这些消息。我现在的想法是这样的:
我希望非托管 C++ 库代码在我创建它时传递给托管包装器的 C# 代码中调用一个函数。我在 Code Project 上找到了一些教程,但语法似乎已经过时了。
如果有人有一些示例代码或者可以为我指明一个好的教程的方向,那就太好了。
提前感谢您的帮助。
【问题讨论】:
-
语法到底是怎么过时的?能给我们举个例子吗?
-
既然你说 c++ 是一个库,为什么你的库需要调用你的代码。
-
您使用的是托管 C++(旧语法)还是 C++/CLI(新语法)?如果您不确定,您是使用
^作为 C++ 中托管对象的指针还是使用* -
您好 Lou,我正在使用新的 C++/CLI 语法。我提到的旧式语法来自codeproject.com/KB/mcpp/unmanaged_to_managed.aspx。
-
您好重新运行,回调的目的是将状态消息传递回调用应用程序。它们采用我希望在 C# GUI 中显示的字符串形式。
标签: c# c++ callback unmanaged managed