简单编写Makefile与使用make工具

简单编写Makefile与使用make工具

在不使用make工具下对c文件的编译

gcc main.c -o out

gcc 《目标文件》 -o 《生成执行文件》

image-20241204152627958

编译main.c文件-->out.exe

生成out.exe可执行文件

执行out.exe

./out.exe

成功执行main编译结果

image-20241204153600587

PS:

在window下生成的可执行文件为后缀.exe文件

image-20241204145717432

windows:

mingw32-make  

Linux:

make

工具路径:"D:\MinGW\bin\mingw32-make.exe"

**使用mingw32-make命令将会执行make工具,所以将mingw32-make.exe文件复制重命名为make.exe,就可以在window下通过make命令来使用make工具,也可以通过mingw32-make专业使用make工具。

window下make工具mingw32-make.exe

img

复制,重命名为make.exe,这样就能同时使用make命令和mingw32-make命令

img

在linux下生成的可执行文件为后缀.out文件

过程截图

imgimg

img

imgimgimg 它定义了一个名为hello的目标,这个目标依赖于main.c和message.c文件。当main.c和message.c文件发生变化时,gcc命令会被执行,生成一个名为hello的可执行文件。

linux删除文件命令rm -f:

window删除文件命令del hello.exe

构建

Make:

img定义了三个目标:hello、main.o和message.o。每个目标都有一个依赖文件和一个命令。

  • hello目标依赖于main.o和message.o文件。当main.o和message.o文件发生变化时,gcc命令会被执行,生成一个名为hello的可执行文件。
  • main.o目标依赖于main.c文件。当main.c文件发生变化时,gcc命令会被执行,生成一个名为main.o的目标文件。
  • message.o目标依赖于message.c文件。当message.c文件发生变化时,gcc命令会被执行,生成一个名为message.o的目标文件。

伪目标:clean: 原:make clean 新: mingw32-make clean

img

img

删除构建中间文件

常用的内置变量

  • $@:表示目标文件。
  • $^:表示所有的依赖文件。
  • $<:表示第一个依赖文件。

img

Cmake构建

需要gcc,g++工具链

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/846718.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sy

aHR0cHM6Ly9hcHAuc3V5aW53ZWFsdGguY29tL3N5bGMvcGFnZS9pbmRleC5odG1sI3BhZ2UvMTAvMTkvUDEwMTkuaHRtbD9wcmRDb2RlPUowMjM0Nw== 加密 开始两个debugger都可以使用“一律不在此处暂停过掉”跟栈,或者搜encrypt都可以找到加密位置 b就是请求数据 k是b生成H_TIME和H_NONCE(随机生成…

lua学习day2(懒狗随便记录)

其余的东西都大差不差,主要是我太懒了,写写pcall和xpcall吧pcall能获得调用方法、调用结果,xpcall同样也是可以的,但是里面包含了一个异常处理方法。pcall示例xpcall调用那就大致这。懒狗。。。。。。。

centos7+docker dock-compose使用

简介 Docker-Compose是Docker官方的开源项目,用于实现Docker容器集群的快速编排。 Compose简介 Compose是用于定义和运行多容器 Docker 应用程序的工具,通过Compose,可以使用YML文件来配置应用程序所需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创建并启动所…

jjyh

aHR0cHM6Ly9tYmFuay5qamViYW5rLmNuL2pqY2NiV2ViL2luZGV4Lmh0bWwjL2ZpbmFuY2lhbE1hbmFnZS9saXN0P2ZpcnN0RmxhZz0zJnNlY29uZEZsYWc9JnNvcnRGbGFnPSZwcmRUeXBlRmxhZz0mY2xhc3NpZnlMaXN0VmFsdWU9JlBkQXJyYXlWYWx1ZT0mY2xhc3N0b3A9dHJ1ZQ== 包分析抓包看到的四个api的请求url皆为htt…

Net中RabbitMq.Client7.0通过依赖注入DI来管理RabbitMQ客户端的生命周期

在 RabbitMQ.Client 7.0.0 版本中, IModel 在 RabbitMQ.Client 7.0.0-alpha2 版本中已经被重命名,现在应该使用 IChannel 替代 IModel, IChannel 不再提供 CreateBasicProperties 方法。需要直接使用 BasicProperties 类来创建消息属性。 前言 关于RabbitMq的更多知识点在:…

论文泛读《PICCOLO : Exposing Complex Backdoors in NLP Transformer Models》

发表时间:2022 期刊会议:IEEE Symposium on Security and Privacy (SP) 论文单位:Purdue University 论文作者:Yingqi Liu, Guangyu Shen, Guanhong Tao, Shengwei An, Shiqing Ma, Xiangyu Zhang 方向分类:Backdoor Attack 论文链接 开源代码摘要 后门可以被注入到NLP模型…

数据库管理与开发基础教程复习(二)

Oraclec 常用工具 简单介绍: SQL*PLUS 由开始菜单启动和命令行启动 企业管理器 OEM Oracle 数据库集成管理平台 SOL PLUS常用命令 连接与断开数据库连接命令: -connect -disconnect 查看表结构命令: describe (desc) SOL*PLUS 环境参数设置命令 -set -arraysize -linesize -…

【Git基础】Gitee/GitHub使用

gitee介绍 gitee译为码云,是国内创建的一个类似与github的网站,可以上传自己的代码放在云端保存,下面介绍gitee如何使用,github类似使用操作。 git工具安装及基础 【git工具安装及基本使用】 gitee仓库创建.gitignore文件作用 git提交时需要忽略部分文件或目录本地仓库设置…

威联通-002 Docker镜像下载

@目录前言操作大纲1.登录阿里云镜像服务2.创建个人容器3.GitHub复制代码到本地库、配置信息4.点击修改自己想要拉取的镜像5.进入阿里云查看6.创建容器参考(可用)前言 由于国内几乎所有的docker库的封锁,现在不能进行docker镜像的拉取操作,尝试很多种方法都失败了,最后总结…

Mysql 一主一从配置

Mysql 一主一从配置 环境信息ip地址 主机信息 角色 mysql版本192.168.1.19 S600 主 8.0.40-0ubuntu0.20.04.1192.168.1.20 H840 从 8.0.40-0ubuntu0.20.04.1本环境已完成2台Mysql单机安装,Mysql单机安装操作文档 具体操作 Mysql主机配置 配置文件修改修改配置Master配置/etc/m…

Mycat2+Mysql一主一从实现读写分离配置

Mycat2+Mysql一主一从实现读写分离配置 前置配置Mysql一主一从搭建 Mycat2环境搭建环境信息ip地址 软件 角色 版本192.168.1.19 Mysql 主 8.0.40-0ubuntu0.20.04.1192.168.1.19 Mycat2 —— 1.21-release-3-14192.168.1.20 Mysql 从 8.0.40-0ubuntu0.20.04.1操作步骤 1. 修改并…

体验iOS手机群控免费苹果手机免越狱群控:银河中控全面解析

在多设备管理的需求日益增长的今天,能够高效地管理和控制多台iOS设备成为了一个重要的课题。对于不想或不能进行越狱操作的用户来说,找到一种安全、合法且高效的解决方案显得尤为重要。本章将深入探讨一款名为“银河中控”的免费苹果手机免越狱群控系统,帮助您了解其功能特性…