参考Guile的Tutoria来创建一个带脚本支持的绘图程序:

http://www.gnu.org/software/guile/docs/guile-tut/tutorial.html

1.使用MacPorts安装guile和gnuplot

sudo port install guile gnuplot

2. 以管道的方式来操作gnuplot,注意需要在start_gnuplot函数添加如下的设置:

fprintf (output, "set term x11/n");

这是因为我们一会要使用X11来查看结果。

3. 检查一下Makefile

CDEBUG = -g -Wall

CFLAGS = $(CDEBUG) `guile-config compile`

LDFLAGS = `guile-config link`

SRCS = tortoise.c

OBJS = tortoise.o

tortoise: $(OBJS)

$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)

clean:

rm tortoise *.o

4.新建一个如下的脚本 snowflake.scm

(define (koch-line length depth)

(if (zero? depth)

(tortoise-move length)

(let ((sub-length (/ length 3))

(sub-depth (1- depth)))

(for-each (lambda (angle)

(koch-line sub-length sub-depth)

(tortoise-turn angle))

'(60 -120 60 0)))))

(define (snowflake length depth sign)

(let iterate ((i 1))

(if (<= i 3)

(begin

(koch-line length depth)

(tortoise-turn (* sign -120))

(iterate (1+ i))))))

(tortoise-pendown)

(snowflake 8 3 1)

(tortoise-turn 180)

(snowflake 8 3 -1)

5. 执行X11,并执行./tortoise -s snowflake.scm

尝试一下GNU Guile相关推荐

  1. GNU Guile 2.0.9 发布,Scheme 实现

    GNU的官方扩展语言,Scheme的优秀实现之一,Guile发布了2.0.9版本,该版本的主要成就在于: 大量的bug修复(这才是最重要的) web模块的完善 加入了sendfile partial ...

  2. 让这世界再多一份GNU m4 教程 (全文整理)

    作者:garfileo  作者主页 本文整理自:https://segmentfault.com/a/1190000004104696 整理者:Timekeeperl    csdn博客 欢迎转载!请 ...

  3. GNU m4 教程[转]

    原文:http://blog.csdn.net/timekeeperl/article/details/50738164 作者:garfileo  作者主页 本文整理自:https://segment ...

  4. UHD+GNU Radio Ubuntu环境搭建

    UHD+GNU Radio Ubuntu环境搭建 最近引文项目需要,需要进行频谱感知,特地学习了一下SDR 和GNURadio ,现在首先是入门的开发环境搭建以及部分测试. 本次教程采用ubuntu1 ...

  5. emacs .emacs_使用Emacs应该做的6件事

    emacs .emacs 想象一下使用Python的IDLE界面编辑文本. 您将能够将文件加载到内存中,对其进行编辑并保存更改. 但是您执行的每个动作都将由Python函数定义. 例如,使一个单词全部 ...

  6. 非科班出身的人学习编程不负责任指南

    为何要写这样一篇文章 来我们这个实验室里读研的学生可能自从来到这里的第一天就觉得自己的命运很苦逼.他们读本科时主修的是机械设计.制造以及自动化之类的专业,毕业时的简历上也顶多是写写擅长 MS Word ...

  7. Windows系统编译GSL2.7用于C语言编程(2022.5.8)

    Windows系统编译GSL2.7用于C语言编程(2022.5.8) 1. GSL(GNU Scientific Library) 1.1 GSL简介 1.2 前人在Windows平台下已编译好的GS ...

  8. gcc 5.2.0 编译安装笔记-20151110

    **转载请注明出处** by.haunying3 系统版本号 CentOS-6.6-x86_64-minimal 编译器 gcc-4.4.7通过yum安装 rpm -qa | grep gcc gcc ...

  9. gdb 版本和gcc版本的对应关系_GNU发布GDB新版本 10.1和 mtools 4.0.25

    日前GUN社区选宣布发布GNU调试器的新版10.1.GDB是由自由软件计划的核心工具之一,由开始的C语言调试器,发展为多语言多平台的强大的编程调试利器,目前支持Ada,C,C++,Fortran,Go ...

最新文章

  1. zookeeper的设计猜想-阶段一:提交事务请求(投票)
  2. 5.4 ~ 5.6 刷题记录
  3. 格密码教程(三):基础域概念,体积等;阿达马不等式,行列式
  4. 连续七天熬夜3D建模师终于出手,让老板增加薪资待遇,3D建模初学者的4个技巧
  5. JavaWeb项目实战(2)安装JDK和Tomcat以及Eclipse构造开发环境
  6. vue + element中el-table导出excel
  7. OO4O的session残留问题
  8. 【PostgreSQL-9.6.3】约束
  9. lightoj1234 打表技巧:分块打表
  10. 【Python】长文详解python中的正则表达式
  11. 安信可nbiot模块_安信可wifi模组特征
  12. 网络流中 InputStream.available() = 0 问题探究
  13. 实习日记——Day16
  14. 如何写好一份数据分析报告?
  15. python——利用正则表达式爬取豆瓣读书中的图书信息
  16. 【Ubuntu升级报错】“the following signatures couldn’t be verified because the public key is not available”
  17. python容器类型——字典{dict}
  18. sql/oracle数据库之取整函数round()、ceil()、floor()等等及示例
  19. Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)
  20. leetcode刷题网站

热门文章

  1. 通过贝叶斯公式计算阳性概率
  2. Gartner2017年度的十一大信息安全技术
  3. 数字集成:数字集成和数字电路的本质区别
  4. 新版《龟兔赛跑》对企业家的启示
  5. init 和 initialize 差距在哪里 oc
  6. 夺神之权服务器维护,流放之路3月28日夺神之权停服更新介绍
  7. excel分列格式问题:转化成文本格式问题
  8. 机器数的定点表示与浮点表示
  9. 计算机房排风系统,机房新风系统介绍
  10. 纪念自己谷粒商城完成