当前位置: 首页 > news >正文

网站建设基础策划电子商务与网站建设论文

网站建设基础策划,电子商务与网站建设论文,如何撤销网站上信息,什么网站是教做纸工的什么是跨平台编译#xff1f; 跨平台编译#xff1a;即交叉编译#xff0c;是在一个平台上生成另一个平台上的可执行文件。所谓平台#xff0c;实际上包含两个概念#xff1a;体系架构(Architecture)、操作系统 (Operating System#xff09;。同一个体系架构可以运行不同…什么是跨平台编译 跨平台编译即交叉编译是在一个平台上生成另一个平台上的可执行文件。所谓平台实际上包含两个概念体系架构(Architecture)、操作系统 (Operating System。同一个体系架构可以运行不同的操作系统同样同一个操作系统也可以在不同的体系架构上运行。 静态编译在编译可执行文件的时候将可执行文件需要调用的对应库都集成到可执行文件内部使得可执行文件不需要其他任何依赖就能运行。 Go 实现跨平台编译的思想其实很简单通过保存可以生成最终机器码的多份翻译代码在编译时根据 GOARCHxxx 和 GOOSxxx 参数对应体系架构和操作系统进行初始化设置最终调用对应平台编写的特定方法来生成机器码从而实现跨平台编译。 有一点需要注意Go 所谓的跨平台编译只是针对 Go 代码部分它是 Go 的跨平台编译器cross-compiler toolchains。当我们使用了 CGO 时要想实现跨平台编译同时需要让 C/C代码也支持跨平台。 官方 Cgo 这块目前有一篇 博客 和 命令行文档。比如 sqlite 的 golang 驱动 go-sqlite3 就是基于 Cgo 的实现。编译本地版本Go 本身已经支持得非常好基本不需要额外设置直接通过 go build 编译即可但是要想编译其他平台的二进制版本就需要跨平台的 $(CC), $(CXX) 支持。 无 CGO 项目的交叉静态编译 在不启用 CGO 的情况下跨平台编译是非常简单的如下 CGO_ENABLED0 GOOSlinux GOARCHarm64 go build -ldflags -s -w --extldflags -static -fpic main.goCGO_ENABLED0 这个值默认是 1也就是开启的需要手动指定为关闭因为 CGO 是不支持跨平台编译的使用 go env CGO_ENABLED 查看默认值 GOOS, GOARCH 构建的平台GOOSlinux 是因为安卓底层就是 linuxaarch64 架构直接使用 arm64如果 GOARCHarm则要使用 GOARM7指定 arm 版本可选 5,6,7在 这里 看完整支持列表 -ldflags 编译选项-s -w 去掉调试信息可以减小构建后文件体积 –extldflags “-static -fpic” 完全静态编译要跨平台编译放到其他系统和架构中运行建议静态编译否则程序启动的时候会提示找不到依赖的 so 文件 这样编译生成的程序就可以任意放到指定平台下运行。由于 CGO 的存在跨平台会编译失败。那该如何解决呢 CGO 项目的交叉静态编译 和 Go 一样当我们拥有目标平台的 C/C代码编译器后自然就能够编译为目标平台的可执行文件。 不同平台的编译器 下载地址 https://musl.cc/ 以 aarch64-linux 为例下载 aarch64-linux 的编译器 https://musl.cc/aarch64-linux-musl-cross.tgz 解压然后把解压好的目录下 bin 文件路径放到 PATH 环境变量中 此时通过指定 C/C编译器为/usr/local/bin/x86_64-linux-musl-gcc替换默认的 C/C编译器本机编译可通过 go env CC 查看即可完成含有 CGO 的 Go 代码跨平台编译任务。 $ CGO_ENABLED1 CCaarch64-linux-musl-gcc CXXaarch64-linux-musl-g GOOSlinux GOARCHarm64 go build -o server -ldflags -s -w --extldflags -static -fpic main.goCGO_ENABLED1 开启 CGO因为项目用到了 C 语言的代码 CCaarch64-linux-musl-gcc 指定 gcc 的编译器为 aarch64-linux-musl-gcc这个默认值是 gcc也就是当前操作系统和架构使用的 gcc使用命令 $(go env CC) --target-help 可以看看默认 gcc 支持什么平台 CXXaarch64-linux-musl-g 指定 g 的编译器为 aarch64-linux-musl-g规则和 CC 一样只是用来编 C 代码的如果还用到了 C 代码必须指定该项 -ldflags ‘-s -w’ go 编译选项-s -w 去掉调试信息可以减小构建后文件体积 最终在本机系统上就编译得到了 aarch64 linux 平台的可执行文件。 https://imwnk.cn/archives/cgo-compile/
http://www.hkea.cn/news/14386446/

相关文章:

  • 搭建一个商城网站做网站域名解析
  • 免费发布网页的网站广州站电话
  • 建设项目安监备案网站如何构建一个网站
  • 怎么做兼职网站查找网站开发者
  • 企业网站做多大祁阳网站设计
  • asp三层架构做网站网络广告管理办法
  • 手机网站前端用什么做冷链物流
  • 腾讯云服务器怎么做网站软文推广怎么写
  • 东营seo网站建设费用论坛网站怎么做
  • 付公司制作网站费怎么做凭证用老域名重新做个网站
  • 沈阳网站建设包括急招工地土建施工员
  • 自己做的网站源码如何安装白杨seo课程
  • 网站分享链接怎么做的重庆网站模板制作
  • 做网站推广书范法吗关键字优化策略
  • 怎样制作网站教程中国联通与腾讯设立混改合营企业
  • 网站配置服务Wordpress开不锈钢公司怎么做网站
  • 我先做个网站怎么做网站建设要注意哪些
  • 房产网站定制网页制作网站设计稿
  • 查看网站域名平坝网站建设
  • 如何做网站框架wordpress 修改字体
  • 求一个做健身餐的网站数字化营销怎么做
  • 企业网站建设应遵守的原则哈尔滨城乡建设网站
  • 网站建设的基本规范有什么网页制作基础教程指知识点
  • 免费网站建设联系电话注册公司域名后如何做网站
  • 深圳网站优化排名入门编程软件
  • 泊头市建设局官方网站厦门 网站建设公司
  • 泰安如何选择网站建设在合肥做网站多少钱
  • 外贸网站建设公司平台岳阳招聘网最新招聘
  • 专业制作网站价格广告策划书前言怎么写
  • 做网站第一次见客户图片编辑工具免费版