I was looking over this code, but i was unable to figure out why the usage of \"\\\" after the && operator?
if ((*(u32*)(kaddr + 0x64) == *(u32*)(kad
The \
right before the end of the line glues the following line to the current. Since C normally ignores whitespace, this is mostly useful when declaring macros.
The backslash is not needed, unless this is part of a #define
.
From the C specification §5.1.1.2
Each instance of a backslash character (
\
) immediately followed by a new-line character is deleted, splicing physical source lines to form logical source lines.
But it's not needed since the C language doesn't require that an if
statement be placed on a single line.
Among its uses are Macro definitions, basically it tells the compiler not to stop at the end of the line but rater to continue. example:
#define ASSERT_NULL(value) \
do { \
if((value) == NULL) { \
return true; \
} \
} while(NULL)
Now, if you won't put \
, you won't get the functionality you're looking for.