|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.04.2014, 10:01 | #1 |
Регистрация: 31.03.2009
Сообщений: 5
|
OpenMP MPI::Init помогите разобраться с аргументами
Доброго времени суток!
В книге "Технологии параллельного программирования" Лупин С.А. Есть простой пример на С программы выводящей строку и он компилируется и работает, но если переписать его на С++ компилятор выдает ошибку о некорректных аргументах передаваемых функции Init. Пример из книги на С : Код:
API C++ http://www.open-mpi.org/doc/v1.6/man3/ #include <iostream> Код:
Компиляция производится с помощью mpic++ v 1.6 ОС Linux Запуск приложения через mpirun Не могу предоставить пример ошибки из-за недоступности ПК. |
07.04.2014, 10:13 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Вот как вот это &argv из С вдруг стало **&argv в С++? Какой логикой вы руководствовались?
|
07.04.2014, 12:25 | #3 |
Регистрация: 31.03.2009
Сообщений: 5
|
Логика примерно такая:
Во-первых апи где указан второй аргумент функции как **&argv. Тут я запутался так как на той же странице для С указан второй аргумент как ***argv ему можно присвоить значение &argv значит в С++ варианте правомерно присвоить второму аргументу значение &*argv. Не до конца понимаю механизм работы указателей и ссылок... |
07.04.2014, 12:36 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
еще раз:
Код:
Код:
(указатели и в С и в С++ одинаковые как бы) Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
07.04.2014, 13:24 | #5 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
Может вы просто не в курсе про операции разыменования и взятия адреса? И не понимаете, что &*argv != &argv... хотя тут даже по значка видно, что не похоже. Странно... Цитата:
Последний раз редактировалось p51x; 07.04.2014 в 13:27. |
||
07.04.2014, 14:07 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а просто в неймспейсе.
тогда вообще не понимаю логики. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.04.2014, 08:59 | #7 |
Регистрация: 31.03.2009
Сообщений: 5
|
В моих действиях логики мало :D
Разобрался корректным будет такой вариант Код:
Код:
Код:
|
10.04.2014, 10:08 | #8 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Код:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
10.04.2014, 10:28 | #9 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Код:
|
10.04.2014, 12:02 | #10 | |
Регистрация: 31.03.2009
Сообщений: 5
|
Цитата:
Спасибо всем за терпение и ответы. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Необходимо переделать программу из MPI в OpenMP | MrViperTNU | Помощь студентам | 0 | 04.04.2012 16:09 |
Распараллеливание кусочка кода на Си (MPI && openMP) | Quew | Общие вопросы C/C++ | 0 | 02.02.2012 19:38 |
Задача на С++ с аргументами | Sofa | Помощь студентам | 1 | 22.12.2011 22:13 |
Помогите с MPI, плз! | kbbudanov | Общие вопросы C/C++ | 1 | 25.11.2009 17:53 |
Параллельная программа для метода холецкого с помощью openMp и mpi | игоревна | Помощь студентам | 0 | 06.06.2009 20:47 |