- 浏览: 2035718 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (651)
- ACE (35)
- BAT (9)
- C/C++ (116)
- fast-cgi (14)
- COM (27)
- python (59)
- CGI (4)
- C# (2)
- VC (84)
- DataBase (29)
- Linux (96)
- P2P (6)
- PHP (15)
- Web (6)
- Memcached (7)
- IME输入法 (11)
- 设计模式 (2)
- 搜索引擎 (1)
- 个人情感 (4)
- 笔试/面试 (3)
- 一亩三分地 (33)
- 历史 (2)
- 地理 (1)
- 人物 (3)
- 经济 (0)
- 不仅仅是笑哦 (43)
- 小故事大道理 (2)
- http://www.bjdsmyysjk120.com/ (0)
- http://www.bjdsmyy120.com/ (0)
- 它山之石可以攻玉 (15)
- 大学生你关注些什么 (28)
- 数据恢复 (1)
最新评论
-
luokaichuang:
这个规范里还是没有让我明白当浏览器上传文件时,STDIN的消息 ...
FastCGI规范 -
effort_fan:
好文章!学习了,谢谢分享!
com技术简介 -
vcell:
有错误os.walk(strPath)返回的已经是全部的文件和 ...
通过python获取目录的大小 -
feifeigd:
feifeigd 写道注意:文章中的CPP示例第二行 #inc ...
ATL入门:利用ATL编写简单的COM组件 -
feifeigd:
注意:文章中的CPP示例第二行 #include " ...
ATL入门:利用ATL编写简单的COM组件
当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。 1.ar基本用法 当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。 1.ar基本用法
ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。 下面是ar命令的格式: ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files... 例如我们可以用ar rv libtest.a hello.o hello1.o
来
生成一个库,库名字是test,链接时可以用-ltest链接。该库中存放了两个模块hello.o和hello1.o。选项前可以有‘-'字符,也可以
没有。下面我们来看看命令的操作选项和任选项。现在我们把{dmpqrtx}部分称为操作选项,而[abcfilNoPsSuvV]部分称为任选项。 {dmpqrtx}中的操作选项在命令中只能并且必须使用其中一个,它们的含义如下: 下面在看看可与操作选项结合使用的任选项: 2.nm基本用法命令
nm用来列出目标文件的符号清单。下面是nm命令的格式:
nm [-a|--debug-syms] [-g|--extern-only] [-B][-C|--demangle]
[-D|--dynamic] [-s|--print-armap][-o|--print-file-name]
[-n|--numeric-sort][-p|--no-sort] [-r|--reverse-sort]
[--size-sort][-u|--undefined-only] [-l|--line-numbers]
[--help][--version] [-t radix|--radix=radix][-P|--portability] [-f
format|--format=format][--target=bfdname] [objfile...] 如果没有为nm命令指出目标文件,则nm假定目标文件是a.out。下面列出该命令的任选项,大部分支持"-"开头的短格式和"—"开头的长格式。 例如nm libtest.a的输出如下: 则nm -A 的输出如下:
2.nm基本用法命令
00000068 T Main__8CPThreadPv
00000038 T Start__8CPThread
00000014 T _._8CPThread
00000000 T __8CPThread
00000000 ? __FRAME_BEGIN__
.......................................
libtest.a:CPThread.o:00000038 T Start__8CPThread
libtest.a:CPThread.o:00000014 T _._8CPThread
libtest.a:CPThread.o:00000000 T __8CPThread
libtest.a:CPThread.o:00000000 ? __FRAME_BEGIN__
..................................................................
发表评论
-
多机器执行ssh脚本
2012-08-30 18:12 2241#!/bin/bash Usage() { ... -
Berkeley DB 使用经验总结
2012-08-27 14:41 3086作者:陈磊 NoSQL是现在互联网Web2.0时代备受 ... -
嵌入式数据库系统Berkeley DB
2012-08-27 14:37 1533前言 UNIX/LINUX平台下的数据库种类非常多 ... -
shell中双引号的误用
2011-05-12 15:02 1184for i in "$LIST" ... -
shell for循环
2011-04-06 15:36 986for i in "1 2 3";do e ... -
shell技巧 除法
2011-03-07 11:34 19184shell计算中使用除法,基本默认上都是整除。 比如: ... -
.bash_profile 文件修改之后不执行
2011-02-16 11:21 1948重新登录 不可能不好用的 除非你是从一个用户su oralc ... -
SecureCRT中文显示乱码的解决方法
2011-02-12 11:38 1351最近开始用SecureCRT登陆linux系统,由于是新手,很 ... -
让putty显示中文
2011-02-11 14:43 1429对于经常在windows下远程ssh到linux的用户而言,p ... -
Linux文件类型全解析
2011-01-04 15:13 1412Linux文件类型全解析 ... -
Linux进程状态解析之T、Z、X
2011-01-04 15:09 1830摘要: Linux系统中进程有很多种 ... -
Linux进程状态解析之R、S、D
2011-01-04 14:54 4891摘要: Linu ... -
shell获取参数
2010-12-31 15:29 4201#!/bin/bash Usage() { ... -
Shell实现cgi接口示例
2010-12-30 14:59 2005ls -l /var/www/cgi-bin/ -rwxrw ... -
shell数组
2010-12-29 16:48 1301shell数组 Bash中还可以使用数 ... -
shell 自动化处理
2010-12-29 15:52 1042#!/bin/bash sudo yum instal ... -
Linux用户添加sudoer
2010-12-29 11:37 25139使用sudo可以在以非root用户登录时临时获得root权限, ... -
lsof:一个功能强大的命令
2010-12-24 16:30 1354lsof:一个功能强大的命令 lsof命令的原始功能 ... -
LINUX查看硬件配置 命令
2010-12-21 18:55 1077常用命令整理如下: 查看主板的序列号: dmidec ... -
awk应用
2010-12-19 16:58 1250a.txt andy 05/99 48311 ...
相关推荐
这里介绍两个命令ar和nm,用来对库操作。 1.ar基本用法 2.nm基本用法命令 当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程...
在Linux操作系统中,库扮演着至关重要的角色,它们是代码复用和模块化编程的核心。库分为静态库(.a)和动态库(.so),这两种库各有优缺点。静态库在编译时会被完整地集成到可执行文件中,因此生成的可执行文件体积...
Linux还提供了几个重要的库管理命令,如`ldd`用于查看可执行文件依赖的共享库,`ar`用于管理静态库,`ld`用于链接器操作,`nm`用来查看库中的符号信息,`strip`用于去除库文件中的调试信息以减小文件大小。...
Linux 下编译静态库和动态库 Linux 下编译静态库和动态库是 Linux 开发中非常重要的一部分。静态库和动态库都是库文件,但是它们的使用方式和特点不同。下面我们将详细介绍 Linux 下编译静态库和动态库的过程。 一...
3. 使用`gcc testlib.o -lhello -o testlib`命令连接目标文件和库,生成可执行文件`testlib`。这里,`-lhello`表示链接`libhello`库。 4. 如果需要与静态库`libhello.a`连接,命令变为`gcc testlib.o -o testlib -WI...
### Linux静态动态链接库的创建和使用 #### 概述 在Linux环境下,链接库是程序开发中的一个重要组成部分。它们可以被多个程序共享,并且能够有效地管理代码复用。链接库分为静态链接库和动态链接库两种类型。本文...
### Linux静态和动态链接库创建和使用 #### 概述 在软件开发过程中,经常会遇到相同功能模块在多个项目中重复出现的情况。例如,多个项目可能都需要实现用户验证功能。为了避免代码重复,提高代码的可维护性和重用...
本书的首要目标是向CC++软件开发人员介绍LINUX和UNIX软件编程工具,因此第Ⅱ部分对此进行详细介绍,包括gcc、make、ar、gdb、gprof、nm、size、rcs和cvs等。在编写本书时,我们假设读者以前不了解LINUXUNIX及编程...
### Linux命令英文全称解析 Linux作为一款强大的开源操作系统,其命令行工具是进行系统管理、软件开发等...Linux命令的强大之处在于它们的高度灵活性和组合能力,掌握这些命令的基本用法,可以极大地提高工作效率。
Linux Binutils 是一组用于处理各种程序文件的工具集合,它包含了一系列用于开发和调试的实用程序,如 addr2line、ar、nm等。这些工具在Linux操作系统和类似环境中的软件开发过程中扮演着重要角色。 首先,`addr2...
`arm-linux-elf-nm`则用于显示目标文件或库文件中的符号信息,这对于调试和分析程序非常有用。 总的来说,ARM-Linux系列工具构成了一个完整的软件开发工具链,它们协同工作,帮助开发者高效地构建、优化和调试ARM...
6. **binutils**: 包含像ar(用于创建和管理库)、objdump(用于分析目标文件和可执行文件)、nm(列出目标文件或库的符号)等工具。 7. **头文件**: 提供函数原型、常量定义和其他接口声明,供源代码引用。 "arm-fsl-...
7.10 ld指令:链接目标文件和库文件 7.11 make指令:编译内核或模块 7.12 nm指令:显示目标文件中的符号 7.13 startx指令:启动x-Windows图形界面 7.14 xhost指令:设置X服务器的访问权限 7.15 xinit指令:启动x-...
Binutils是一组用于编译、链接、汇编和其他调试目的的程序,包括ar, as, ld, nm, objcopy, objdump, ranlib, readelf, size, strings, strip等。Gcc是GNU的编译器集合,Linux环境使用的C语言编译器。Glibc是GNU的...
nm和ldd是用于查看二进制文件信息的工具。 - nm工具用于列出指定文件中的符号。其主要作用包括: - 判断程序是否定义了指定的符号。 - 查看符号地址和在进程空间的位置。 - ldd工具用于列出程序依赖的动态库。其...
- 使用`ar`工具:在Unix/Linux系统中,通常使用`ar`命令创建静态库。例如,我们有多个`.o`对象文件,如`foo.o`, `bar.o`,可以使用`ar rcs libmylib.a foo.o bar.o`来创建名为`libmylib.a`的静态库。 - 使用Visual...
4. **Binutils**:包括as(汇编器)、ar(归档文件管理器)、nm(符号表查看器)等工具,它们在构建过程中起着重要作用。 三、使用场景 1. **嵌入式Linux开发**:当开发者需要在Xilinx的Zynq、Kintex、Virtex等SoC...
4. **binutils**: 包含了诸如ld(链接器)、as(汇编器)、ar(存档工具)和nm(符号查看器)等一系列二进制工具,它们在编译过程中扮演重要角色。 5. **cpp**: C预处理器,处理C语言的宏定义、条件编译等预处理...
- **ar**: 用于创建和管理静态库。 - **objdump**: 用于反汇编目标文件或可执行文件,查看汇编代码。 - **nm**: 显示符号列表。 - **size**: 显示目标文件或可执行文件的大小信息。 - **strings**: 显示目标文件或可...