文档章节

Ubuntu下nim language环境配置

卜库塔
 卜库塔
发布于 2015/02/22 13:51
字数 528
阅读 103
收藏 0
点赞 0
评论 0

Getting Started

Nim is a powerful statically typed language that allows the programmer expressiveness without compromising run-time performance. As a general purpose programming language, it gives the same sort of power and performance as C++, but in a nicer package and with even more powerful tools!

Note: The Nim compiler requires a C compiler to compile software. GCC is recommended on Linux and Clang on Mac.

Downloading from Git

To install Nim from git, ensure that you have gcc installed on Windows, Linux, and BSDs and clang on Mac. Afterwards, run the following series of commands to download and bootstrap Nim:

 $ git clone -b master git://github.com/Araq/Nimrod.git
 $ cd Nimrod
 $ git clone --depth 1 git://github.com/nimrod-code/csources
 $ cd csources
 $ sh build.sh
 $ cd ..
 $ bin/nim c koch
 $ ./koch boot -d:release

Once compiled, you may want to add the bin directory to your path for easy access.

Nimble

Nimble is a beta-grade package manager for the Nim programming language.

On Unix operating systems Nimble can be compiled and installed with two simple commands. After successfully grabbing the latest Nim compiler simply execute the following commands to clone nimble, compile it and then install it.

$ git clone https://github.com/nim-lang/nimble.git
$ cd nimble
$ nim c -r src/nimble install

After these steps nimble should be compiled and installed. You should then add ~/.nimble/bin to your$PATH. Updating nimble can then be done by executing 

$ nimble install nimble

.

Aporia

Aporia is an IDE for the Nim programming language. Aporia uses GTK as the default toolkit, and the gtksourceview for the text editor component.

Dependencies

  • GTK

  • GtkSourceView (libgtksourceview-2.0.so)

  • PCRE

Use your linux package manager to install the dependencies.

Compiling

To compile Aporia you need the latest version of the nim compiler, preferably the unstable release from github. Aporia sometimes relies on bug fixes which have not yet made it to a stable release.

You can build it by running :

$ nim c aporia

 or by using nimble :

$ nimble build

You can also quickly install it using nimble without the need to clone this repo yourself, just execute:

$ nimble install aporia@#head

Example

The code for a simple program is as follows:

import tables, strutils

var wordFrequencies = initCountTable[string]()

for line in stdin.lines:
  for word in line.split(", "):
    wordFrequencies.inc(word)

echo "The most frequent word is '", wordFrequencies.largest, "'"

Save this text as frequentword.nim. To compile and execute the program, the following command should be run with some input words :

$ nim c -r --verbosity:0 frequentword.nim
大黄, 小白, 大黄, 小白, 小白, 小白, 大黄
The most frequent word is '(key: 小白, val: 4)'

The command has several elements:

  • c is an alias for compile, which compiles the Nim sources into C and then invokes the C compiler on them

  • -r is an alias for --run, which runs the program

  • --verbosity:0 makes the compiler only output essential messages, since by default it also outputs some debugging messages. From now on, we assume that --verbosity:0 is set

  • ./frequentword.nim is the path to the source you want to compile


© 著作权归作者所有

共有 人打赏支持
卜库塔
粉丝 21
博文 2
码字总数 528
作品 0
郑州
配置指定使用tcc编译器编译nim程序

配置指定使用tcc编译器编译nim程序 1、前言 nim是什么? nim是一门静态编译型语言,语法类似python,nim的代码被翻译成C代码再被C编译器编译成可执行文件。因此nim的可执行文件比较小,性能应...

黑暗圣堂武士 ⋅ 2016/10/13 ⋅ 0

Nim 0.10.2 发布,命令式编程语言

Nimrod (已改名为Nim)是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nimrod从Lisp继承来的一个特殊特性--抽象语法树(AST)作为语言规...

oschina ⋅ 2014/12/30 ⋅ 2

Nim语言快速入门 教程

先了解下nim语言: Nim语言有哪些特点 Nim下载地址: http://nim-lang.org/download.html (注意:win上安装时务必安装mingw,然后设置mingw/bin到path环境变量,不然编译不了代码) (下载这个可以不...

路中鸟 ⋅ 2015/07/22 ⋅ 1

Ubuntu_Server版安装Gnome图形桌面

由于公司的服务器在安装Ubuntu12.10时候,默认是没有桌面,但由于某些原因,某些部门要用到桌面模式! 一、配置好Source源列表   详情可以参考:http://www.cnblogs.com/sbaicl/archive/20...

喵王不瞌睡 ⋅ 2015/01/04 ⋅ 0

ubuntu 修改语言环境

对于使用ubuntu server版的朋友,可能就要适应英文环境了,面对一个纯英文的文本界面吧!如果安装过程中选择了中文界面,则ubuntu会自动将安装够的系统语言配置为中文,但是没有安装汉字系统...

JohnSuesan ⋅ 2017/04/20 ⋅ 0

使用 xCAT 简化 AIX 集群的部署和管理

xCAT 简介 xCAT (Extreme Cloud Administration Toolkit) 是一个开源的可扩展的高级集群管理和配置工具,允许使用者通过一个单点控制和管理一个集群系统。xCAT 最先是为 IBM xSeries 系列 Li...

红薯 ⋅ 2010/09/06 ⋅ 0

ubuntu下配置UTF8中文的步骤

最近安装了ubuntu server 9.04,打算下一步作为新服务器的环境。需要支持utf-8中文环境。 设置中文环境很简单,需要三步。第一步,安装中文包: sudo apt-get install language-pack-zh lang...

清风徐不来 ⋅ 2014/11/04 ⋅ 0

ubuntu乱码问题

今天被一个坑给坑了,ubuntu乱码 参考两篇文章,登陆后env看到字符集是中文,那么就OK了。 http://blog.csdn.net/bingospunky/article/details/52912574 http://blog.csdn.net/xuezhisdc/art...

1350368559 ⋅ 2017/05/26 ⋅ 0

Ubuntu16.04安装后开发环境配置和常用软件安装

Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安装.2.开发环境配置.JDK环境配置+Scala环境...

幕三少 ⋅ 2017/02/27 ⋅ 0

Nim实用技巧集锦

函数名的使用 上面的代码编译是正确的.原来函数名是忽略大小写和下划线的, 所以爱怎么用函数名就怎么用吧, 峰驼和下划线党不会起冲突了. (注意: nim里名对首字母大小写敏感, 而且首字不能用下...

路中鸟 ⋅ 2015/07/08 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部