Linux 命令(70)—— size 命令
发布日期:2021-06-29 19:23:42 浏览次数:3 分类:技术文章

本文共 2280 字,大约阅读时间需要 7 分钟。

1.命令简介

size 用于查看目标文件、库或可执行文件中各段及其总和的大小,是 GNU 二进制工具集 的一员。

2.命令格式

size [-A|-B|--format=compatibility]    [--help]    [-d|-o|-x|--radix=number]    [--common]    [-t|--totals]    [--target=bfdname] [-V|--version]    [OBJFILE...]

其中 OBJFILE… 为待检测的文件列表,若未给定,则默认为 a.out。

3.选项说明

-A-B--format=compatibility	控制输出格式。-A 或 --format=sysv 表示使用 System V size 风格,-B 或 --format=berkeley 表示使用 Berkeley size 风格。默认使用 Berkeley size 风格的输出。		下面是 Berkeley 风格示例:	$ size --format=Berkeley ranlib size	text    data    bss     dec     hex     filename	294880  81920   11592   388392  5ed28   ranlib	294880  81920   11888   388688  5ee50   size	下面是接近 System V 风格示例:	$ size --format=SysV ranlib size	ranlib  :	section         size         addr	.text         294880         8192	.data          81920       303104	.bss           11592       385024	Total         388392	size  :	section         size         addr	.text         294880         8192	.data          81920       303104	.bss           11888       385024	Total         388688--help	显示帮助信息-d-o-x--radix=number	控制大小输出的进制 -d 或 --radix=10 表示 10 进制,-o 或 --radix=8 表示八进制,-x 或 --radix=16 表示 16 进制--common	打印每个文件的 common symbols 大小-t--totals	列出所有文件的总大小。注意,只能使用 Berkeley 风格输出--target=bfdname	指明目标文件的格式。该选项没有必要指定,因为 size 可自动推导	-V--version	显示版本	@file	从指定的文件 file 读取命令行选项。文件中的选项由空白符(空格,TAB和回车)分隔。选项中可以包含空白字符,方法是将整个选项用单引号或双引号括起来。任何字符(包括反斜杠)可以通过添加前缀反斜杠来包含。文件本身可能包含额外的 @file 选项,该选项将以递归方式处理

4.常用示例

(1)查看指定程序各个段的大小。以 size 为例。

size /bin/sizetext	   data	    bss	    dec	    hex	filename22565	   1428	   1360	  25353	   6309	/bin/size

(2)查看静态库中的各个目标文件的段大小。以 libc.a 为例。

size /usr/lib64/libc.atext	   data	    bss	    dec	    hex	filename233	      4	      0	    237	     ed	init-first.o (ex /usr/lib64/libc.a)1667	      0	      0	   1667	    683	libc-start.o (ex /usr/lib64/libc.a)64	      0	      0	     64	     40	sysdep.o (ex /usr/lib64/libc.a)953	      0	      0	    953	    3b9	version.o (ex /usr/lib64/libc.a)395	      0	      0	    395	    18b	check_fds.o (ex /usr/lib64/libc.a)852	      8	   2192	   3052	    bec	libc-tls.o (ex /usr/lib64/libc.a)307	      0	      0	    307	    133	elf-init.o (ex /usr/lib64/libc.a)8	      0	      0	      8	      8	dso_handle.o (ex /usr/lib64/libc.a)0	      0	      4	      4	      4	errno.o (ex /usr/lib64/libc.a)...

参考文献

[1]

[2]
[3]

转载地址:https://dablelv.blog.csdn.net/article/details/92708379 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:认识目标文件的结构
下一篇:Linux 命令(69)—— objcopy 命令

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月16日 03时25分46秒