起初按照书里的说明来搭建Windows下的环境,卡在下载和编译正则表达式库“鬼车”的地方,后来留言给作者,才知道这个库已经转移到github上了(2018年4月25时点:https://github.com/kkos/oniguruma),虽然下载下来按说明编译,还是各种问题编译不过(或许我机器是Win7的原因),后来参考了“往事已疯”的《用msys2编译《自制编程语言》代码》(http://www.ituring.com.cn/article/198247)才算搞定编译的问题。

1,首先是安装msys2,官网地址http://sourceforge.net/projects/msys2/根据自己系统是x86还是x64选择安装文件,是x64系统的建议装x64的,反正装完x86和x64的编译环境都有。安装非常简单,一路next。

2,接下来就是安装编译所需要的工具和库,msys2的包用pacman来管理。2018-4-25时点的msys2已经不许需要单独执行shell文件。执行命令途中若提示某个库已经为最新版,敲入“y”继续安装即可。如果是x64环境,要把包名中的mingw-w64-i686换成mingw-w64-x86_64,我的环境就是x64。

pacman -S mingw-w64-i686-gcc flex bison make mingw-w64-i686-oniguruma

3,下载书的源码,解压,(我一般是把代码放在“msys2安装目录/home/用户名/”下面),然后cd 到源码目录直接make就OK了。

4,执行crowbar自带的测试代码。

PS:如果希望在Linux下编译这些代码的,可以直接去下面的网址下载Linux文件格式的源码。

(如果这个网址不可访问,也可以自己手动将windows下的文件,用notepad++编辑器一个一个改成Linux下的文件格式,并转成UTF-8编码

http://kmaebashi.com/programmer/devlang/book/download.html

Notepad++转文件格式和编码:

     

手动转比较麻烦的(但我没发现这个网址前确实这样干过

总算编译通过了《自制编程语言》一书里的代码!相关推荐

  1. 自学java编译老是出错_为什么按照书上的代码,编译老是出错?

    老是又小伙伴在群里说我的代码是按照书上的代码敲的,就是编译不过?想不通呀!目前市面上的一些书都是十来年以前编写的了,你不幸看的还是这些书,错误原因就在这里. 比如谭浩强的C语言程序设计这个本书都出了N ...

  2. 编译《自制编程语言 基于c语言》 郑钢 书中代码 idea

    编译<自制编程语言 基于c语言> 郑钢 书中代码 文章目录 编译<自制编程语言 基于c语言> 郑钢 书中代码 编译器 代码获取 正规途径 其他途径 运行 hello world ...

  3. 自制编程语言 基于c语言,GitHub - yifengyou/sparrow: 郑钢《自制编程语言》随书源码及读书笔记...

    <自制编程语言>学习笔记 本仓库内容 <自制编程语言>源码 src/sparrow.tgz <自制编程语言>读书笔记 docs/* <自制编程语言>样章 ...

  4. 基于c语言 自制编程语言,自制编程语言:基于C语言

    前百度高 级工程师.专业书<操作系统真相还原>的作者的又一力作业界专家联名推荐滴滴系统部技术高 级总监于晓声阿里巴巴蚂蚁金服技术专家肖金亮百度资 深运维工程师陈晓聪 360企业安全集团政企 ...

  5. 自制编程语言,六个令你迷惑的问题

    自制编程语言和虚拟机,这是一个看似很深奥的课题,也涉及当今互联网流行的主题,许多技术人员对其心驰神往,但要领悟其精髓步履维艰. <自制编程语言>循序渐进.由浅到深地讲解了丰富的基础知识,覆 ...

  6. 不求甚解之自制编程语言

    开始写不求甚解系列,为了让自己开始再次学习一些it方面的知识,主要是发现自己从毕业这几年开始, 一直没有再次写写博客,让自己安静下来,让自己重新思考,这也让我一直都是在重复一些很肤浅的东西 ,但同时忘 ...

  7. 《自制编程语言--基于C语言 郑钢》学习笔记

    <自制编程语言>学习笔记 本仓库内容 <自制编程语言>源码 src/sparrow.tgz <自制编程语言>读书笔记 docs/* <自制编程语言>样章 ...

  8. 编译原理三大经典:龙书 虎书 鲸书

    编译原理三大经典:龙书 虎书 鲸书 https://www.cnblogs.com/Amedeo/archive/2017/11/24/7881889.html https://book.douban ...

  9. 2010年11月编程语言排行榜:手机里的代码

    [51CTO独家特稿]Tiobe今天发布了最新一期的编程语言排行榜.本期榜单的前五名与10月份没有明显变化,依然是Java.C.C++.PHP和Python:Objective-C的增长势头强劲.本期 ...

最新文章

  1. pixhawk篇之坐标系转化,相关转化矩阵知识,算法截取
  2. spring学习笔记04-IOC常用注解(一)
  3. 计算机办公应用软件初级,电脑办公软件有哪些?桌面便签办公软件基础教程
  4. msmq 发送到远程专用队列不存在_不知道消息中间件是什么?RabbitMQ从头到尾详解介绍...
  5. jquery获取元素的索引_如何在jQuery中获取具有特定索引的元素
  6. javaio流_Java IO流
  7. 【技术直通车】使用FME Extension for ArcGIS读取ArcPad AXF文件
  8. xmind转excel脚本(简化版)
  9. 腾达W311MA无线网卡驱动安装 ubuntu16.04
  10. RuntimeError: Exporting the operator affine_grid_generator to ONNX opset version 9 is not supported.
  11. Hulu 2020年校招-算法题《Hulu杀》Python
  12. wordpress Avada主题banner制作
  13. Eclipse设置项目编码格式的两种方式
  14. 网络表示学习(Graph Embedding)简述
  15. go 极简后台管理-二次开发
  16. Github登录不上、下载慢的解决方法
  17. 微信小程序 - tab分页实现
  18. Global Mapper20生成可以进CAD的国家2000坐标系的DXF等高线
  19. 上海迪士尼度假区将推出一系列节庆活动和全新“萌聚达菲月”
  20. 修改windows虚拟服务器mac,vmware虚拟机修改MAC教程

热门文章

  1. 高级驾驶辅助系统各子系统一览
  2. 运用百度框架paddle进行手势识别【动手实践,附源码】
  3. JavaScript弹性透明的图片放大代码
  4. python按字母顺序排列_在python中检查字符串是否按字母顺序排列
  5. win 10键盘快捷方式就是按键或按键组合(收藏使用
  6. 关于游戏性的概念和实物
  7. 无法安装网络计算机加密,非系统分区使用BitLocker加密导致软件无法安装的解决方法...
  8. 微软Project Europe或将帮助Win10应用开发
  9. 半导体显示丨三星显示器拟投资逾21.5亿美元抢占OLED电视面板市场
  10. Vue引入并使用Element-UI组件库的两种方式