Я уже просмотрел единственный похожий пост, который смог найти, но это был не тот, который я искал.
По сути, я пытаюсь выполнить Сортировку нечетных и четных с разветвлением, так что потомок проверяет шансы, а родитель - эвены. И то, и другое требует совместного использования векторных inputValues, а также логического sorted.
Следующий код не содержит ни одной из моих неудачных попыток совместного использования памяти и представляет собой лишь базовую структуру для использования вилок с алгоритмом поиска:
while(!sorted)
{
pID = fork();
sorted = true;
cout << "Sort set to TRUE." << endl;
if(pID == 0)
{
int num = 1;
cout << "Child swap run" << endl;
Swap((void *) num);
cout << "Status: " << ((sorted) ? "SORTED" : "UNSORTED") << endl;
exit(0);
}
else if(pID < 0)
{
cout << "Failed to fork." << endl;
exit(1);
}
else
{
wpid = waitpid(pID, &status, waitStatus);
int num = 0;
cout << "Parent swap run" << endl;
Swap((void *) num);
cout << "Status: " << ((sorted) ? "SORTED" : "UNSORTED") << endl;
}
}
Я пробовал несколько способов взломать это совместное использование памяти, но не могу найти ни одного ресурса, который действительно объяснял бы, КАК это работает, что мне нужно, и лучший способ сделать это.
Итак, мои требования таковы. следующим образом:
Если у вас есть какие-нибудь советы, я буду очень признателен. Спасибо!