Docker -- 编程开发C/C++

1 C/C++

1.1 关于GCC

GCC(GNU Compiler Collection)是一套由GNU开发的编程语言编译器,是一套以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC(特别是其中的C语言编译器)通常被认为是跨平台编译器的事实标准。GCC可处理C/C++,以及Fortran、Pascal、Object-C、Java、Ada等多种语言。

1.1.1 使用官方镜像

将C/C++ 代码运行在容器内的最简单方法,就是将编译指令写入Dockerfile中,然后使用此Dockerfile 构建自定义镜像,最后直接运行此镜像,即可启动程序。
如果对GCC版本有要求,可以在以上命令中加入镜像标签,并在下一步的Dockerfile的FROM 指令中明确GCC版本号。然后,在Dockerfile中,加入需要执行的GCC编译命令:

FROM gcc:4.9
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN gcc -o myapp main.c
CMD ["./myapp"]

编辑main.c,内容如下:

#include<studio.h>
int main(){
   
    printf("Hello World\n");
    return 0;
}

使用Dockerfile 来构建镜像my-gcc-app:

$ docker build -t gcc-image .

使用docker images 查看生成的镜像:

$ docker images

创建并运行容器,会编译并运行程序,输出Hello World语句:

$ docker run -it --rm --name my-gcc gcc-image
Hello World

如果只需要容器编译,而不需要运行它,可以使用如下命令:

$ docker run --rm -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp gcc gcc -o myapp main.c

以上命令会将当前目录(“$(pwd)”)挂载到容器的/usr/src/myapp目录,并执行gcc -o myapp main.c。GCC将会编译myapp.c代码,并将生成的可执行文件输出至/usr/src/myapp 文件夹。
如果项目已经编写好了Makefile,也可以在容器中直接执行make命令:

$ docker run --rm -v "$(pwd)":/usr/src/myapp -w /usr/src/mya
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值