👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

NetBSD 6.1.5 - man page for __concat (netbsd section 3)

__CONCAT(3)			   BSD Library Functions Manual 		      __CONCAT(3)

NAME
     __CONCAT, __STRING -- argument substitution

SYNOPSIS
     #include <sys/cdefs.h>

     xy
     __CONCAT(x, y);

     const char *
     __STRING(x);

DESCRIPTION
     The __CONCAT macro makes use of the cpp(1) preprocessor to concatenate two tokens.  When the
     macro is expanded, x and y are combined into a single token, provided that the result forms
     a valid token; two tokens that together do not form a valid token can not be concatenated.
     This is known as ``token concatenation'' or ``token pasting''.

     The __STRING() macro uses the conventional '#' preprocessing operator to replace the argu-
     ment x with a string literal.  This is also known as ``stringification''.

EXAMPLES
     The following two printf(3) calls produce the same output:

	   #define Net	   0x01
	   #define BSD	   0x02

	   #define NetBSD  "NetBSD"

	   (void)printf("%s\n", __CONCAT(Net, BSD));
	   (void)printf("%s%s\n", __STRING(Net), __STRING(BSD));

SEE ALSO
     cpp(1), cdefs(3)

HISTORY
     The __CONCAT() and __STRING() macros first appeared in NetBSD 1.3.

CAVEATS
     Many small details direct the proper use of the macros.  For example, while all leading and
     trailing whitespace is ignored when __STRING() is used, it is undefined whether cpp(1) puts
     white space between the tokens when __CONCAT() is used.  It can be also noted that the C
     preprocessor converts all comments to whitespace before any macros are even considered.  The
     use of either macro is discouraged in complex constructs.

BSD					December 16, 2010				      BSD


All times are GMT -4. The time now is 07:08 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?