douji6735 2014-02-05 21:48
浏览 68

与GO共享.Net库

I'm looking for a way to write a GO application that use a .NET UI. Or the other way around, a .Net application that calls into a GO library.

Is there anyway to P'Invoke GO, or ".Net'Invoke" from GO?

If not, what is the best performing alternative? The best idea I have right now is RPC.

  • 写回答

1条回答 默认 最新

  • douou6696 2016-05-16 21:18
    关注

    It is possible to host a .NET CLR in-process. You could in theory write a DLL callable from C, which could host such a CLR.

    e.g. This example project demonstrates creating a CLR inside of a C++ application.

    If you bundle together the required state (e.g. ICLRRuntimeInfo et al.) into a struct, you should be able to call the equivalents from a DLL written in C, and return a 'handle' or some such other wrapper to your Go application.

    What is not entirely clear from the documentation is

    • Whether it's legal for an assembly loaded in another process to perform these calls (vs. the process itself)
    • Whether C++ is mandatory instead of C (doesn't seem to be the case, but I have not attempted the above and there are some 'suspicious' declarations in some of the example code w.r.t vanilla C)
    评论

报告相同问题?

悬赏问题

  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)