Разница между gcc (miniGW) и intel С compiler
От: n013e  
Дата: 31.05.06 22:26
Оценка:
Пытаюсь скомпилировать часть Random Access из HPCC, но компилятор (intel c++ 9.1) ругается на строчку:

MPI_Status finish_statuses[NumProcs];


что само по себе не удивительно, т.к. NumProcs — это переменная типа int, т.е. мы пытаемся объявить динамический массив.
но при этом gcc под пингвином съедает всё без проблем.
Откомпилировал то же самое с помощью miniGW — без проблем, но нужно откомпилировать с помощью intelовского компилятора всё же =/
Наверное, это что-то очень простое, но у меня не получается с этим разобраться. Заранее спасибо за ответы.
Re: Разница между gcc (miniGW) и intel С compiler
От: Tonal- Россия www.promsoft.ru
Дата: 01.06.06 03:59
Оценка:
Ты наткнулся на расширение языка, специфичное для gcc.
Оно хорошо описано в доках (6.14. Arrays of Variable Length)
Реализуется через неявное использование функции alloca — выделение памяти на стеке.
Обойти можно реализовав подобное поведение руками.
Re[2]: Разница между gcc (miniGW) и intel С compiler
От: Garrrrr  
Дата: 01.06.06 06:23
Оценка: :)
Здравствуйте, Tonal-, Вы писали:

T>Ты наткнулся на расширение языка, специфичное для gcc.

T>Оно хорошо описано в доках (6.14. Arrays of Variable Length)
T>Реализуется через неявное использование функции alloca — выделение памяти на стеке.
T>Обойти можно реализовав подобное поведение руками.
В MSVC такая фича тоже есть...
Re[3]: Разница между gcc (miniGW) и intel С compiler
От: n013e  
Дата: 01.06.06 06:52
Оценка:
G>В MSVC такая фича тоже есть...

Как она там называется? куда копать?
Re: Разница между gcc (miniGW) и intel С compiler
От: dupamid Россия  
Дата: 01.06.06 07:08
Оценка:
Здравствуйте, n013e.

Тебе нужно включить С99, вот ключи для Linux:
-[no-]c99 enable/disable(DEFAULT) C99 support for C programs
-std=c99 enable C99 support for C programs

Windows:
/Qc99[-] enable/disable(default) C99 support for C programs
Re[3]: Разница между gcc (miniGW) и intel С compiler
От: n013e  
Дата: 01.06.06 07:50
Оценка:
Здравствуйте, Garrrrr, Вы писали:
G>В MSVC такая фича тоже есть...

Arrays of Variable Lenght — это фишка, введённая в C99
В MSVC такой фичи нет:
Variable length arrays are not currently supported in Visual C++.

отсюда
В Intel C Compiler она есть, включается опцией /Qc99. Но при условии, что код Cишный, а не C++
Re[4]: Разница между gcc (miniGW) и intel С compiler
От: Garrrrr  
Дата: 01.06.06 20:40
Оценка:
Здравствуйте, n013e, Вы писали:

N>Здравствуйте, Garrrrr, Вы писали:

G>>В MSVC такая фича тоже есть...

N>Arrays of Variable Lenght — это фишка, введённая в C99

N>В MSVC такой фичи нет:
N>
N>Variable length arrays are not currently supported in Visual C++.
N>

N>отсюда
N>В Intel C Compiler она есть, включается опцией /Qc99. Но при условии, что код Cишный, а не C++
Угу... этой отсутствующей в MSVC фишкой поломали кросскомпиляцию :-D
Re[5]: Разница между gcc (miniGW) и intel С compiler
От: cencio Украина http://ua-coder.blogspot.com
Дата: 01.06.06 22:41
Оценка:
Здравствуйте, Garrrrr, Вы писали:


G>Угу... этой отсутствующей в MSVC фишкой поломали кросскомпиляцию :-D


переписывается за 5 минут с помощью alloca
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Разница между gcc (miniGW) и intel С compiler
От: Garrrrr  
Дата: 02.06.06 03:53
Оценка:
Здравствуйте, cencio, Вы писали:

C>переписывается за 5 минут с помощью alloca

Да при чем тут это... Просто постулируется, что наш код во всех отношениях соответсвтвует стандарту (или с большой буквы?), а в стандарте этого нема.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.