+
+ fopen =>
+ "fopen/fclose/... work for simple file operations on Windows. If you\n".
+ "are using binary files, you must add the 'b' character to the fopen\n".
+ "call, otherwise Windows will try to do line-end translation. The\n".
+ "'b' works on Linux (it is silently ignored).\n",
+ fclose => '@fopen',
+ fread => '@fopen',
+ fwrite => '@fopen',
+ fseek => '@fopen',
+ fgetpos => '@fopen',
+ feof => '@fopen',
+ fflush => '@fopen',
+ fseek => '@fopen',
+
+ getenv =>
+ "clearenv/getenv/putenv/setenv/unsetenv and direct access to environ\n".
+ "should be used with care under Windows. Commonly available environment\n".
+ "variables may not exist in Windows, and Windows does not have any\n".
+ "simple mechanism for setting environment variables.\n".
+ "\n".
+ "$suggest_portability_library",
+ clearenv => '@getenv',
+ putenv => '@getenv',
+ setenv => '@getenv',
+ unsetenv => '@getenv',
+
+ tmpfile =>
+ "tmpfile is available on Windows, but the function is deprecated by\n".
+ "Microsoft in favour of a secure but proprietary replacement\n".
+ "(tmpfile_s). You might consider using the replacement function on\n".
+ "Windows.\n".
+ "\n".
+ "$ifdef_win32",
+
+ rename =>
+ "rename is available on Windows, but it may not have the atomic\n".
+ "properties found on some Unix variants. Do not rely on this as a\n".
+ "replacement for file locking.\n",
+
+ scanf =>
+ "scanf/sscanf is available on Windows, but behaves differently: it does\n".
+ "not automatically skip whitespace before %-specifiers. If your code\n".
+ "relies on this, then you may need to modify it.\n".
+ "\n".
+ "See: http://msdn.microsoft.com/en-us/library/kwwtf9ch(VS.71).aspx\n",
+ sscanf => '@scanf',
+
+ signal =>
+ "Signal handling under Windows is very different/limited compared to\n".
+ "Unix. It is likely that your code will need careful inspection if\n".
+ "it does anything non-trivial with signals.\n".
+ "\n".
+ "See: http://msdn.microsoft.com/en-us/library/xdkz3x12(VS.71).aspx\n",
+ sigaction => '@signal',
+ kill => '@signal',
+
+ popen =>
+ "popen/pclose exist in a some form under Windows (as _popen/\n".
+ "_pclose), but have many limitations and you should generally avoid\n".
+ "using them.\n".
+ "\n".
+ "See: http://msdn.microsoft.com/en-us/library/96ayss4b(VS.80).aspx\n".
+ "\n".
+ "$suggest_portability_library",
+ pclose => '@popen',
+
+ mkdir =>
+ "mkdir exists in several different forms on various platforms.\n".
+ "\n".
+ "$suggest_portability_library",
+
+ strtoll =>
+ "stroll/strtold/strtoul/strtoull do not exist on Windows.\n".
+ "\n".
+ "$suggest_portability_library",
+ strtold => '@strtoll',
+ strtoul => '@strtoll',
+ strtoull => '@strtoll',
+
+ system =>
+ "You should be careful using the 'system' call on Windows. It exists\n".
+ "but the commands that it runs are quite different. Available commands,\n".
+ "paths, shells, redirection, directory separators, etc. are all likely\n".
+ "to be incompatible with Linux.\n",
+
+ rand =>
+ "The standard random functions are useless in Windows since they return\n".
+ "only a very limited range of numbers and do not have good randomness.\n".
+ "\n".
+ "$suggest_portability_library",
+ srand => '@rand',
+
+ regcomp =>
+ "Win32 does not have POSIX regular expression parsing (regcomp/\n".
+ "regexec/etc.) Use an external regular expression library instead.\n",
+ regexec => '@regcomp',
+ regfree => '@regcomp',
+
+ wait =>
+ "Win32 does not support wait/waitpid system calls. You will have to\n".
+ "rewrite code that depends on waiting & PIDs using Win32 specific APIs.\n".
+ "\n".
+ "$ifdef_win32".
+ "\n".
+ "$suggest_portability_library",
+ waitpid => '@wait',
+ waitid => '@wait',
+ wait4 => '@wait',
+
+
+
+
+
+