Warren #1 All cross platform code generally does that. The same EXE isn't running on multiple platforms - you still have to compile. So having an OS specific routine for each compile platform is totally acceptable.