我可以为C#创建自己的JIT \ Interpreter \ Compiler并在Visual Studio中使用它吗?

时间:2015-10-26 17:12:11

标签: c# c++ visual-studio compiler-construction visual-studio-debugging

我目前正在编写一个从C#生成类似JIT的EXE(重写自身)的编译器,无论如何都要使Visual Studio和它的调试器识别我想要构建它的方式(使用我的编译器)和调试输出?

我的编译器输出是EXE,但它不包含MSIL,它包含我的中间语言,其余内容是用C ++编写的JIT。 (C ++自己读取\ EXE并执行)

我很清楚,使它兼容并不神奇;我在这里得到了一个直接的答案,无论它有什么可能和暗示开始;例如编写带有这些函数和参数的C ++ DLL,并给出Visual Studio调试器参数的DLL路径,或者只是指向我在MSDN上的引用。 (我从谷歌那里获得了零结果)

1 个答案:

答案 0 :(得分:7)

看来你想做的事情是可能的。 MSDN的相关部分将是:

  

Visual Studio集成开发环境(IDE)提供   标准组件的用户界面(UI),例如编译器,   编辑器和调试器。像Visual C ++和Visual Basic这样的功能   Visual Studio附带的内容本身就是IDE的扩展。   Visual Studio SDK提供工具,示例,向导,设计器和   帮助您开发自己的扩展应用程序的文档   IDE与其无缝集成。

特别注意:

  

Visual Studio包含一个完全交互式的源代码调试器,   提供功能强大且易于使用的工具,用于追踪错误   你的计划。调试器完全支持Visual Basic,C#,   C / C ++和JavaScript。但是,使用Visual Studio SDK,即   可从Microsoft下载中心获得,其他编程   调试器中可以使用相同的rich支持语言   特征

还要注意Language Services部分 - 这描述了为visual studio添加对新语言的支持的方法。特别是,您还可以为该语言添加调试支持。

请参阅:Language Service Support For Debugging

  

编译器的类型决定了您需要执行的操作   为您的语言调试。如果您的编译器以Windows为目标   操作系统和写一个.pdb文件,你可以调试程序   集成到Visual中的本机代码调试引擎   工作室。如果您的编译器生成Microsoft中间语言   (MSIL),您可以使用托管代码调试引擎调试程序,   它也集成到Visual Studio中。 如果你的编译器目标   您可以使用专有操作系统或不同的运行时环境   需要编写自己的调试引擎。

强调我的 - 即:你可以调试你想要的任何东西,但你需要自己编写调试器。

您可能想要下载Visual Studio SDK