![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| AndrewMT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.5.2012 Репутация: нет Всего: нет |
Уважаемые коллеги! Помогите со следующим вопросом....
Долго и упорно переписывал большой проект с Delphi на С++ (использую QT с компилятором от MS VC++ ), переписал, отладил... Пришло время распараллеливания... Решил использовать OpenMP, чтобы сильно не "курочить" программу - в ней десятки программных модулей, сотни глобальных переменных - писали разные люди (математики), собирали код лет 15... И вот столкнулся со следующим - при распараллеливании самого "напряжённого" участка потребовалось некоторые глобальные переменные сделать как threadprivate, они через кучу ссылок (через разные модули), в h-нике объявлены как extern. Так вот - в доках нарыл, что директиву threadprivate необходимо применять в каждом юните, где используются оные глобальные перменные, и получается, что компилятор ругается, если эта директива применяется в тех юнитах, в которых подключен h-ник, в котором объявлены (extern-ном) эти глобальные переменные. Как быть?... Может, кто-нибудь сталкивался с такой проблемой?... |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
глобальные переменные - зло! избавляйся от них. Это сообщение отредактировал(а) boostcoder - 31.5.2012, 10:42 |
|||
|
||||
| AndrewMT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 31.5.2012 Репутация: нет Всего: нет |
Да я сразу говорил предыдущим авторам данного творения, что глобальные переменные - зло. Но уже деваться некуда, такое понаворотили....
Добавлено через 9 минут и 29 секунд Добавлю, что нечто подобное наблюдалось в GCC, но этот баг был исправлен ещё в 2005 году. А вот как с компилятором MSVC++ - не знаю.... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |