【笔记】macbook m2 芯片中使用 gcc docker 镜像来交叉编译
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!
一个 c 程序,如何在 macbook m2 芯片的笔记本上,编译成 linux amd64 的二进制格式呢?
用 gcc 的 docker 镜像轻松的解决了这个问题:
# 下载 gcc 镜像,并且是 linux amd64 环境的镜像
docker pull gcc:9.5.0@sha256:1fe3785219b9b0ea491fc6791c949eb604b48f8f91c078310bc3f007312de391
# see: https://hub.docker.com/layers/library/gcc/9.5.0/images/sha256-1fe3785219b9b0ea491fc6791c949eb604b48f8f91c078310bc3f007312de391?context=explore
# 启动容器,并映射目录
docker run -d -v /Users/ahfuzhang/code/daily_coding/2023-05-26/st_c_evhttp:/evhttp \
--name="gcc_linux" -it gcc:9.5.0
# 进入容器
docker container exec -it gcc_linux bash
- 这个镜像没有 cmake,可以自己下载 cmake源码来编译
- 编译二进制程序的时候记得使用静态链接,否则拷到别的位置可能无法运行
have fun.
【笔记】macbook m2 芯片中使用 gcc docker 镜像来交叉编译的更多相关文章
- 学习笔记TF022:产品环境模型部署、Docker镜像、Bazel工作区、导出模型、服务器、客户端
产品环境模型部署,创建简单Web APP,用户上传图像,运行Inception模型,实现图像自动分类. 搭建TensorFlow服务开发环境.安装Docker,https://docs.docker. ...
- 一键清理 Nexus 中无用的 Docker 镜像
现许多团队使用 Nexus 来管理 Docker 镜像,产品不断迭代,镜像仓库占用的磁盘空间也越来越大.由于 Nexus 的控制台并未提供批量操作镜像功能,清理镜像十分不便.本文分享一个清理 Nexu ...
- Devops(四):Docker 镜像管理
参考 <Docker中上传镜像到docker hub中> <Docker 镜像管理> <通过容器提交镜像(docker commit)以及推送镜像(docker push ...
- PyCharm使用之利用Docker镜像搭建Python开发环境
在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装 ...
- docker镜像、容器
第一部分:Docker镜像的基本知识 1.1 什么是Docker镜像 从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角 ...
- SpringBoot系列: 制作Docker镜像的全过程
本文主要参考了 https://segmentfault.com/a/1190000016449865 , 感谢作者的付出. 另外, 在本文中, 演示了Windows+Maven+Docker To ...
- 深入分析 Docker 镜像原理
摘要:近日, DaoCloud 软件工程师孙宏亮在 CSDN Container 微信群为大家带来了 Docker 镜像原理的深度分享,本次分享的重点是 Docker 镜像,分享的内容主要包含两个部分 ...
- 如何构建 Apache DolphinScheduler 的 Docker 镜像
继昨日发布第一个 [官方 Docker 镜像] 后,有几位小伙伴私信想自己进行编译,这里也将 Docker 的主要贡献者文禾同学整理的文档进行分享.以下是全文内容: 您能够在类 Unix 系统和 Wi ...
- 【转载】使用Docker Hub官方gcc:latest镜像编译C/C++程序以及缩小镜像的方法
摘要:使用Docker Hub官方gcc:latest镜像(1.2GB)编译C/C++程序,以及缩小镜像的方法. 方法1: 在gcc容器里编译C/C++程序 将C/C++代码运行在gcc容器内的最简单 ...
- Ubuntu1804中重新认识docker
这又是一篇充数的笔记……之前在Ubuntu中折腾过好几次了,但是关于他俩之间的故事总是参杂着第三者,不太纯粹,这一次只说她两之间的故事. 上一篇笔记弄好了Ubuntu环境.之后就是准备迎娶docker ...
随机推荐
- DevSecOps 安全即代码基础指南
在过去十年里我们见证了越来越多的企业开始或已经采用云技术,这也意味着云安全的重要性也越来越高.当谈及安全威胁,McKinsey 的一篇文章表明,云上大多数漏洞都是由于配置错误导致而非外部攻击造成底层云 ...
- Java 17 从 Solon 开始入手,v1.10.0
相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 - 10 倍. (更快) qps 高 2- 3 倍. (更高) 运行时内存节省 1/3 ~ 1/2. (更少) 打包 ...
- PS 独立集中标识下修改项目采购类型增强
1.当物料独立集中标识为2,采购类型通过BAPI:BAPI_NETWORK_COMP_ADD,type_of_pur_resv传入'7',则报错"组件分配并不是未销售订单或项目库存而设的&q ...
- C++ 智能指针的正确使用方式
C++11 中推出了三种智能指针,unique_ptr.shared_ptr 和 weak_ptr,同时也将 auto_ptr 置为废弃 (deprecated). 但是在实际的使用过程中,很多人都会 ...
- Codeforces Round #704 (Div. 2) A~E
比赛链接:https://codeforces.com/contest/1492 1492A.Three swimmers 题意: 有三名游泳的人,他们分别需要 \(a,b,c\) 分钟才能在一个游泳 ...
- POJ - 2259 Team Queue (队列)
题目链接 https://vjudge.net/problem/POJ-2259 题解 在任何时刻,同一个小组的人只要来到了队伍,就会站在一起,所以我们建立一个队列q0存储队伍中所有小组的编号,再为每 ...
- 写SAE评测,获 Airpods 2大奖【集结令】!
Serverless 应用引擎 SAE 开启测评有奖!名额有限,先到先得! Serverless应用引擎SAE是一款极简易用.自适应弹性的容器化应用平台.现面向所有用户发出诚挚邀请,参与一分钟部署在线 ...
- 四、java对mongo数据库增删改查操作
系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...
- Linux-目录-cd-mdkir-rm-ls-pwd
- 战略设计- DDD
随着系统的增长,它会变得越来越复杂,当我们无法通过分析对象来理解系统的时候,就需要掌握一些操纵和理解大模型的技术了.本文将介绍一些原则.遵循这些原则,就可以对非常复杂的领域进行建模.大部分这样的决策都 ...
