Потоки и атомная энергетика.
С многоядерными процессорами теперь C++ нормы 0x должен был быть C++ 07.
G.
Мы используем Hudson для управления сборками C / C ++ (GNU C, GNU C ++, Watcom C) для нескольких ОС.Для нас программное обеспечение создано для Linux, Linux x64, QNX 4 и QNX6. Мы настроили его следующим образом:
Вам не потребуется дополнительное оборудование. Существует плагин Hudson, который работает с виртуальными машинами VMWare, чтобы запускать и выключать их по мере необходимости.
Надеюсь, это поможет.
I've never used hudson for C++ but for what you are planning to do, it might make sense to look at the VMWare plugin and see if it will do what you want. I would recommend having only a single Hudson master if possible. What you most likely want to do is set up a VMWare machine image with a Hudson Slave process for each target environment then spawn a build in that Slave.
Я играл с Hudson в сценарии с несколькими платформами чуть больше года назад. У меня был один сервер Hudson (который было до смешного легко настроить) на некоторой машине и отдельные ведомые устройства сборки для каждой из платформ. Я помню, что какое-то время один из клиентов сборки находился в VirtualBox на машине, на которой размещался сервер Hudson. (Думаю, у меня тоже какое-то время был сервер на виртуальной машине.) Я не могу припомнить, чтобы в этой настройке были какие-то принципиальные проблемы.
Однако, если вы хотите, чтобы несколько виртуальных машин сборки строились на одной физической машине, я думаю, вам понадобится очень мощная машина для этого. Компиляция C ++ требует довольно много ресурсов, и, IIRC, когда hudson запускает сборку, он запускает ее на всех платформах одновременно.
Обратите внимание, что между сервером, на котором работает Hudson, и ведомыми машинами, на которых создаются ваши программные приложения, не должно быть никакой связи. Благодаря магии Java, вы можете подключить разрозненные ведомые машины к ведущей с помощью JNLP. (Таким образом, независимо от того, физические это машины или виртуальные, вы можете иметь одну под управлением Windows, другую Linux; одну 32-битную, другую 64-битную; и так далее - все, что требуется вашим приложениям. Пока на всех этих машинах установлен JRE, они могут подключаться к мастеру Hudson и сообщать о состоянии сборок.