[llvm] [cmake] Add possibility to use ChooseMSVCCRT.cmake when include LLVM library
[llvm-core.git] / docs / CommandGuide / llvm-strings.rst
blobf738e9248b54a88daae903a241c0a0141445b956
1 llvm-strings - print strings
2 ============================
4 .. program:: llvm-strings
6 SYNOPSIS
7 --------
9 :program:`llvm-strings` [*options*] [*input...*]
11 DESCRIPTION
12 -----------
14 :program:`llvm-strings` is a tool intended as a drop-in replacement for GNU's
15 :program:`strings`, which looks for printable strings in files and writes them
16 to the standard output stream. A printable string is any sequence of four (by
17 default) or more printable characters. The end of the file, or any other byte
18 terminates the current sequence.
20 :program:`llvm-strings` looks for strings in each ``input`` file specified.
21 Unlike GNU :program:`strings` it looks in the entire input file, regardless of
22 file format, rather than restricting the search to certain sections of object
23 files. If "``-``" is specified as an ``input``, or no ``input`` is specified,
24 the program reads from the standard input stream.
26 EXAMPLE
27 -------
29 .. code-block:: console
31  $ cat input.txt
32  bars
33  foo
34  wibble blob
35  $ llvm-strings input.txt
36  bars
37  wibble blob
39 OPTIONS
40 -------
42 .. option:: --all, -a
44  Silently ignored. Present for GNU :program:`strings` compatibility.
46 .. option:: --bytes=<length>, -n
48  Set the minimum number of printable ASCII characters required for a sequence of
49  bytes to be considered a string. The default value is 4.
51 .. option:: --help, -h
53  Display a summary of command line options.
55 .. option:: --help-list
57  Display an uncategorized summary of command line options.
59 .. option:: --print-file-name, -f
61  Display the name of the containing file before each string.
63  Example:
65  .. code-block:: console
67   $ llvm-strings --print-file-name test.o test.elf
68   test.o: _Z5hellov
69   test.o: some_bss
70   test.o: test.cpp
71   test.o: main
72   test.elf: test.cpp
73   test.elf: test2.cpp
74   test.elf: _Z5hellov
75   test.elf: main
76   test.elf: some_bss
78 .. option:: --radix=<radix>, -t
80  Display the offset within the file of each string, before the string and using
81  the specified radix. Valid ``<radix>`` values are ``o``, ``d`` and ``x`` for
82  octal, decimal and hexadecimal respectively.
84  Example:
86  .. code-block:: console
88   $ llvm-strings --radix=o test.o
89       1054 _Z5hellov
90       1066 .rela.text
91       1101 .comment
92       1112 some_bss
93       1123 .bss
94       1130 test.cpp
95       1141 main
96   $ llvm-strings --radix=d test.o
97       556 _Z5hellov
98       566 .rela.text
99       577 .comment
100       586 some_bss
101       595 .bss
102       600 test.cpp
103       609 main
104   $ llvm-strings -t x test.o
105       22c _Z5hellov
106       236 .rela.text
107       241 .comment
108       24a some_bss
109       253 .bss
110       258 test.cpp
111       261 main
113 .. option:: --version
115  Display the version of the :program:`llvm-strings` executable.
117 .. option:: @<FILE>
119  Read command-line options from response file ``<FILE>``.
121 EXIT STATUS
122 -----------
124 :program:`llvm-strings` exits with a non-zero exit code if there is an error.
125 Otherwise, it exits with code 0.
127 BUGS
128 ----
130 To report bugs, please visit <http://llvm.org/bugs/>.