C 正在编译GitHub上找到的编译器

C 正在编译GitHub上找到的编译器,c,visual-studio,github,download,compiler-construction,C,Visual Studio,Github,Download,Compiler Construction,我在github上找到了一个程序,我正在尝试编译和运行,但似乎不知道如何编译,希望有人能带我完成它的步骤。这是我必须使用命令行来实现的吗 程序就在这里。这是一个c-减号编译器,它的目标是我想玩得开心的微型虚拟机。关于如何编译和使用的说明对我来说有点模糊 我对这种类型的东西非常陌生,所以一步一步地简化说明将非常感谢 说明模糊不清,因为它是最容易构建的软件,除了在windows上,不需要任何说明,甚至不需要任何工作。 在VisualStudio中构建某些类型的软件是极其困难的。您需要搜索有关如何在w

我在github上找到了一个程序,我正在尝试编译和运行,但似乎不知道如何编译,希望有人能带我完成它的步骤。这是我必须使用命令行来实现的吗

程序就在这里。这是一个c-减号编译器,它的目标是我想玩得开心的微型虚拟机。关于如何编译和使用的说明对我来说有点模糊

我对这种类型的东西非常陌生,所以一步一步地简化说明将非常感谢

说明模糊不清,因为它是最容易构建的软件,除了在windows上,不需要任何说明,甚至不需要任何工作。 在VisualStudio中构建某些类型的软件是极其困难的。您需要搜索有关如何在windows中构建unix软件的一般建议,并放弃使用visual studio的梦想

但由于我在windows中构建unix软件是为了放松,下面是我如何做到的

从这里运行x86安装程序 搜索并包括:

gcc-g++   flex   bison  make   (all in the devel category)
运行已安装的cygwin.bat;运行这些命令

cd c:/path/to/c-compiler
make
恭喜,您现在有了parse.c、parse.h和scan.c。此外,您还有main.exe—如果您只想运行该程序,那么就完成了

最后一步是停止!不要尝试使用VisualStudio

如果你坚持在VisualStudio2015中对其进行黑客攻击,那么你就有大麻烦了。这需要高水平的技能。你本质上是在问如何用摩托车拖船。它需要把你的摩托车改装成卡车。我会把步骤写下来,这样你就能知道你有多麻烦了

创建一个新的win32控制台应用程序,选中空项目,取消选中SDL检查,拖入所有.c和.h文件

现在,右键单击解决方案资源管理器中的项目,执行属性,更改 要转到调试、c/c++、预处理器和添加的配置

_CRT_SECURE_NO_WARNINGS;_CRT_INSECURE_NO_DEPRECATE 
到预处理器定义

现在,右键单击解决方案资源管理器中的项目,执行属性,更改配置以转到调试,转到c/c++,常规,然后添加。只需添加一个点即可包含其他目录

到这里来获取unistd.h的内容。在vcxproj visual studio创建的

到这里获取getopt源。是的,你必须登录。代码项目是一堆垃圾

亲爱的,把它放在你的vcxproj旁边。将.h和.c拖到项目中。 从项目中删除tm.c

现在使用VisualStudio来构建它

恭喜,您现在拥有了编译器

在其他目录中重复所有操作;但是在最后删除main.c

恭喜你,你现在拥有了这台机器


有更好的方法来完成这一切,但它们更复杂。

如果您使用linux系统或MacOS,步骤相当简单:

使用git Clone克隆项目https://github.com/koyabr/C-Compiler.git cd C编译器 删除main和tm文件。这些不应在源代码管理下 修补文件AST.h和AST.c,将单词ID改为ID。 跑牌 该补丁是必需的,因为flex生成的预处理器宏与AST.c和AST.h中的函数参数名称冲突

这种玩具语言是各大学计算机课程的基础,可以找到其他来源:

产品规格 另一个编译器: 另一个项目: C++中对应于Windows的源代码:
当然,还要一些香槟和牡蛎。这不是该站点的支持论坛。@olaf我应该去哪里询问/学习如何then@immibis我试着进入命令行,进入目录,按照我发布的链接底部的用法所说的做。我已经在另一个类中使用了cygwin,我试过了,这就是我得到的User@User-HP/cygdrive/c/Users/User/Desktop/c-Compiler-master/c-Compiler-master$make-bash:make:command未找到抱歉,我将make从deps列表中删除了。一般来说,如果你在CygWin,它说X:没有找到命令,你可以考虑在CygWin安装程序…………我选择SRC和Bin吗?好的,我已经开始工作了,它创建了MIN .EXE,但是我得到了一个错误,说它不能启动,因为CygWi1.DLL从我的计算机中丢失了。不要在浏览器中双击它。这就是你使用cygwin所付出的代价。我刚刚添加了一个github fork,它在VS2015中构建了这个集合。我该如何处理main和tm?这些不是使它工作所必需的吗?main和tm是可执行文件。除非您运行与作者相同的平台,否则它们不会在您的系统上运行。您应该通过运行make命令从源代码构建自己的版本。您使用什么系统?使用最后一个链接,在visual studio 2010中,2015年将出现问题。我只需单击一下就可以确认它的构建。64位windows,哦,我想我明白了。去掉可执行文件,但保留main.c和tm.c?如果你看不懂的话,他写的所有东西都是基于linux或osx的,我想你不是,因为你的问题 上标记为visual studio。删除main和tm甚至不是什么大不了的事,对你来说被困在上面毫无意义,没有解决任何真正的问题,实际上对你在windows上完全无关。