Unix/Linux Go Back    


BSD 2.11 - man page for xstr (bsd section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


XSTR(1) 										  XSTR(1)

NAME
       xstr - extract strings from C programs to implement shared strings

SYNOPSIS
       xstr [ -c ] [ - ] [ file ]

DESCRIPTION
       Xstr maintains a file strings into which strings in component parts of a large program are
       hashed.	These strings are replaced with references to this common area.  This  serves  to
       implement shared constant strings, most useful if they are also read-only.

       The command

	    xstr -c name

       will extract the strings from the C source in name, replacing string references by expres-
       sions of the form (&xstr[number]) for some number.  An appropriate declaration of xstr  is
       prepended  to  the  file.  The resulting C text is placed in the file x.c, to then be com-
       piled.  The strings from this file are placed in the strings data base  if  they  are  not
       there already.  Repeated strings and strings which are suffices of existing strings do not
       cause changes to the data base.

       After all components of a large program have been compiled a file xs.c declaring the  com-
       mon xstr space can be created by a command of the form

	    xstr

       This xs.c file should then be compiled and loaded with the rest of the program.	If possi-
       ble, the array can be made read-only (shared) saving space and swap overhead.

       Xstr can also be used on a single file.	A command

	    xstr name

       creates files x.c and xs.c as before, without using or affecting any strings file  in  the
       same directory.

       It  may	be  useful  to	run  xstr after the C preprocessor if any macro definitions yield
       strings or if there is conditional code which contains strings which may not, in fact,  be
       needed.	 Xstr reads from its standard input when the argument `-' is given.  An appropri-
       ate command sequence for running xstr after the C preprocessor is:

	    cc -E name.c | xstr -c -
	    cc -c x.c
	    mv x.o name.o

       Xstr does not touch the file strings unless new items  are  added,  thus  make  can  avoid
       remaking xs.o unless truly necessary.

FILES
       strings	      Data base of strings
       x.c	 Massaged C source
       xs.c	 C source for definition of array `xstr'
       /tmp/xs*  Temp file when `xstr name' doesn't touch strings

SEE ALSO
       mkstr(1)

BUGS
       If a string is a suffix of another string in the data base, but the shorter string is seen
       first by xstr both strings will be placed in the data base, when just placing  the  longer
       one there will do.

3rd Berkeley Distribution		   May 7, 1986					  XSTR(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 05:23 AM.