2010-01-14 4 views
3

boost :: asio 패키지에는 IO 완료 포트를 사용하여 Windows에서 비동기 파일을 처리하기위한 클래스가 포함되어 있습니다. 내 이해를 위해, asio 패키지에 포함 된 다른 플랫폼에 대한 비동기 파일 io에 대한 지원은 없습니다.Mac OS X에서 boost :: asio의 비동기 파일 io 확장

적어도 Mac OS X 및 일부 Linux에서는 비동기 파일 io 지원을 통해 asio를 확장해야 할 필요가 있을지 궁금합니다. 저는 주로 물건의 측면에서해야 할 일에 관심이 많습니다. 그러나 Mac OS X 프로그래밍 경험이 없기 때문에 비동기 파일 io를 수행하는 방법에 대한 자세한 정보를 어디에서 찾을 수 있는지에 대한 포인터는 없습니다. Mac OS X도 마찬가지입니다. PBReadForkAsync는 내가 무엇을보아야 하는가?

업데이트 : 마침내 그러나 나는 (I가 필요로하는 콜백 데이터를 얻을 수 없습니다 오전, aio_read/aio_write를 사용하여 맥 OS X에 비동기 파일 입출력 (외부 부스트 :: ASIO)을 구축하려고 주위 왔 How to get user data for aio signal handler in Mac OS X 참조).

답변

2

이 페이지에 따르면, 부스트 : ASIO 작품을 OS X에 하나 개의 작은 제약 조건 : http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/overview/implementation.html

+0

하는 Asio 맥 OS X에서 작동 예, 그러나 비동기 파일 입출력을 사용할 수 없습니다. Boost.Asio에는 파이프, 표준 입출력 및 다양한 장치 (일반 파일이 아닌)와 같은 POSIX 파일 설명자에서 동기 및 비동기 읽기 및 쓰기 작업을 수행 할 수 있도록 추가 된 클래스가 포함되어 있습니다. (http://www.boost.org/doc/libs/1_41_0/doc/html/boost_asio/overview/posix/stream_descriptor.html). – villintehaspam

+0

질문이 업데이트되어 asio 패키지의 파일 io 부분 만 Windows가 아닌 다른 플랫폼에서 "누락되었습니다". – villintehaspam

+0

미안하지만, 나는 그것을 놓쳤다. OS X을 POSIX 시스템으로 취급하는 것이 더 나은 방법이라고 생각합니다. Unixen과 Linux를 일반화하는 방식입니다. 'aio_read (2)'시스템 콜과'man aio'를보세요. Boost에 수업을 제출하십시오. Boost가 실제로 있어야하기 때문입니다. –