2

c++ で ppl.h を使用する方法を学ぼうとしています。しかし、それを使用するためにVS2010でどのようなソリューションを作成する必要があるのか​​ わかりません。CLR を使用せずに Win32 コンソール アプリを作成すると、'同時実行性' が認識されず、CLR を使用して Win32 コンソール アプリを作成すると、次のエラーが表示されます。

/clr をコンパイルする場合、コンカレンシー ランタイムはサポートされません。

#include "stdafx.h"
#include <ppl.h>
using namespace System;
void BubbleSort(int* input, int n)
{
    concurrency::parallel_for(0,n,[=](int y)
    {
        for(int k = 0; k< n - 1 -y; k++)
        {
            if(input[k]> input[k+1])
            {
                auto temp = input[k+1];
                input[k+1] = input[k];
                input[k] = temp;
            }
        }
    }
}
int main(array<System::String ^> ^args)
{
    Console::WriteLine(L"Hello World");


    return 0;
}
4

1 に答える 1

2

Win32 コンソール アプリケーション (CLR なし) を作成できます。すると#include <ppl.h>Concurrency名前空間が利用可能になります。Concurrency::parallel_for(大文字の「C」)であることに注意してください。

詳細については、MSDN の PPL の例を参照してください。

于 2012-07-19T16:03:06.947 に答える