(一)nimlang web开发 hello world

开发环境:

一:nim-0.13.0_x64.exe (http://nim-lang.org/download.html)

二:Mingw-w64

三:Aporia IDE

       其实,你在安装nim-0.13.0_x64.exe过程中,安装程序会问你想安装Mingw-w64和Aporia IDE不。你可以选择性安装。(Aporia IDE的貌似在windows下,bug多 点。。)

 

先从最简单的" hello world"开始。

hw.nim

echo( "Hello World!!")

然后, nim c hw.nim 编程成本地程序。

nim的编译器会自动生成一个hw.c的文件。以下是部分hw.c的代码。

/* Generated by Nim Compiler v0.13.0 */
/*   (c) 2015 Andreas Rumpf */
/* The generated code is subject to the original license. */
/* Compiled for: Windows, amd64, gcc */
/* Command for C compiler:
   gcc.exe -c  -w  -IC:\Nim\lib -o c:\nimtest\nimcache\hw.o c:\nimtest\nimcache\hw.c */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <stdio.h>
typedef struct TGenericSeq TGenericSeq;
typedef struct NimStringDesc NimStringDesc;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
static N_INLINE(void, initStackBottomWith)(void* locals);
N_NOINLINE(void, setStackBottom)(void* thestackbottom);
static N_INLINE(void, nimFrame)(TFrame* s);
N_NOINLINE(void, stackoverflow_22201)(void);
static N_INLINE(void, popFrame)(void);
NIM_EXTERNC N_NOINLINE(void, systemInit000)(void);
NIM_EXTERNC N_NOINLINE(void, systemDatInit000)(void);
NIM_EXTERNC N_NOINLINE(void, hwInit000)(void);
NIM_EXTERNC N_NOINLINE(void, hwDatInit000)(void);
STRING_LITERAL(TMP142, "Hello World!!", 13);
extern TFrame* frameptr_19436;

static N_INLINE(void, initStackBottomWith)(void* locals) {
	setStackBottom(locals);
}
void PreMainInner() {
	systemInit000();
	hwDatInit000();
}

void PreMain() {
	void (*volatile inner)();
	systemDatInit000();
	inner = PreMainInner;
	initStackBottomWith((void *)&inner);
	(*inner)();
}

运行的结果:

 

 

 

转载于:https://my.oschina.net/u/2542078/blog/675426

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值