加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Go语言CPU是否依赖?

发布时间:2020-12-13 20:45:56 所属栏目:百科 来源:网络整理
导读:Go语言CPU是否依赖? 我知道它支持x86,x86_64和ARM.它是否有一些CPU依赖代码,如汇编程序代码块? PS我不够清楚. Go语言实现是否依赖于CPU? 我不希望在我的程序中添加ARM汇编代码.我想知道是否可以在x86(_64)和ARM上编译Go程序,并且不支持所有其他平台. Go已
Go语言CPU是否依赖?

我知道它支持x86,x86_64和ARM.它是否有一些CPU依赖代码,如汇编程序代码块?

PS我不够清楚. Go语言实现是否依赖于CPU?

我不希望在我的程序中添加ARM汇编代码.我想知道是否可以在x86(_64)和ARM上编译Go程序,并且不支持所有其他平台.

Go已编译,因此最终结果确实是(特定于CPU)的机器代码.
$echo 'package mainnfunc main(){ println("hello world") }' > hello.go
$go build hello.go
$objdump -D hello | head

hello:     file format elf32-i386


Disassembly of section .text:

08048c00 <main.main>:
 8048c00:   65 8b 0d 00 00 00 00    mov    %gs:0x0,%ecx
 8048c07:   8b 49 f8                mov    -0x8(%ecx),%ecx
 8048c0a:   3b 21                   cmp    (%ecx),%esp

因此,您将无法仅为ARM编译可执行文件,并在x86上运行它.

尽管如此,Go还有针对不同操作系统和体系结构的excellent support for cross-compiling个程序,因此在大多数情况下,您不需要运行不同操作系统的一堆计算机(虚拟或实际)来为这些目标编译程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读