【问题标题】:C++ DLL to be used in C# or Java在 C# 或 Java 中使用的 C++ DLL
【发布时间】:2012-04-30 16:31:22
【问题描述】:

我对 C++ 编程很陌生...

我被分配了一个任务,用 C++ 做一个 SkipList,它会做一些功能.. 除了这些功能外,还包括以下功能:

将跳过列表导出到可以在 GraphViz 中呈现的 .DOT 文件

有什么想法可以做到这一点吗? 另外,我需要导出 DLL,以便我可以在 Java 或 C# 中使用它..

非常感谢任何帮助

谢谢

【问题讨论】:

  • 您已经可以将其与 Java 中的 ConcurrentSkipListMap 进行比较。

标签: c# java c++ dll graphviz


【解决方案1】:

如果您希望在 Java 中使用 C++ 代码,请查看JNI。它要求您使用 JNI 包装器修改您的 C++ 代码(有关示例,请参见 Wikipedia 链接)。

另一方面,C# 可以调用正常导出的 DLL 函数,即使用extern "C" __declspec(dllexport),通过PInvoke

【讨论】:

  • 谢谢队友..我会使用你所说的..所以使用 PInvoke,我将创建一个 .DOT 文件?
  • DOT 文件和 GraphViz 与 DLL 创建和使用无关。听起来这是你的任务期望你的代码做的事情。
  • @user1317277 没问题。以下是 Google 快速搜索到的有关 GraphViz DOT 文件的内容:graphviz.org/pub/scm/graphviz2/doc/info/lang.html
【解决方案2】:

Java 有 JNI 技术 实际上它是具有一些特定类型和规则的 c/c++(带有外部“c”调用)库

是的,你可以在 Java 中使用你的 dll 和一些 jni 桥

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 2012-08-27
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多