对 ar 命令的学习

学习makefile的写法的时候,遇到了 ar 命令。

进行了学习。下面的网址写得非常好:

http://www.thegeekstuff.com/2010/08/ar-command-examples/

还是通过例子来学习,来得比较快。此文很完美,暂时记录以作备忘。

再回头来 看 makefile 的说法:

Archive Members as Targets

An individual member of an archive file can be used as a target or dependency in make. You specify the member named member in archive file archive as follows:

archive(member)
This construct is available only in targets and dependencies, not in commands! Most programs that you might use in commands do not support this syntax and cannot act directly on archive members. Only ar and other programs specifically designed to operate on archives can do so. Therefore, valid commands to update an archive member target probably must use ar. For example, this rule says to create a member `hack.o' in archive `foolib' by copying the file `hack.o':

foolib(hack.o) : hack.o
        ar cr foolib hack.o
In fact, nearly all archive member targets are updated in just this way and there is an implicit rule to do it for you. Note: The `c' flag to ar is required if the archive file does not already exist.

To specify several members in the same archive, you can write all the member names together between the parentheses. For example:

foolib(hack.o kludge.o)
is equivalent to:

foolib(hack.o) foolib(kludge.o)
You can also use shell-style wildcards in an archive member reference. See section Using Wildcard Characters in File Names. For example, `foolib(*.o)' expands to all existing members of the `foolib' archive whose names end in `.o'; perhaps `foolib(hack.o) foolib(kludge.o)'.
posted @ 2012-09-18 15:06  健哥的数据花园  阅读(692)  评论(0编辑  收藏  举报