2013-04-06 2 views
0

최근에 Using Delegates to simulate connected objects에 질문을 올렸습니다. TPL DataFlow 라이브러리를 사용하여 내 애플리케이션에 대한 솔루션을 매우 쉽고 깨끗하게 개발하는 것에 대한 훌륭한 답을 얻었습니다.C# TPL 데이터 흐름 대신 C++에 대한 대안이 있습니까?

문제는 .NET 3.5 또는 C#에서 멈추는 문제입니다. 이 단계에서는 .NET 4.5로 업그레이드 할 수 있을지도 모른다고 생각했습니다. 지금까지 필자가 결정한 바에 따르면 Dataflow 라이브러리를 .NET 3.5로 재조정 할 수는 없으므로 다음 해결책은 TPL Dataflow와 비슷한 맥락에서 C++ 대체물을 찾는 것입니다. - 가장 좋은 시나리오는 아니지만 컴파일 할 수 있습니다. C++ 코드를 DLL로 가져 와서 C# 응용 프로그램으로 가져옵니다.

이 질문에 대한 C++ 라이브러리에 대한 내 요구 사항을 요약하면 :

  • 나는 복잡한 네트워크에서 함께 노드를 연결하고 그 사이에 자원의 단위를 통과 할 수 있어야합니다. 그들 중 일부는 시간이 지남에 따라 한정된 양의 자원을 생산할 것입니다. 다른 사람들은 특정 비율로 그것을 소비 할 것입니다.

답변

2

mono's version of TPL Dataflow을 사용하고 .Net 3.5 용으로 직접 컴파일하는 것이 좋습니다.

그 코드를 컴파일하려고 할 때 가장 큰 문제는 TPL에 크게 의존한다는 것입니다. TPL은 .Net 3.5에서는 일반적으로 사용할 수 없습니다. 그러나 it seems a backported version is available in older versions of Rx, 그래서 그것을 사용할 수 있습니다.

은 (또한, TDF의 모노 버전의 일부 나에 의해 작성되었습니다 나는 그것에 대해 꽤 많은 피드백을받지 못했다, 그래서 거기에 버그가 꽤 특정입니다.)

+0

이 큰 정보입니다. 이제 .NET 3.5에서 TPL을 사용하게되었습니다. 그러나 나는 아직도 .NET 3.5 TPL lib에 대해 Dataflow를 컴파일하는 데 어려움을 겪고있다. 어디서부터 시작해야할지 잘 모르겠다 - 전체 Mono 패키지를 컴파일해야할까요, 아니면 그 클래스를 자체 프로젝트로 끌어 와서 분리하고 컴파일하려고해야할까요? –

+0

@ S.Richmond 나는 TPL Dataflow 프로젝트를 받아 컴파일 만해야한다고 생각한다. 프로젝트 자체는 MS .Net 4.5에 대해 잘 컴파일해야하고 .Net 3.5에 대해 컴파일하는 것은 TPL을 포함하는 문제입니다 (주로?). – svick

+0

이제 가깝습니다! 모노 프로젝트에서 여러 개의 .Net v4 클래스를 포함해야했지만 Dataflow 구문에서 오류가 발생할 때까지는 모든 것을 컴파일하고 있습니다. 이것은 구현상의 사소한 차이 때문이라고 가정합니다. 지금 패치를 적용하는 방법을 연구 중이지만 귀하의 의견을 사랑합니다. 다음은 오류 및 관련 코드입니다. http://pastebin.com/iNSHCVHq –

관련 문제