想要了解更多关于 v1.0普京网址.0 的内容,因此nim的可执行文件比较小

以下由中文社区翻译,能力有限,如有翻译错误,欢迎加入
QQ 群指正!

就在今天,Nim团队非常荣幸地宣布万众期待的1.0语言版本。

概述

在本教程中,我们将学习如何在Ubuntu
16.04上安装Nim。 我们将从Ubuntu存储库安装Nim,并从源代码安装nim。

Nim是:

  • 一个系统和应用程序编程语言。
    静态类型和编译,它提供了一个优雅的包装无与伦比的性能。

Nim提供:

  • 高性能垃圾收集的语言
  • 编译为C,C ++或JavaScript
  • 生成无依赖关系的二进制文件
  • 在Windows,MacOS,Linux等上运行

包含了 bug 修复、文档更新 等内容

1、前言

Nim 团队很高兴为大家带来 1.0.4 版本发布的消息, 这是我们在 Nim 1.0.0
之后发布的第二个补丁版本。

Nim一直专注于提供高效、可读和灵活的静态编译类语言。

从存储库安装nim

Nim在Ubuntu
16.04存储库上可用。
要安装Nim,我们可以运行下面的命令

$ sudo apt-get update
$ sudo apt-get install -y nim

现在我们可以检查安装了以下内容的Nim版本:

$ nim -v
Nim Compiler Version 0.12.0 (2015-11-02) [Linux: amd64]
Copyright (c) 2006-2015 by Andreas Rumpf

active boot switches: -d:release

Nim 团队很高兴公布 v1.0.2 版本, 这是在 1.0.0 之后我们首次发布补丁。

nim是什么?

nim是一门静态编译型语言,语法类似python,nim的代码被翻译成C代码再被C编译器编译成可执行文件。因此nim的可执行文件比较小,性能应该也不错。

最简单的nim程序就这样:

echo "消灭人类暴政!"

编译后EXE一百多K到两百K左右。

下载nim编译环境请到官方网站:

想要了解更多关于 1.0.0 版本的细节,可以查看我们两个月前
版本发布说明。

1.0版本标志可以在接下来的几年使用Nim的未来版本不会破坏当前版本的代码,开始有稳定的基础。

Hello Nim

我们来为Nim创建一个Hello World应用程序。
创建一个名为hello.nim的新文件,内容如下:

echo "Hello Nim! - howtodojo.com"

使用下面的命令编译源代码

$ nim c hello.nim 
Hint: system [Processing]
Hint: hello [Processing]
CC: hello
CC: system
Error: execution of an external compiler program 'gcc -c  -w  -I/usr/lib/nim -o /home/ubuntu/nimcache/hello.o /home/ubuntu/nimcache/hello.c' failed with exit code: 32512

/bin/sh: 1: gcc: not found

由于我们没有安装gcc,所以仍然出现错误。 是的,nim依靠c/c
++编译器来编译。

使用下面的命令安装gcc

$ sudo apt-get install gcc

现在让我们重新编译我们的hello.nim源代码。

$ nim c hello.nim
Hint: system [Processing]
Hint: hello [Processing]
CC: hello
CC: system
Hint:  [Link]
Hint: operation successful (9852 lines compiled; 0.910 sec total; 14.148MB; Debug Build) [SuccessX]

源代码编译成功。 二进制文件名是hello。
我们可以使用file命令检查文件类型。

$ file hello
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=fe9a2d66209c2adb082ae63e15fc35e8f991a322, not stripped

我们可以在上面看到,hello是一个ELF / Linux二进制文件。

现在让我们执行hello应用程序。

$ ./hello 
Hello Nim! - howtodojo.com

应用程序成功运行。

想要了解更多关于 v1.0.0 的内容,
看一看我们一个月前发的 发布说明。

tcc是什么?

tcc是一个体积只有数百K的C语言编译器。
tcc 官方网站

距离前一个版本的发布尽管只是过去了一个月的时间,
但这次的版本已经包含了超过 70
次新的提交,
新修复了 20 个问题, 让我们的 1.0 版本变成了更好的样子。

Nim构建了一个温暖和热情的社区,准备好了迎接新手们的到来。

从源代码安装nim

如上所见,Ubuntu 16.04附带的Nim版本是0.12.0。

在撰写本文时,Nim的最新稳定版本是0.17.2。
在本节中,我们将学习如何从源代码安装nim。

我们可以从Nim instal
Unix页面下载最新版本的Nim。

使用wget下载nim源代码。

$ wget -c https://nim-lang.org/download/nim-0.17.2.tar.xz

下载包含nim源代码文件哈希的sha256文件。
我们将使用这个文件来确保nim源代码的完整性。

$ wget -c https://nim-lang.org/download/nim-0.17.2.tar.xz.sha256  

现在让我们使用sha256sum命令来检查nim源代码的完整性

$ sha256sum -c nim-0.17.2.tar.xz.sha256
nim-0.17.2.tar.xz: OK

如果要输出OK,如下图所示。 如果没有,那么你将需要重新下载nim源代码。

使用下面的命令提取nim源代码。

$ tar xJf nim-0.17.2.tar.xz

转到提取的目录

$ cd nim-0.17.2    

运行下面的命令来构建nim和工具。 我们假设你在编译Nim之前已经安装了gcc。

$ ./build.sh
$ bin/nim c koch
$ ./koch tools        

安装nim到 /opt目录

$ sudo ./install.sh /opt

选择Nim版本

$ /opt/nim/bin/nim -v
Nim Compiler Version 0.17.2 (2017-09-07) [Linux: amd64]
Copyright (c) 2006-2017 by Andreas Rumpf

git hash: 811fbdafd958443ddac98ad58c77245860b38620
active boot switches: -d:release

尽管距离上个版本只有一个月,
这个版本也已经经历了超过 60次新的提交,
修复了超过40个错误报告, 让我们的 1.0.0 能够更加健壮。

2、配置nim使用tcc编译nim程序

我的环境:

  • windows 2012 x64
  • nim nim-0.15.0_x64
  • tcc-0.9.26-win64

安装 1.0.4

如果你已经用 choosenim 安装了之前版本的 Nim , 升级到 Nim 的 1.0.4
版本会非常简单:

$ choosenim update stable

如果你还没有安装 choosenim , 你可以通过
这些说明 来下载和安装
choosenim, 当然你也可以按照我们的
安装 页面直接安装。

如果你是一名新手,看看我们的学习资源,在我们的试练场试用Nim。

小结

在本教程中,我们学习了如何从Ubuntu存储库安装Nim。
我们学习了如何编译Hello Nim! 源代码来测试我们的安装。

我们还学习了如何从源代码安装Nim。 祝你与Nim玩得开心!

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149213.htm

普京网址 1

安装 1.0.2

如果你已经用 choosenim 安装了之前版本, 获取 Nim 1.0.2 版本会非常容易:

$ choosenim update stable

如果你还没有,你可以通过 这里的介绍 来获取 choosenim
当然你也可以通过我们的 安装 页面直接安装。

3、安装nim 和tcc :

  • 为了不和我电脑上已有的nim环境冲突,所以安装的时候,所有的可选项都不选,特别是不要勾选设置环境变量。其它选项都要联网下载文件。浪费时间。
    因为没有添加到path变量,所以每次要用nim和tcc编译,只能启动start.bat的这个窗口来行执行编译。
  • 把tcc 解压后,把tcc的整个目录复制到nim的目录下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章