The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"GCC 3.2 fstream и файловые дескрипторы"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"GCC 3.2 fstream и файловые дескрипторы"
Сообщение от Alexander S. Salieff emailИскать по авторуВ закладки on 07-Авг-02, 14:01  (MSK)
Народ! Такая тема. Перешел на GCC 3.2, и прога, которая без проблем собиралась в GCC 2.96, перестала собираться, а симптомы такие: все методы fstream, которые позволяли работать с файловыми дескрипторами, типа open(int), attach(int), constructor(int) волшебным образом куда-то испарились, и при сборке идут маты, что таких методов в природе не существует... Мож я чего не знаю, и кто-нть подскажет, как вернуть все к жизни? Всякие новомодные приблуды типа using namespace std не помогають :(
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: GCC 3.2 fstream и файловые дескрипторы"
Сообщение от Lynxer Искать по авторуВ закладки on 07-Авг-02, 18:06  (MSK)
Давай сюда маленький пример кода и ругань компилятора на него.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: GCC 3.2 fstream и файловые дескрипторы"
Сообщение от Alexander S. Salieff emailИскать по авторуВ закладки on 08-Авг-02, 15:56  (MSK)
>Давай сюда маленький пример кода и ругань компилятора на него.

ofstream * debos;
......
int SetDebug(int debsock)
{
.........
debos = new ofstream();
debos->attach(debsock);
if (!debos->good())
................
}

tunnel.cpp: In function `int SetDebug(int)':
tunnel.cpp:2023: no matching function for call to `
   std::basic_ofstream<char, std::char_traits<char> >::attach(int&)'
gmake: *** [tunnel.o] Ошибка 1

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: GCC 3.2 fstream и файловые дескрипторы"
Сообщение от Lynxer Искать по авторуВ закладки on 15-Авг-02, 18:24  (MSK)
>>Давай сюда маленький пример кода и ругань компилятора на него.
>
>ofstream * debos;
>......
>int SetDebug(int debsock)
>{
>.........
>debos = new ofstream();
>debos->attach(debsock);
>if (!debos->good())
>................
>}
>
>tunnel.cpp: In function `int SetDebug(int)':
>tunnel.cpp:2023: no matching function for call to `
>   std::basic_ofstream<char, std::char_traits<char> >::attach(int&)'
>gmake: *** [tunnel.o] Ошибка 1

Хм, вообще-то я имел в виду цельный минимальный срр-файл. Эдакий test-case. По твоему фрагменту сложно что-либо сказать, но я попробую. :)

1) Проверь наличие строчек у тебя в коде:
#include <iostream> // не <iostream.h> !
#include <fstream> // не <fstream.h> !
using namespace std; // это вроде есть

2) Проверь, может std::ofstream::attach хочет не int, а какую-нибудь
хрень типа filedesc.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: GCC 3.2 fstream и файловые дескрипторы"
Сообщение от sas emailИскать по авторуВ закладки on 24-Авг-02, 06:39  (MSK)
Hi,

stream:attach is not in the standard any more. You can try to use

basic_filebuf(__c_file_type*, ios_base::openmode, int_type);

where __c_file_type* == FILE* .

At least it was possible when g++ was 3.0. Also i remember they said that this solution is bad, because they can change constructor signature any time.

Better solution is to change code for current standard  :)

Thanks
--- Sas

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру