go语言编译不生成exe go如何编译

windows 怎么编译 go语言

1、解压压缩包到go工作目录,如解压到E:\opensource\go\go,解压后的目录结构如下:

创新互联公司是一家成都网站制作、网站设计,提供网页设计,网站设计,网站制作,建网站,按需策划,网站开发公司,2013年至今是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。

E:\opensource\go\go

├─api

├─bin

│ ├─go.exe

│ ├─godoc.exe

│ └─gofmt.exe

├─doc

├─include

├─lib

├─misc

├─pkg

├─src

└─test

2、增加环境变量GOROOT,取值为上面的go工作目录

3、Path环境变量中添加";%GOROOT%\bin",以便能够直接调用go命令来编译go代码,至此go编译环境就配置好了

注:如果不想手动设置系统环境变量,也可下载go启动环境批处理附件,

修改goenv.bat文件中的GOROOT值为上面的go工作目录后直接双击该bat文件,go编译环境变量即设置完成。

4、测试go编译环境,启动一个cmd窗口,直接输入go,看到下面的提示就是搭建成功了

E:\opensource\go\gogo

Go is a tool for managing Go source code.

Usage:

go command [arguments]

The commands are:

build compile packages and dependencies

clean remove object files

doc run godoc on package sources

env print Go environment information

fix run go tool fix on packages

fmt run gofmt on package sources

get download and install packages and dependencies

install compile and install packages and dependencies

list list packages

run compile and run Go program

test test packages

tool run specified go tool

version print Go version

vet run go tool vet on packages

Use "go help [command]" for more information about a command.

Additional help topics:

gopath GOPATH environment variable

packages description of package lists

remote remote import path syntax

testflag description of testing flags

testfunc description of testing functions

Use "go help [topic]" for more information about that topic.

5、编译helloworld测试程序,go语言包中test目录带有helloworld.go测试程序,源码见"附一 helloworld.go",

直接调用"go build helloworld.go"就生成了"helloworld.exe"可执行程序,运行一下这个程序看到了我们期望的hello,wolrd。

E:\opensource\go\go\testgo build helloworld.go

E:\opensource\go\go\testhelloworld.exe

hello, world

E:\opensource\go\go\test

附一 helloworld.go

// cmpout

// Copyright 2009 The Go Authors. All rights reserved.

// Use of this source code is governed by a BSD-style

// license that can be found in the LICENSE file.

// Test that we can do page 1 of the C book.

package main

func main() {

print("hello, world\n")

}

为什么我用gcc编译c程序到最后无法自动生成一个exe程序?

把你的命令行(控制台)输出的信息贴上来看看,根据提示信息才好判断.

GCC编译C源码有四个步骤:

预处理-----

编译

----

汇编

----

链接

现在我们就用GCC的命令选项来逐个剖析GCC过程。

1)预处理(Pre-processing)

在该阶段,编译器将C源代码中的包含的头文件如stdio.h编译进来,用户可以使用gcc的选项”-E”进行查看。

用法:#gcc

-E

hello.c

-o

hello.i

作用:将hello.c预处理输出hello.i文件。

2)编译阶段(Compiling)

第二步进行的是编译阶段,在这个阶段中,Gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,Gcc把代码翻译

成汇编语言。用户可以使用”-S”选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码。

选项

-S

用法:[root]#

gcc

–S

hello.i

–o

hello.s

作用:将预处理输出文件hello.i汇编成hello.s文件。

[root@richard

hello-gcc]#

ls

hello.c

hello.i

hello.s

3)汇编阶段(Assembling)

汇编阶段是把编译阶段生成的”.s”文件转成二进制目标代码.

选项

-c

用法:[root]#

gcc

–c

hello.s

–o

hello.o

作用:将汇编输出文件test.s编译输出test.o文件。

[root]#

gcc

-c

hello.s

-o

hello.o

[root]#

ls

hello.c

hello.i

hello.o

hello.s

4)链接阶段(Link)

在成功编译之后,就进入了链接阶段。

无选项链接

用法:[root]#

gcc

hello.o

–o

hello.exe

作用:将编译输出文件hello.o链接成最终可执行文件hello.exe。

[root]#

ls

hello.c

hello.exe

hello.i

hello.o

hello.s

运行该可执行文件,出现正确的结果如下。

[root@localhost

Gcc]#

./hello

Hello

World!

怎么吧go程序打包成可运行的EXE文件

你在编译器里面build一下,然后去\bin\debug目录下找.exeexe就是可执行文件了。运行的时候可能需要用到debug目录下的其他文件(如配置文件、dll等),所以需要把debug下的所有文件都放到一起。


分享标题:go语言编译不生成exe go如何编译
标题网址:http://hbruida.cn/article/higdip.html