(一)nimlang web开发 hello world

拜拜、爱过 提交于 2020-03-19 21:28:42

3 月,跳不动了?>>>

开发环境:

一: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)();
}

运行的结果:

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!