a small program to embed raw files into C programs by translate them into arrays http://src.kaivo.net/dev/array/
Jakob Kaivo fff56280ea add -q option | преди 4 години | |
---|---|---|
.gitignore | преди 4 години | |
LICENSE | преди 4 години | |
Makefile | преди 4 години | |
README.md | преди 4 години | |
array.c | преди 4 години |
translate files to C arrays
array [-s] [-q qualifier] [file...]
The array
utility translates its input into C arrays (of a qualified type
of char
) that can then be used (via #include
) in larger C programs.
This is useful if you need to embed a binary (e.g. an image) or text (e.g.
a template) file and need to ship a program as a single, self-contained
executable.
The array
utility conforms to the XBD Utility Syntax Guidelines. It supports
the following options:
-s
Include an additional identifier in the output indicating
the size of the array. See STDOUT below for a detailed
description.
-q
Apply the C type qualifier qualifier
to the generated array. If
none is provided, the default is `unsigned`. To remove any qualifiers
altogether (e.g. to declare an array of `char`), specify the empty
string (e.g. `-q ''`).
The array
utility supports the following operands:
file
A pathname of an input file. If -
is specified, array
reads from the standard input.
The standard input is used if no file
operands are provided or if -
is
specified as an operand.
Input files are treated as raw binary streams, with no requirements on format.
A definition of a C array of type qualified char
and unspecified length, with
members initialized to the bytes of the input file. Each array is named with
the name of the input file, except all non alphanumeric characters (as
identified by the function isalnum()
) are translated to _
. If the input
file is the standard input, the name of the array is stdin
.
If the -s
option is specified, the standard output also includes the
definition of a size identifier. This identifier has the same name as the
array, suffixed with _size
, and type size_t
.
The standard error is used for printing diagnostic messages.
None.
None.
0 Successful completion.
0 An error occurred.
If one or more input files cannot be opened, array
will print a diagnostic
message to standard error and that file will not produe any output to
standard output.