Я получил программу на C ++ (источник), которая, как говорят, работает параллельно.Однако, если я скомпилирую его (я использую Ubuntu 10.04 и g ++ 4.4.3) с g ++ и запусту его, одно из моих двух процессорных ядер получит полную нагрузку, а другое ничего не делает.
Так что яговорил с тем, кто дал мне программу.Мне сказали, что я должен установить специальные флаги для g ++, чтобы программа была скомпилирована для двух процессорных ядер.Однако, если я посмотрю на код, я не смогу найти какие-либо строки, указывающие на параллелизм.
Поэтому у меня два вопроса:
- Существуют ли какие-либо C ++ - встроенные функции длямногопоточные приложения, т.е. можно ли писать параллельный код без каких-либо дополнительных библиотек (потому что я не нашел ни одной нестандартной библиотеки)?
- Правда ли, что действительно существуют флаги для g ++, которые сообщают компиляторускомпилировать программу для двух процессорных ядер и скомпилировать ее так, чтобы она работала параллельно (и если: каковы они)?