Код с использованием boost :: asio :: streambuf вызывает segfault - PullRequest
6 голосов
/ 11 февраля 2011

У меня возникли проблемы с использованием asio :: streambuf, и я надеюсь, что кто-то может сказать мне, если я использую класс неправильно.Когда я запускаю этот пример кода, он segfaults.Почему?

Для большей запутанности этот код работает в Windows (Visual Studio 2008), но не работает в Linux (с gcc 4.4.1).

1 Ответ

1 голос
/ 07 марта 2011

Я обычно использовал asio :: streambuf и использовал std :: ostream или std :: istream, что-то вроде:

boost::asio::streambuf Stream;
std::ostream os(&Stream);
int SetValue = 0xaabbccdd;
os.write(reinterpret_cast<const char*>(&SetValue), sizeof(SetValue));

Я не уверен, почему ваш код не работает, но если вышеприведенный код работает, то его выполнение может показать некоторые отличия от вашего кода. Кроме того, на какой линии происходит сбой?

...