5

C++에서 boost :: interprocess를 사용하면 boost :: interprocess :: basic_string을 정의 할 수 있습니다. boost :: interprocess :: basic_string은 기본적으로 메모리 매핑 파일에 저장된 문자열에 대한 추상화입니다. 응용 프로그램에서 다른 문자열처럼 완벽하게 사용할 수 있습니다 (물론 스레드 안전을 처리한다고 가정 할 경우).boost :: interprocess :: basic_string에 상응하는 C#이 있습니까?

C#에 해당하는 라이브러리/너겟 패키지/코드 조각이 있습니까?

+0

MMF에 특히 적합한 Boost 클래스에는 아무 것도 없습니다. C++의 문자열은 단지 악몽 일 뿐이지 만, 모든 사소한 라이브러리는 다른 라이브러리의 구현 세부 사항에 의존 할 수 없으므로 자체 라이브러리를 추가해야합니다. 그 실수를 반복하지 말고 Encoding.GetBytes()를 사용하십시오. –

+0

@HansPassant하지만 boost :: interprocess :: allocator MMF에서 해당 문자열을 할당 할 수 및 심지어 boost :: interprocess :: map 또는 boost 같은 MMF에 저장된 데이터 구조에 이러한 문자열을 배치 할 수 있습니다 : : interprocess :: vector. C#에서 비슷한 추상화를 찾고 있는데, 하나는 추상화되어 스트림을 처리하는 것입니다. –

답변

1

아니요. 그러나 투명하게 구현할 수있는 경우에도 C#의 문자열은 변경할 수 없습니다. 따라서 나는 도서관이 매우 유용하다고 생각하지 않는다.