导航:首页 > 源码编译 > golang系统编译

golang系统编译

发布时间:2023-09-27 09:04:30

linux环境下golang怎么编译exe

Linux 是不需要安装的,直接用 chmod -x 文件名 将它的属性修改为可运行,然后就可以通过命令行执行它了,后缀名你改为 .sh ,这是 shell 默认支持的文件类型

Ⅱ sublime text 3 怎么编译golang

1.安装git
因为golang是通过git来管理远程包的,所以我们首先要安装git
git安装比较简单,直接下一步即可(在Windows Explorer integration选项中将“Git Bash here”和“Git GUI here”打对勾),需要了解具体安装的可以看这里。
2.安装Golang
1) 首先到https://golang.org/dl/选择适合你系统的安装包
2)我这里选择的是:go1.4.2.windows-amd64.msi,下载完成安装到指定目录即可。我这里是(E:\Go)。
3)安装完成后环境变量已经自动设置好了,可以呼出cmd命令行输入命令查看
> go env
可以看到,已经出现go命令了。如果你的不能出现,那可能是环境变量设置的问题。
进入我的电脑->高级设置->环境变量查看下,GOROOT变量是否存在,以及Path变量中是否也设置了GOROOT。没有的话,新增一个GOROOT变量,路径则输入你刚刚安装完成后Go的根目录,如我的是:E:\Go\。然后编辑Path变量,在最后面新增";%GOROOT%bin"。
4)go命令依赖一个环境变量:GOPATH,这不是Go的安装目录,而是你的工作(工程)目录(你的代码都会在该目录下)。GOPATH可以有多个,windows以分号(;)进行区分,Linux系统是冒号(:),当有多个GOPATH时,默认会将go get的内容放在第一个目录下。这里我们新建一个GOPATH变量,以我的为例:F:\mygo。
3.安装Sublime Text3
注意:sublime是收费软件,不注册也可以正常使用,只是保存次数达到一定的数量的时候会提示购买;忽略后可以正常使用。

这里需要安装一个sublime的pakcage control功能,用于接下来安装sublime插件。
1)在打开软件后,按下快捷键 Ctrl+`,(`这个符号为英文半角模式下,按下 Tab 键上方、数字键1左边的那个按键),此时会打开一个命令窗口,复制并输入以下内容,最后回车:
import urllib.request,os,hashlib; h = '' + ''; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
2)重启sublime之后,你就可以发现在 Preferences 这个菜单下出现了菜单项 Package Control,如图:
4. 安装GoSublime插件
1)在sublime中,按住快捷键 shift + ctrl + p,在弹出框中输入install package,如图:
2)回车,会出现如下图(可能需要稍微等待下,可以看sublime最下面的状态):
3)输入gosublime,回车(可能需要稍微等待下,可以看sublime最下面的状态),如图:
4)gosublime安装完成后,Preferences -> package settings -> GoSublime -> Settings - Uesrs需要配置下GOPATH,GOROOT,如图:
5)在打开的窗口中输入以下内容,路径请自行替换,ctrl+s保存。
{
"env": {
"GOPATH": "F:/mygo",
"GOROOT": "E:/Go"
}
}
6)重启sublime,在GOPATH中的src新建一个hello.go文件,可以看到代码自动补全已经出来了,:)
至此,sublime text3 + golang 安装完成。

Ⅲ windows 怎么编译 go语言

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

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\go>go
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\test>go build helloworld.go

E:\opensource\go\go\test>helloworld.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")
}

Ⅳ golang 如何创建,编译,打包go语言的源代码和工程

1.最简单的方法:
public static String reverse1(String str)
{ return new StringBuffer(str).reverse().toString();
}
2.最常用的方法:
public static String reverse3(String s)
{ char[] array = s.toCharArray();
String reverse = ""; //注意这是空串,不是null
for (int i = array.length - 1; i >= 0; i--)
reverse += array[i];
return reverse;
}
3.常用方法的变形:
public static String reverse2(String s)
{ int length = s.length();
String reverse = ""; //注意这是空串,不是null
for (int i = 0; i < length; i++)
reverse = s.charAt(i) + reverse;//在字符串前面连接, 而非常见的后面
return reverse;
}

Ⅳ golang项目中使用条件编译

golang中没有类似C语言中条件编译的写法,比如在C代码中可以使用如下语法做一些条件编译,结合宏定义来使用可以实现诸如按需编译release和debug版本代码的需求

build tags 是通过代码注释的形式实现的,要写在文件的最顶端;

go build指令在编译项目的时候会检查每一个文件的build tags,用来决定是编译还是跳过该文件

build tags遵循以下规则

示例:

约束此文件只能在支持kqueue的BSD系统上编译

一个文件可能包含多行条件编译注释,比如:

约束该文件在linux/386 或 darwin/386平台编译

需要注意的点

正确的写法如下:

编译方法:

具有_$GOOS.go后缀的go文件在编译的时候会根据当前平台来判断是否将该文件导入并编译;同样适用于处理器架构判断 _$GOARCH.go。

两者可以结合起来使用,形式为: _$GOOS_$GOARCH.go

示例:

文件名必须提供,如果只由后缀的文件名会被编译器忽略,比如:

这两个文件会被编译器忽略,因为以下划线开头的文件都会被忽略



Ⅵ golang编译linux失败

文件权限的问题。golang编译linux失败多数是文件权限的问题导致。golang又称go语言是一种静态强类型、编译型语言,是一个开源编程环境,可以轻松构建简单、可靠和高效的软件。

Ⅶ golang进行交叉编译

golang进行交叉编译

交叉编译即编译不同操作系统平台的可执激链前行程序

golang执行交叉编译,只需要使用两个变量

- GOOS:目标操作系统 - GOARCH:目标操作系统的架构

根据下面这个表格指定就行了。

其中386指的是32位系统

build命令的用法如下

usage: go build [-o output] [-i] [build flags] [packages]

-o指定文件名,中间可以加一些flag

如果是在linux下面编译win 64位程序,执行明清类似下面的唤扒命令即可。

GOOS=windows GOARCH=amd64 go build test.go -o t.exe

Ⅷ 如何编译armlinux的go

Golang也就是Go语言,现在已经发行到1.4.1版本了,语言特性优越性和背后Google强大靠山什么的就不多说了。Golang的官方提供了多个平台上的二进制安装包,遗憾的是并非没有发布ARM平台的二进制安装包。ARM平台没办法直接从官网下载二进制安装包来安装,好在Golang是支持多平台并且开源的语言,因此可以通过直接在ARM平台上编译源代码来安装。整个过程主要包括编译工具配置、获取Golang源代码、设置Golang编译环境变量、编译、配置Golang行环境变量等步骤。

注:本文选用树莓派做测试,因为树莓派是基于ARM平台的。

1、编译工具配置

据说下个版本的golang编译工具要使用golang自己来写,但目前还是使用C编译工具的。因此,首先要配置好C编译工具:

1.1在Ubuntu或Debian平台上可以使用sudoapt-getinstallgcclibc6-dev命令安装,树莓派的RaspBian系统是基于Debian修改的,所以可以使用这种方法安装。

1.2在RedHat或CentOS6平台上可以使用sudoyuminstallgcclibc-devel命令安装。

安装完成后可以输入gcc--version命令验证是否成功安装。

2、获取golang源代码

2.1直接从官网下载源代码压缩包。

golang官网提供golang的源代码压缩包,可以直接下载,最新的1.4.1版本源代码链接:/golang/go1.4.1.src.tar.gz

2.2使用git工具获取。

golang使用git版本管理工具,也可以使用git获取golang源代码。推荐使用这个方法,因为以后可以随时获取最新的golang源代码。

2.2.1首先确认ARM平台上已经安装了git工具,可以使用git--version命令确认。一般linux平台都安装了git,没有的话可以自行安装,不同平台的安装方法可以参考:download/linux

2.2.2克隆远程golang的git仓库到本地

在终端cd到你想要安装golang的目录,确保该目录下没有名为go的目录。然后以下命令获取代码仓库:

gitclone/go

大陆地区可能会获取失败,在不翻墙的情况下我试了几次都没成功,原因大家都懂的。好在google已经将golang也托管到github上面,所以也可以通过下面命令获取:

gitclone/golang/go.git

视网络情况,下载可能需要不少时间。我2M的带宽花了将近两个小时才下载完,虽然整个项目不过几十兆==

下载完成后,可以看到目录下多了一个go目录,里面即为golang的源代码,在终端上执行cdgo命令进入该目录。

执行下面命令检出go1.4.1版本的源代码,因为现在汪敏指已经有新的代码提交上去了,最新的代码可能不是最稳定的:

gitcheckoutgo1.4.1

至此,最新1.4.1发行版的源代码获取完毕

3、设置golang的编译环境变量

主要有GOROOT、GOOS、GOARCH、GOARM四个环境变量需要设置,先解释四个环境变量的意义。

3.1GOROOT

主要代表golang树结构目录的路径,也就是上面git检出的go目录。一般可以不用设置这个环境变量,因为编译的时候默认会以go目录下src子目录中的all.bash脚本困配运行时的父目录作为GOROOT的值。为了保险起见,可以直接设拿芹置为go目录的路径。

3.2GOOS和GOARCH

分别代表编译的目标系统和平台,可选值如下:

GOOSGOARCH

darwin386

darwinamd64

dragonfly386

dragonflyamd64

freebsd386

freebsdamd64

freebsdarm

linux386

linuxamd64

linuxarm

netbsd386

netbsdamd64

netbsdarm

openbsd386

openbsdamd64

plan9386

plan9amd64

solarisamd64

windows386

windowsamd64

需要注意的是这两个值代表的是目标系统和平台,而不是编译源代码的系统和平台。树莓派的RaspBian是linux系统,所以这些GOOS设置为linux,GOARCH设置为arm。

3.3GOARM

表示使用的浮点运算协处理器版本号,只对arm平台有用,可选值有5,6,7。如果是在目标平台上编译源代码,这个值可以不设置,它会自动判断需要使用哪一个版本。

总结下来,在树莓派上设置golang的编译环境变量,可编辑$HOME/.bashrc文件,在末尾添加下面内容:

exportGOROOT=你的go目录路径

exportGOOS=linux

exportGOARCH=arm

编辑完后保存,执行source~/.bashrc命令让修改生效。

4、编译源代码

环境变量配置完成自后就可以开始编译源代码。在go目录下的src子目录中,主要有all.bash和make.bash两个脚本(另外还有两个all.bat和make.bat脚本适用于window平台)。编译实际上就是执行其中一个脚本,两者的区别在于all.bash在编译完成后还会执行一些测试套件。如果希望只编译不测试,可以运行make.bash脚本。使用cd命令进入go下src目录,执行./all.bash或者./make.bash命令即可开始编译。由于硬件情况不同,编译耗费的时间不同。在我的B型树莓派编译过程花费了将近半个小时,编译完成后执行的测试套件又花费了差不多一个小时,总共花费了一个半小时左右。

5、配置golang运行环境变量

编译完成后,go目录下会生成bin目录,里面就是go的运行脚本。为了以后使用方法,可以将这个bin路径添加到PATH环境变量中。同样编辑~/.bashrc文件,因为前面设置过GOROOT环境变量指向go目录了,所以只需要在末尾加上

exportPATH=$PATH:$GOROOT/bin

保存后同样执行source~/.bashrc命令让环境变量生效。

至此,golang源代码编译安装成功。执行goversion应该就能看到当前golang的版本信息,表示编译安装成功。


阅读全文

与golang系统编译相关的资料

热点内容
java的队列类 浏览:357
荣耀手机带方舟编译器 浏览:496
表达式最小值算法 浏览:601
指南针多空资金源码 浏览:894
菜单上有灰色的命令 浏览:120
如何区分原神服务器 浏览:453
php多ip 浏览:583
易语言编译后打开需要dll 浏览:301
eos对称加密技术 浏览:16
程序员老公生活 浏览:814
mq语言编译器打不开 浏览:378
微信图片怎么查看文件夹 浏览:764
魔性解压游戏冒险王者 浏览:546
多级压缩气体功耗 浏览:151
德国大众空调压缩机价格 浏览:647
服务器怎么解决停电问题 浏览:673
安卓抖音如何看好友是否在线 浏览:443
中国银行选择编译环境 浏览:61
3dmax教程pdf 浏览:502
手机写易语言代码不用编译 浏览:736