Две вещи:
- Вы используете двойные кавычки и не выходите из \ внутри пути.
- Вы не используете полный путь к g ++.
Первый из них важен, так как \ сопровождается чем-то, что имеет специальное значение в такой строке (вы можете знать \ n как новую строку), второе имеет значение, поскольку среда PHP может иметь другой путь поиска.
Решение может быть
system("c:\\path\\to\\g++ c:\\wamp\\www\\grader\\hello.cpp -O3 -o C:\\wamp\\www\\grader\\hello.exe");
В качестве альтернативы вы можете использовать одинарные кавычки, целые числа двойных кавычек, они используют разные, менее строгие правила экранирования
system('c:\path\to\g++ c:\wamp\www\grader\hello.cpp -O3 -o C:\wamp\www\grader\hello.exe');
или используйте / вместо \, что также поддерживается Windows.
system("c:/path/to/g++ c:/wamp/www/grader/hello.cpp -O3 -o C:/wamp/www/grader/hello.exe");
То, что вы делаете, - ваш выбор, в то время как многие могут посчитать первый уродливым, а последний - плохим стилем в Windows; -)