int main( void ) { #ifdef __CYGWIN__ // Cygwin printf( "I understand POSIX paths!\n" ); #elif defined( _WIN32 ) // Any other win32 printf( "I don't understand much of anything..\n" ); #else // Something else - probably POSIXly correct.. printf( "I understand POSIX paths too!\n" ); #endif
return ( 0 ); } HTH rlc On Wed, 2 Jul 2003, Igor Pechtchanski wrote: > On Wed, 2 Jul 2003, Ling F. Zhang wrote: > > > I am writting a C program... > > is there a way for me to know if the program is being > > executed in win32 or posix cygwin so that I can use > > the appropriate filesystem when referring files? > > It's very simple. If you use the Cygwin gcc, by default it links with > cygwin1.dll, and the program will understand POSIX paths. If you give a > "-mno-cygwin" option to gcc, you'll be using the MinGW libraries, and your > program will not understand POSIX paths (i.e., you'll have to use Win32 > ones). > > FYI, Cygwin programs always understand POSIX paths, even when executed > from a command window or a batch file. > Igor > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/