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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Alexei Dets                          2:5020/400     02 Aug 2002  19:49:04
 To : Aleksey Trufanov
 Subject : Re: Компилер  не  находит strndup()
 -------------------------------------------------------------------------------- 
 
 Hi!
 Aleksey Trufanov wrote:
 
 >> Реальная проблема скорее всего в том, что string.h включается где-то еще
 >> раньше в твоей программе, _до_ определения _GNU_SOURCE. Здесь он
 >> включается уже второй раз и просто игнорируется.
 > 
 > Да нет же! Сейчас вот так:
 > 
 > #define __USE_GNU
 > #include <string.h>
 > 
 > Всё работает. Когда на месте __USE_GNU было _GNU_SOURCE (как указано
 
 _Сейчас_ работает. Ты пользуешься _недокументированным_ макросом, который 
 предназначен _исключительно_ для внутреннего использования в glibc.
 Посмотри в /usr/include/features.h:
 #ifdef  _GNU_SOURCE
 # define __USE_GNU      1
 #endif
 
 > в man strndup) -- не работало. Две вышеприведенные строки встречаются
 > в исходнике ТОЛЬКО ОДИH РАЗ.
 
 Hу и что? Тебе не приходило в голову, что string.h мог быть включен другим 
 системным инклудом еще до того, как ты его явно включил?
 
 Вот, из info libc цитата (там, кстати, все эти макросы отлично описаны):
     You should define these macros by using `#define' preprocessor
  directives at the top of your source code files.  These directives
  _must_ come before any `#include' of a system header file.  It is best
  to make them the very first thing in the file, preceded only by
  comments.  You could also use the `-D' option to GCC, but it's better
  if you make the source files indicate their own meaning in a
  self-contained way.
 
         Алексей
 
 -- 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5
  * Origin: InfoDesk, S.A. (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Компилер не находит strndup()   Aleksey Trufanov   02 Aug 2002 15:00:33 
 Re: Компилер не находит strndup()   Alexander Timoshenko   02 Aug 2002 15:18:57 
 Re: Компилер не находит strndup()   Alexei Dets   02 Aug 2002 18:50:18 
 Re: Компилер не находит strndup()   Aleksey Trufanov   02 Aug 2002 18:58:43 
 Re: Компилер не находит strndup()   Alexei Dets   02 Aug 2002 19:49:04 
 Re: Компилер не находит strndup()   Aleksey Trufanov   02 Aug 2002 20:51:00 
 Re: Компилер не находит strndup()   Aleksey Cheusov   07 Aug 2002 15:04:18 
 Re: Компилер не находит strndup()   Aleksey Trufanov   07 Aug 2002 20:13:26 
 Re: Компилер не находит strndup()   Aleksey Cheusov   07 Aug 2002 22:05:19 
Архивное /ru.linux/648802f30558.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional