Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 1.33 KB

PPMORE.md

File metadata and controls

34 lines (28 loc) · 1.33 KB

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.