How to distinguish Linux from Win using macros?

Recommended Posts

Hi there! I'm curious about how to make my C code distinguish whether I'm compiling under Windows or Linux. For example there's "conio.h" under win but there isn't in linux. I know that it's done using #ifdef macros but have no idea how to do that. Thanks.

Share on other sites
most win32 projects define _WIN32 so set up a simple app like a hello world you can do:

#include <stdio.h>#include <stdlib.h>#ifdef _WIN32#include <windows.h>#endif// I think __linux__ is the common define for linux or __GNUC__#ifdef __linux__#include <somelinuxheader.h>#endif

Thats the way I've seen it done in the MOD I work on in my spare time.

did you try
#ifdef LINUX
?

Share on other sites
Great! __linux__ works fine. Thanks a lot. You have saved my life [lol]

Create an account

Register a new account

• Forum Statistics

• Total Topics
628316
• Total Posts
2982033

• 9
• 9
• 13
• 11
• 14