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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Eugene Mironov                       2:5020/175.2   19 Dec 2005  02:33:11
 To : Artem Chuprina
 Subject : Re: Кросс-компиляция gcc
 -------------------------------------------------------------------------------- 
 
  EM>> будет и в нативном компиляторе.  Hапример, четверка не компилирует
  EM>> такое:
 
  EM>> void *p = ....;
  EM>> (int*)p += 2;
 
  AC> Это по логике странно, но есть уверенность, что стандарт это позволяет?
  AC> А какой стандарт имелся в виду?  При ответе на последний вопрос стоит
  AC> предварительно убедиться, что режим его поддержки был включен.
 
   Если честно, за стандартом совсем не слежу. Видимо, компилятор стал строже.
 Hапример, есть пример такого кода в Мозилле, хотя там очень строго насчет
 поддержки стандартов и переносимости. 
 
  EM>> Или:
 
  EM>> extern struct X x[];
  EM>> если не было определения struct X.
 
  AC> Я очень извиняюсь, а бат хау?  При использовании такого массива надо
  AC> уметь обращаться по индексу, сиречь считать смещение в байтах.  А для
  AC> этого надо знать размер структуры.  Массив - это не указатель...
 
   Дело в том, что если потом с такой переменной не производят обращение по
 индексу или к элементу структуры, а передают в качестве аргумента функции
 например, то более старшие компиляторы это хавали, а вот 4.x не хочет.
   Из-за подобной же конструкции четверка не компилировала i2c-core.c(в Linux
 kernel), хотя как я вижу в версии ядра 2.6.12 это поправили.
   
   Вообще-то можно просто взять четверку и скомпилировать Мозиллу - сразу все
 увидите.
 
 WBR, Eugene Mironov
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
 
 

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

 Тема:    Автор:    Дата:  
 Кросс-компиляция gcc   Nickita A Startcev   15 Dec 2005 23:06:24 
 Кросс-компиляция gcc   Eugene Mironov   18 Dec 2005 15:17:20 
 Re: Кросс-компиляция gcc   Artem Chuprina   19 Dec 2005 01:31:44 
 Re: Кросс-компиляция gcc   Eugene Mironov   19 Dec 2005 02:33:11 
 Re: Кросс-компиляция gcc   Artem Chuprina   19 Dec 2005 15:54:47 
 Re: Кросс-компиляция gcc   Serhiy Storchaka   19 Dec 2005 23:57:41 
Архивное /ru.linux/3300e978e9e1.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional