Makefile模板之 sub.c main.c

简介: <pre code_snippet_id="92121" snippet_file_name="blog_20131202_1_1518773" name="code" class="plain"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 18px;">arm-linux-objcopy被用来复制一
arm-linux-objcopy被用来复制一个目标文件的内容到另一个文件中,可以使用不同于源文件的格式来输出目的文件,即可以进行格式转换。用来将ELF格式的可执行文件转换为二进制文件。

arm-linux-objdump用于显示二进制文件信息,常用来查看反汇编代码。

src := $(shell ls *.c)
objs := $(patsubst %.c, %.o, $(src))


target: $(objs)
	gcc -o $@ $^
%.o:%.c
	gcc -c -o $@ $<
clean:
	rm -rf target *.o

_________________________________________________________________________________________

sub.c / sub.h /main.c三个文件:
gcc -c sub.c -o sub.o
gcc -c main.c -o main.o
gcc main.o sub.o -o test
./test

不想提供源码时,可以编译成静态库:
gcc -c sub.c -o sub.o
gcc -shared sub.o -o sub.a
gcc main.o -o test ./sub.a

———————————————————————————————————————————————————

 汇编  gcc -S sub.c -o sub.s 
预处理 gcc -E sub.c 

目录
相关文章
|
设计模式 存储 监控
《Go 简易速速上手小册》第4章:接口与抽象(2024 最新版)(上)
《Go 简易速速上手小册》第4章:接口与抽象(2024 最新版)
137 1
|
8月前
|
数据可视化 数据挖掘
阿里云百炼/析言GBI在产品博士中是怎么发挥作用的?请看此视频了解
阿里云百炼/析言GBI在产品博士中通过数据分析和可视化展示,帮助用户了解产品的GAAP收入情况。视频展示了2024年4月至7月期间,浙江地区的公共云产品每月GAAP收入,按月增序排列,并提供了详细的行业收入对比和日收入数据。图片展示了具体的数据图表,便于用户直观理解。
186 1
|
前端开发
文件上传到腾讯云cos的简单步骤
文件上传到腾讯云cos的简单步骤
1961 0
|
关系型数据库 MySQL Windows
windows下导入mysql数据库文件方法
windows下导入mysql数据库文件方法
99 0
|
存储 SQL 自然语言处理
3 PostgreSQL psql的使用,SQL语法,数据类型,递归SQL用法(二)|学习笔记
快速学习3 PostgreSQL psql的使用,SQL语法,数据类型,递归SQL用法(二)
3 PostgreSQL psql的使用,SQL语法,数据类型,递归SQL用法(二)|学习笔记
|
存储 安全 关系型数据库
MySQL高可用方案选型参考
MySQL高可用方案选型参考
185 0
MySQL高可用方案选型参考
|
Java Maven Android开发
补齐Android技能树 - 玩转Gradle插件 | 小册免费学(上)
本节就来了解下:Gradle插件编写的知识储备 及 插件发布相关 姿势,读者亦可自行查阅官方文档:Packaging a plugin
246 0
|
SQL 关系型数据库 MySQL
Mysql 常用语句实战(1)
Mysql 常用语句实战(1)
125 0
|
视频直播 CDN
聊聊视频直播源码的直播软件开发行业新趋势
现如今的直播早已渗入各个领域,视频直播源码的“直播+”的发展趋向早已变成一种新的发展趋势,那么最这股发展趋势的浪潮你了解多少呢?现阶段看来直播市场行情的发展趋势分成两部分,一是网红的效应,高颜值主播的增粉特性吸粉圈总流量。二是,现在直播平台的转化作用,即“直播+”的经济大时期,根据直播平台开发商城以及与电商平台开展卖货合作。
聊聊视频直播源码的直播软件开发行业新趋势
|
存储 Java 编译器
JVM实战(六) - 通过案例深入学习class文件结构原理
1 什么是JVM的“无关性”? Java具有平台无关性,也就是任何操作系统都能运行Java代码.之所以能实现这一点,是因为Java运行在虚拟机之上,不同的操作系统都拥有各自的Java虚拟机,因此Java能实现"一次编写,处处运行".
1976 0