[vs2003]Кодировка окна консоли для intel fortran

durka82

Консольное приложение запускается в кодировке, отличной от кодировки редактора
В результате русский текст выводится нечитаемо.
Это относится ко всему vs?
Или только к intel fortran-у?
Можно это исправить?

lera98

Ко всему. Я знаю два варианта решения:
1. используй WinAPI CharToOem, если возможно.
2. набери русский текст в OEM-редакторе, оттуда скопируй, в среду VS вставь. Тогда в вижле будет выглять загадочно, а в консоли - нормально.

Vladislav177Rus

Попробуй SetConsoleCP и SetConsoleOutputCP

lera98

Кстати, я эту тему пробовал, но для консолей с режимом отображения текста OEM это ни к чему не приводит. Работает в TrueType-шрифтовой консоли.

durka82

Ясно, что все плохо
А вот еще такие вопросы мб просветишь?
1. Есть ли для Intel fortran 8.1 помощь а-ля мсдн/compaq fortran?
2. Можно ли настроить, чтобы константы показывались в отладчике?
3. Интеграция с vs 6 реально происходит? А то при установке пункты интеграции с vs 2002/2003 есть, а с vs 6 - нету. Это и смутило.
5. Насколько хорошо откомпилированный код работает на АМД-процах?

Chupa

> Насколько хорошо откомпилированный код работает на АМД-процах?
Сказочка.
Встречал однажды такую вещь: компилятор видит какую-нибудь
хитрую последовательность кода и преобразует её в вызов
своей runtime библиотеки. Библиотека проверяет тип проца,
чтобы вызвать наиболее быструю версию. А так как атхлон
интел за проц не считает, то либа ничего подходящего не находит
и от безнадёжности молча пишет по нулевому адресу:
вот вам SIGSEGV, получите, распишитесь.
Внешне это выглядит, как работающая, но иногда падающая прога.
Лечил переименованием символов, чтобы переходы производились
не на переключалку, а непосредственно на нужный код.

durka82

Лечил переименованием символов, чтобы переходы производились
не на переключалку, а непосредственно на нужный код.
А подробнее про это можно?
То есть для АМД лучше использовать другой компилятор (Лахей, например)?

Chupa

> А подробнее про это можно?
Кусок Makefile:

objcopy --redefine-sym vmlsAtan4=vmlsAtan4.H \
--redefine-sym vmlsCos4=vmlsCos4.H \
--redefine-sym vmlsExp4=vmlsExp4.H \
--redefine-sym vmlsLn4=vmlsLn4.H \
--redefine-sym vmlsSin4=vmlsSin4.H \
--redefine-sym vmlsTan4=vmlsTan4.H \
$< $@

> То есть для АМД лучше использовать другой компилятор (Лахей, например)?
Что лучше не знаю. По идее такая ситуация должна встречаться очень редко,
т.к. в библиотеки вынесен достаточно специфический код, как например здесь.
Думаю, такие приколы ещё не повод от него совсем отказываться,
просто к icc я теперь отношусь с чуть большей осторожностью.

durka82

Спасибо.
А на другие вопросы ответа не знаешь случайно?

durka82

А еще не знаешь случайно, можно ли бороться с тем, что при наличии русских символов в пути к файлу/проекту компиляция не происходит?

ava3443

:
Что лучше не знаю. По идее такая ситуация должна встречаться очень редко,
т.к. в библиотеки вынесен достаточно специфический код, как например здесь.
Вот это грабли так грабли... И совсем не редко, у меня почти в каждой проге на фортране был Atan4 Просто пока на AMD не довелось испытать.
Оставить комментарий
Имя или ник:
Комментарий: