crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> причуды компиляторов.
Tonal
  опции профиля:
сообщение 27.2.2009, 8:45
Сообщение #11


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Цитата(void* @ 27.2.2009, 0:06) *
П.С. Кстати а может кто-нибудь привести реальные примеры непридерживания стандартов компилятором от Borland (интересно просто)?

У меня была большая подборка багов для багланда.
Основная масса в поддержке шаблонов и исключений. Не зря половина boost-а багландом не компилится.
Насколько она актуальна сейчас - не в курсе - слез с него уже довольно давно.
Мой любимый:
#include <iostream>

using std::cout;
using std::endl;

struct test_t {
  int val;
  test_t(int val) : val(val) {
    cout<<"test_t::test_t val = "<<val<<endl;
  }
  ~test_t() {
    cout<<"~test_t::test_t val = "<<val<<endl;
  }
};

int main() {
  size_t arg_size = sizeof test_t(666);
  cout<<"sizeof test_t = "<<arg_size<<endl;
  return 0;
}

На bcc 5.6.4 (C++Builder 6 sp4) и раньше вызывается деструктор несозданного объекта...
Причём эта кочующая бага. Я на неё нарывался со статическими объектами и с тернарным оператором.
Как оно сейчас - просто не в курсе.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 27.2.2009, 10:42
Сообщение #12


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Субъективное впечатление:
Mingw (3.4.5) не особо любит когда весь код пихают прямо в хидер. И большие инлайны тоже плохо переваривает. А вот темплейты (например из Boost) кушает без вопросов!
Причём похоже что проблема на уровне линкера... и в известных багах этого вроде нет.
А может у меня просто руки кривые 8)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 27.2.2009, 11:52
Сообщение #13


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Не в курсе как тройка, а вот 4-ка отлично все переваривает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 27.2.2009, 22:17
Сообщение #14


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Цитата(molchanoviv @ 27.2.2009, 11:52) *
Не в курсе как тройка, а вот 4-ка отлично все переваривает.

Четверка плохо переваривает dll-import от дружественных классов. Это официально признанный баг gcc 4.2.0-4.3.0 под виндоус. Поэтому проекты с Qt порождают кучу предупреждений :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 27.2.2009, 22:27
Сообщение #15


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Я в основном пользую линукс. В винду загружаюсь очень редко(да и снес бы ее давно если бы мой младший брат не играл в игры)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 14.1.2025, 16:06