From 5cff35f7d43cd2a610a4fa4d287bb73e21264747 Mon Sep 17 00:00:00 2001 From: m8pple Date: Tue, 21 Oct 2014 09:53:39 +0100 Subject: Added the environment specification (it was suspiciously missing). Fixed #4: Yup, you can use C++11 if you want. It's difficult to see what you would need beyond auto for convenience though. Fixed #5: I've given examples of compilers that may get used, depending where I happen to be when I run it. Over-inclusion of headers I'm aware of, and will fix during compilation. Usually I run it under two platforms to check they are the same output, and to look for non-det bugs. Anything that is genuinely a compiler or system bug, I'll just fix. If xcode doesn't comply with the C/C++ standards then... don't use it. Fixed #11: dup of 4. --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/README.md b/README.md index 533faab..7098796 100644 --- a/README.md +++ b/README.md @@ -189,6 +189,37 @@ instructions working at that point, which is fine. Submit that, and it will give you some confidence that the way you are doing things is correct. +Compilation Environment +----------------------- + +For most people it is sufficient to say: the target compilation +is plain C or C++, and the target environment is the C and/or +C++ standard library. It is easy to stay within platform independent +APIs, as no platform-specific interaction with the environment is +needed during execution. So it should work happily on both linux +and windows. + +The compilation environment will be c99 or C++11, depending +on the type of your source file. The target compiler +used during assessment is any or all of gcc-4.8, gcc-4.9, clang 2.9, +clang 3.0, icc 12, icc 13, Visual Studio 12, or +Visual Studio 13. The target platform is any of Windows 7, +Windows Vista, Cygwin 32, Cygwin 64, or Ubuntu 14.04.1. + +During compilation, the include directories will be set up +to have the ``include'' directory (containing ``mips.h'') +on the include path. The directory structure during compilation +will be the same as that required during submission, so the +relative location of things will stay the same. + +When running your test suite, the executable will be launched +with its working directory as src/[your_login], so if you +wish to read files you can place them there (or in sub-directories). + +When your CPU simulator is executing, you can make no assumptions +about the working directory, or the presence or absence of other +files. + Managing expectations --------------------- -- cgit