Я бы предпочел ничего не скачивать, но если я должен, я могу это сделать. Я просто пытаюсь запустить простую многопоточную программу, используя библиотеку Boost на многих онлайн-компиляторах, но ни один из них даже не распознает
#include <boost/thread.hpp>
а также
using namespace boost::this_thread;
Сам код взят по этой ссылке: https://www.quantnet.com/threads/c-multithreading-in-boost.10028/
Я сделал свой поиск в Интернете и опробовал множество онлайн-компиляторов, но ни один из них не хочет распознавать Boost или связанные с ним библиотеки.
Это код:
#include <iostream>
#include <boost/thread.hpp>
using namespace std;
using namespace boost;
using namespace boost::this_thread;
// Global function called by thread
void GlobalFunction()
{
for (int i=0; i<10; ++i) {
cout<< i << "Do something in parallel with main method." << endl;
boost::this_thread::yield(); // 'yield' discussed in section 18.6
}
}
int main()
{
boost::thread t(&GlobalFunction);
for (int i=0; i<10; i++) {
cout << i <<"Do something in main method."<<endl;
}
return 0;
}
просто используйте C++ 11 потоков. Идеальный поток отключен видимо, но у меня не было проблем с его запуском на http://www.compileonline.com/ (просто выберите C++ 11, а не C++).
#include <iostream>
#include <thread>
// Global function called by thread
void GlobalFunction()
{
for (int i = 0; i < 10; ++i)
{
std::cout << i << "Do something in parallel with main method." << std::endl;
std::this_thread::yield(); // 'yield' discussed in section 18.6
}
}
int main()
{
std::thread t(&GlobalFunction);
for (int i = 0; i < 10; i++)
{
std::cout << i << "Do something in main method." << std::endl;
}
return 0;
}
Wandbox - это интерактивная C++ среда, содержащая библиотеки BOOST. Он поддерживает современную версию BOOST (в настоящее время 1,67.0)
Примечание: ваш пример кода отлично работает в версиях BOOST до 1,64.0.
если вам нужно использовать boost, вам нужно его загрузить... эти заголовки не присутствуют на вашем компьютере.