我可以为c#制作自己的JIT解释器编译器并在Visual Studio中使用它吗?
Can I make my own JITInterpreterCompiler for C# and use it in Visual Studio?
我目前正在编写一个编译器,从c#(重写自己)产生类似jit的EXE,无论如何使Visual Studio和它的调试器识别我想要构建它的方式(与我的编译器)和调试输出?
我的编译器的输出是EXE,但它不包含MSIL,它包含我的中间语言,其余的内容是用c++编写的JIT。(c++读取自己的EXE并执行)
我很清楚让它兼容并不是魔法;我来这里是为了得到一个直接的答案,无论可能是什么,以及开始的提示;例如,编写一个带有这些函数和参数的c++ DLL,并将DLL路径提供给Visual Studio的调试器参数,或者只是在MSDN上指出我的参考。(我没有得到任何有希望的结果从谷歌)
看来你想做的是可能的。MSDN的相关部分为:
- 扩展Visual Studio
Visual Studio集成开发环境(IDE)提供标准组件(如编译器)的用户界面;编辑器和调试器。像Visual c++和Visual Basic这样的特性Visual Studio中包含的插件本身就是IDE的扩展。Visual Studio SDK提供了工具、示例、向导、设计器和插件帮助您开发自己的扩展应用程序的文档
特别注意:
- Visual Studio Debugger Extensibility
Visual Studio包含一个完全交互式的源代码调试器,提供一个功能强大且易于使用的工具来跟踪您的程序。调试器完全支持Visual Basic, c#,C/c++和JavaScript。然而,使用Visual Studio SDK,情况就是这样可从微软下载中心下载,其他编程可以在调试器中支持与语言相同的丰富特性。
还要注意Language Services
部分——它描述了在visual studio中添加对新语言的支持的方法。特别是,您还可以为该语言添加调试支持。
参见:Language Service Support For Debugging
编译器的类型决定了你需要做什么来实现调试您的语言。如果你的编译器的目标是Windows操作系统并写入.pdb文件,可以用它调试程序集成到Visual中的本机代码调试引擎工作室。如果您的编译器生成Microsoft中间语言(MSIL),您可以使用托管代码调试引擎调试程序,它也集成到Visual Studio中。如果编译器的目标是一个专有的操作系统或一个不同的运行时环境,你需要编写自己的调试引擎
强调我的意思-即:你可以调试任何你想要的东西,但是你需要自己编写调试器。
你可能需要下载Visual Studio SDK
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在MS Visual Studio 2019中运行QT UI
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio Code - C++ Debugger 無法啟動
- Visual Studio 2019:插入多个C++风格的单行注释
- Visual Studio Code "undefined reference to `WinMain@16'"
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- Visual Studio中的函数声明和函数定义问题
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Visual Studio mkl_link_tool.exe链接错误
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 不同的Visual Studio版本中缺少.dll
- 用Visual Studio在C++中嵌入Julia
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- Visual Studio在尝试读取resource.txt文件时崩溃
- Visual Studio 2017 不允许我创建 C++ 专用模板