Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Alexis Nazarbayev                    2:5095/1.128   02 Oct 2002  17:09:14
 To : All
 Subject : Re: gcc 3.2
 -------------------------------------------------------------------------------- 
 
 .RFC-X-Complaints-To: usenet@cache.inetcomm.net
 .RFC-NNTP-Posting-Date: 3 Oct 2002 00:56:18 GMT
 .RFC-X-Accept-Language: ru, en-us, en
 From: Alexis Nazarbayev <jay_see@newmail.ru>
 
 >>так, например в части c++ кода библиотеки ncurses (5.2) если
 >>кто-то сталкивался, откликнитесь плз.
 >  В последних версиях gcc стал гораздо более требовательным и к
 >  Сишному коду тоже. Это значит, что многие программы, написанные
 >  некорректно (а их тьма), могут не компилироваться. Если всё же
 >  надо просто просто скомпилировать, то придётся понижать стандарт
 
 не. не просто скомпилировать. понять, что именно изменили, зачем и что 
 делать. то бишь, обычные два вопроса: "кто виноват?" и "что делать?" :)
 если интересно, то вот патч для ncurses 5.2:
 
 diff -urN ncurses-5.2-orig/c++/cursesw.cc ncurses-5.2/c++/cursesw.cc
 - --- ncurses-5.2-orig/c++/cursesw.cc Sat Sep  2 20:55:31 2000
 +++ ncurses-5.2/c++/cursesw.cc  Sat Apr 27 01:37:05 2002
 @@ -51,8 +51,7 @@
       char buf[BUFSIZ];
       int result = wgetstr(w, buf);
       if (result == OK) {
 -   strstreambuf ss(buf, sizeof(buf));
 -   result = ss.vscan(fmt, (_IO_va_list)args);
 +   result = ::vsscanf(buf, fmt, (_IO_va_list)args);
       }
       va_end(args);
       return result;
 @@ -73,8 +72,7 @@
       if (result == OK) {
      result = wgetstr(w, buf);
      if (result == OK) {
 -       strstreambuf ss(buf, sizeof(buf));
 -       result = ss.vscan(fmt, (_IO_va_list)args);
 +       result = ::vsscanf(buf, fmt, (_IO_va_list)args);
      }
       }
       va_end(args);
 
 >  входного языка, первый ключ компилятора "на попробовать" -
 >  `-std=c89'. Hу и `info gcc invoking preprocessor', листать вниз
 >  до описания ключа `-std'.
 
 спасибо, учту.
 
 кстати, возможно знаешь чем вызван новый ABI, о котором трубят на 
 gcc.gnu.org? зачем они всё перепахивают?
 
 --- Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020529
  * Origin: INET Communications ISP (2:5095/1.128@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: gcc 3.2   Alexis Nazarbayev   02 Oct 2002 17:09:14 
Архивное /ru.linux/45142647b1c8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional