Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Practical Use Cases | Conditional compilation
C Preprocessing

Swipe to show menu

book
Practical Use Cases

What are #ifdef and #ifndef

#define DEBUG_MODE
#ifdef DEBUG_MODE
    printf("Debugging is enabled!\n");
#endif
#ifndef RELEASE_MODE
    printf("Running in development mode.\n");
#endif

Error macro

Task

Swipe to start coding

  1. Use the necessary macro to check the existence of PROTOCOL_TCP and PROTOCOL_UDP, and don't forget to properly close the necessary macro.
  2. Use a macro to check the values of the PROTOCOL_TCP and PROTOCOL_UDP macros, and correctly close it.
  3. Use a macro to check an additional condition.
  4. Use a macro to create an error message in case of an error.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 3
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

close

Awesome!

Completion rate improved to 5.56

book
Practical Use Cases

What are #ifdef and #ifndef

#define DEBUG_MODE
#ifdef DEBUG_MODE
    printf("Debugging is enabled!\n");
#endif
#ifndef RELEASE_MODE
    printf("Running in development mode.\n");
#endif

Error macro

Task

Swipe to start coding

  1. Use the necessary macro to check the existence of PROTOCOL_TCP and PROTOCOL_UDP, and don't forget to properly close the necessary macro.
  2. Use a macro to check the values of the PROTOCOL_TCP and PROTOCOL_UDP macros, and correctly close it.
  3. Use a macro to check an additional condition.
  4. Use a macro to create an error message in case of an error.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

close

Awesome!

Completion rate improved to 5.56

Swipe to show menu

some-alt