On Friday, 30 May 2014 at 09:25:40 UTC, Jacob Carlborg wrote:
On 2014-05-30 00:13, Kiith-Sa wrote:

Or if you're working on tools, don't
make them for $OS, make them cross-platform. (I boycott
non-crossplatform tools
by default)

That's not so easy, depending on what you're doing. Some things are done in completely different ways depending on the operating system. If you're luck you can code two versions, one for Windows and one for Posix. Low level stuff is usually platform dependent, even if it fall under one of the above categories. For example, getting the full path to the currently running executable looks completely different on Windows, OS X, Linux and FreeBSD.

But the basic code should compile. We've just had the case when a coworker tried my code on Windows (I develop on Linux). It compiled with the latest version of dmd. No questions asked. When it comes to system stuff it's:

version (Windows) {
  // some odd shit
}

version (OS X) {
  // some other odd shit
}

version (POSIX) {
  // normal stuff
}

But these are little things like the "tmp" directory and so on. D usually compiles on all the major platforms.

Reply via email to