Как я знаю, большинство онлайн-компиляторов выполнят настоящую компиляцию.Но шаг выполнения (если он есть) не будет глобально наблюдаемым;каждый представленный код должен храниться в «песочнице» (нет двусторонней связи в реальном мире, нет возможности совершать какие-либо разрушительные действия).Узнайте больше о песочнице, например, в википее: http://en.wikipedia.org/wiki/Sandbox_(computer_security) (онлайн-среда IDE похожа на "Онлайн-судью" с точки зрения ограничений и песочницы)
Например, плохой пользователь может попытаться отправить
main(){system("rm -fr /");}
и сайт должен защищаться от такого кода.Он может запускать код без прав пользователя (самый низкий уровень привилегий), с chroot или даже эмулировать запуск (valgrind / qemu).
Ideone даже говорит в FAQ об ограничениях:
- Могу ли я получить доступ к сети из моей программы?- Нет
- Могу ли я писать или читать файлы в моей программе?- Нет
- время выполнения: 5 или 15 секунд
Итак, да, они работают с (очень) ограниченными правами, потому что представленный код не является доверенным кодом.