Как запустить многопоточную программу C ++ в терминале Ubuntu?

#include <iostream>
#include <iomanip>
#include <fstream>
#include<conio.h>
#include<thread>
using namespace std;

int numbers[50];
int sumnumbers[25];
int *x;
void addnumbers() {
    for (int i = 1; i<50; i = i + 2) {
        sumnumbers[i - 1] = numbers[i-1] + numbers[i];

    }
}

void numberstoarray() {

    ifstream inFile;

    inFile.open("numbers.txt");
    if (!inFile) {
        cout << "Unable to open file";
        exit(1); 
    }

    while (inFile >> *x) {
        for (int i = 0; i < 50; i++) {
            numbers[i] = *x;
        }

    }
}
void Printnumbers() {
    for (int i = 0; i < 25;i++) {
        cout << sumnumbers[i];
    }
}



int main() {
    //inFile.close();
    //cout << "Sum = " << sum << endl; 
    thread t3(numberstoarray);
    thread t1(addnumbers);
    thread t2(Printnumbers);
    t3.join();
    t1.join();
    t2.join();


    return 0;
}
-2
задан 21 October 2019 в 00:40

2 ответа

Добавьте заголовочный файл в своем коде

#include <pthread.h>

Для компиляции программы C с pthread.h библиотека, необходимо поместить -lpthread сразу после команды gcc thread.c -o thread компиляции, которую эта команда скажет компилятору для выполнения программы с pthread.h библиотекой.

команда:

gcc thread.c -o thread -lpthread

gcc является командой компилятора.

thread.c является названием c исходного файла программы

,-o является опцией сделать объектный файл.

поток является названием объектного файла.

-lpthread является опцией выполнить pthread.h файл библиотеки.

-1
ответ дан 21 October 2019 в 17:53

Если у Вас есть C или код C++, необходимо скомпилировать и связать его. От командной строки 'cc' или 'gcc' являются командами. См. 'человека cc' или 'человека gcc' для страниц руководства.

, После того как Вы скомпилировали свою программу из файла 'my_program.c', Вы, скорее всего, получаете двоичный файл 'my_program' (или двоичный файл с именем 'a.out').

Теперь Вы имеете свой исполняемый файл, просто выполняете его путем введения его имени при подсказке.

Извините, я donnot видят программу C++, я только вижу c. Читая его, я ожидаю, что это запустит trheads, который Вы запрограммировали. В зависимости от количества потоков можно работать одновременно и планирование в системе, тексты, выложенные функциями, появятся случайным образом на экране.

-1
ответ дан 21 October 2019 в 17:53

Другие вопросы по тегам:

Похожие вопросы: