Contents | < Browse | Browse >

#-------------------------------------------------------------------#
|      Other preprocessor directives                                |
#-------------------------------------------------------------------#

   #fmtstr symbol fstr values...

      Formats a string with values and assigns it to a symbol.

      "fstr" is like a normal immediate string with formatting codes.

      "values..." are the values we want to format. Two kinds of
      identifiers are legal: constants and symbols. Symbols are
      always inserted by using the \s formatting code, all others
      formatting codes requires a constant.

      If the body of a symbol-value starts with single quote, the quote
      and its counter part are removed before insertion. Otherwise we
      would get unwanted quotes in formatted string.

      Example: -> let's create a version string!

         #define PROG_NAME 'My Program'
         #define PROG_AUTH 'John Smith'
         CONST PROG_VER = 10,
               PROG_REV = 1

         #fmtstr VERSTR '$VER: \s \d.\d \s by \s' \
            PROG_NAME PROG_VER PROG_REV _DATE_ PROG_AUTH

         ..would result in VERSTR looking something like:
         '$VER: My Program 10.1 (06.06.2008) by John Smith'

         The "\" char can be used to continue values on next line.

   #error '..error message..'

      Will make compilation fail and output the error message.
      Can be useful with conditional compilation.

   #warning '..warning message..'

      Will output the warning message.
      Can be useful with conditional compilation.