|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Zahar Kiselev 2:5030/382.1 12 Nov 2006 04:58:20 To : Victor Wagner Subject : Re: -------------------------------------------------------------------------------- VW> О каком iconv речь? Об утилите командной строки или о библиотечной VW> функции? Если о первой, то -c Оный ключ увы мало помогает к сожалению. VW> iconv не "выделывается" только, если абсолютно уверен, что операция VW> перекодировки ОБРАТИМА. Что увы чаще всего не так. И от того пользоваться им для больших текстов невозможно, во всяком случае для распространенных русских кодировок. VW> операция необратима. Для необратимой кодировки существуют более VW> другие перекодировщики - konwert, recode, catdoc. Причем recode - это такой монстрище, что без получасового чтения доки хрен заставишь его выполнить вобщем-то _простейшую_ операцию типа перекодировки 1251 в 866 или обратно. А вот о том, что catdoc может перекодировать _текстовые_ файлы - я не знал. VS>> А что, Фортран с тем же C или Pascal не стыковались? VW> Стыковались. Hо это же надо владеть ДВУМЯ языками. Hе столько собственно языками (синтаксисом), как всяким довольно сложным и плохо документированным, особенно в те времена, инструментарием, к тому же плохо совместимым друг с другом. Знаю о чем говорю, ибо в те времена стыковал код на Meridian ADA с кодом Microsoft C 5.10 и библиотекой MDBS без исходников, созданной каким-то странным компилятором, похоже Lattce C когда он еще не был куплен Микрософтом. Стыковал под досом, причем успешно, вот запихать под PharLap дос экстендер пороху уже не хватило. Hо это было так - "здесь компилятор написал в объектник невозможную с точки зрения документации запись, линкер ее понял как ему вздумается, в результате отладочная информация коду не соответствует, но код работает если объектники подсовывать линкеру в таком и только таком порядке". Интересные однако были времена, можно было во внутренностях софта покопаться и _понять_ что в нем как работает. В отличие от сейчас - попробуй например понять как работает библиотека GTK ... Хотя вот понять как генерит код линуксовое avr-gcc (для МК Atmega) - мне удалось. Оказалось - на удивление "через непрямо", потому как микроконтроллеры эти с раздельным пространством команд и данных, а gcc кроме "плоской модели" ничего не знает. Однако я заставил виндовый симулятор (раздаваемый халявно VMLAB) понимать этот код _вместе_ с необходимой отладочной информацией и успешно работать в wine, том что в стабильном Дебиане. Вот avr-ada увы собрать мне не удалось, хотя и очень хотелось посмотреть чем это похоже на знакомую мне с институтских времен Аду ... Впрочем - сейчас всего этого все равно никто не оценит, привыкли что куча готового софта свободно доступна и проще любой проект кое-как наляпать в каком-нибудь модном визуальном редакторе, чем написать вдумчиво, красиво и как следует. А если у пользователя будет тормозить или в память не влезать - посоветовать ему купить новый комп. VW> Многим это кажется неправильным и неудобным. Даже если и правильным, то неудобным уж точно. Как напишешь 170 ассемблерных вставок для перетасовки параметров, передаваемых в функции вызываемой из другого языка библиотеки - так начинаешь это понимать. Вон например MDBS - написано все-же на Си, под дос, но функции зачем-то объявлены как far pascal с соответствующим способом передачи параметров. Оно и к Си довольно своеобразно подключается, а к любому другому языку тех времен - изволь писать ассемблерные переходники. Это не говоря о подсовывании public символов, объявленных в сишном startup коде чтобы обращающиеся к ним (или просто ожидающие их наличия) библиотечные функции не ругались. Интересно - у Микрософта что - планировался компилятор Паскаля, что они такую форму вызова в своем Си предусмотрели тогда... VW> Хотя на самом деле как раз многоязычные проекты позволяют добиться VW> наилучших результатов, используя для каждой части задачи тот язык, VW> который для неё наиболее подходит. С точки зрения теории оно несомненно и однозначно так. Однако народ по большей части пытается в тонкости взаимодействия средств разработки на разных языках не лезть, ибо граблей там не знаю как сегодня, а раньше всегда было дофига разложено... VS>> Ага, куда проще, пожертвовав эффективностью вычислительной VS>> части программы, слабать красивые формочки. :-/ VW> Hа самом деле и формочки-то некрасивые и неудобные получаются. Все же красивые, но неудобные. Примерно как одежда из области высокой моды в повседневном употреблении. Поглазеть на эту красоту можно, пользоваться - только по очень большой надобности и при отсутствии альтернатив. AD>> битные и так далее. некоторые даже погружаются в пучины AD>> мракобесия настолько, что монтируют /tmp с noexec и VW> А что - действительно круто. Многие глюкавые программы, например mc, VW> от этого работать перестанут. А что mc собирается там из tmp запускать? Hе говоря уже про то, что он не для запускания, а для разгребания файлопомоек предназначен. Я не видел чтобы хоть кто-то в линуксе перемещался посредством mc куда-нибудь в /usr/bin и запускал там что-то нажатием ентера. Вот редактором от mc действительно пользуются многие чтобы с емаксом не связываться. Zahar --- Msged/LNX 6.1.1 * Origin: Остров Большой Березовый: N 60ш20'02.9" E 28ш37'00.3" (2:5030/382.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/328845560c0a.html, оценка из 5, голосов 10
|