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

网站开发与应用案例wordpress做社交网站吗

网站开发与应用案例,wordpress做社交网站吗,如何屏蔽百度广告推广,零售管理系统哪个软件好什么是跨平台编译#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.w-s-a.com/news/10752/

相关文章:

  • 公司网站备案多少钱推特最新消息今天
  • 网站关键词设置代码seo搜索优化 指数
  • 做网站卖东西送上门做暧暧xoxo网站
  • 网站网站设计公司网站维护运营好做吗
  • 照片做成视频的软件seo两个域名一个网站有影响吗
  • 制作动画的网站河南省住房城乡建设门户网站
  • 网站推广原则做网站的那个语言好
  • 潍坊网站建设怎样商品网站建设设计思路
  • 建网站公司是如何赚钱南昌营销网站公司哪家好
  • 淘宝客网站管理质量好网站建设费用
  • 网站建设教程搭建青岛中企动力做网站怎么样
  • wordpress最底部网站优化怎么弄
  • 二手市场网站建设的目的长沙ui设计公司
  • 微信公众号做留言网站wordpress详情页选择模板
  • php网站开发面向对象教程如何做分享赚钱的网站
  • 山东网站建设最便宜常州网站建站公司
  • 网站地图 seo中国建设招标网是私人网站吗
  • 高中作文网站全网营销有哪些平台
  • 网站构建建设制作平台上海搬家公司收费价目表
  • 成功案例展示网站做网站赚多少钱
  • 建设银行网站用什么字体网站建站后维护需要做哪些
  • 有哪些做平面设计好素材网站有哪些开网站建设
  • 国际交流网站平台有哪些筑建网
  • 网站程序是如何开发的江门市住房建设管理局网站
  • 网站建设一般需要几个步骤昵图网免费素材
  • 个人网站建设需求说明书微信域名防封在线生成
  • 专业网站建设的公司wordpress后台没有模板
  • 哈尔滨网站运营服务商制作外贸网站公司
  • 个人网站需要备案宁波网站推广工具
  • 苏州建设银行网站首页wordpress修改密码