Pull to refresh

Comments 30

А почему под маком чудеса не потребовались? Не стали трогать, или произошло невероятное и все само «срослось»?
UFO landed and left these words here
> Новая Java собрана с использованием MSVCR100.dll
Очевидно, под мак Java не собирается с использованием MS C++ Runtime.
dll, so и иже с ними — костыль под малые объёмы памяти. Такой же, каким в своё время были оверлеи на 16-битной адресации. Уже лет 7 как пора вернуться к статической линковке.
О да, я еще помню парад апдейтов, когда в libz вдруг vulnerability нашли. Лучше б экономили память ;-)
Угу… в либе на 400kb (где 95% — комментарии) одни «вдруг» накосячили, а другие через несколько лет «вдруг» нашли :) Благотворительным студентам из opensource, которые пишут ради искусства, а не ради скучной серой математической выверенности, ничего не поможет. Ни dll, ни so, ни даже jvm.
Там dlopen() сюрпризов не преподнес.

Вообще, в деле запуска Java, для мака разницы немного, основных отличий — вот они

#ifdef WINDOWS
	#define CORRECT_JNI_VER JNI_VERSION_1_6
#else //MACINTOSH
	#define CORRECT_JNI_VER JNI_VERSION_1_4
#endif

и вот это
		JavaVMInitArgs vm_args;
		vm_args.version = CORRECT_JNI_VER;
		JavaVMOption* options = new JavaVMOption[vmParamCount];

		options[0].optionString = memoryOpt; // -Xmx...
		options[1].optionString = classpath;
#ifdef MACINTOSH
		options[2].optionString = "-Djava.awt.headless=true";
		options[3].optionString = "-XstartOnFirstThread";
#endif

А установить Microsoft Visual C++ 2010 x86 Runtime на компьютер заказчика никак нельзя?
do  {
 ...
} while (false);


Какова цель такого оборачивания?
break в середине позволяет в любой момент выйти из блока кода.
UFO landed and left these words here
return не совсем аналогичная замена. После этого блока могут идти еще инструкции
UFO landed and left these words here
Я и не утверждал что это тру вей. Как раз наоборот. Вот тут поподробнее мое мнение о goto и break.
Каким бы неправильным не был подход с выходом из блока через break, тем не менее он не эквивалентен return-у. И несколько return-ов это такой-же хак как и то что сделал тс.
Просто скорее всего человек уже набил руку на таком подходе, и плюс даже если сейчас у него после этого блока нет инструкций, завтра они могут там появится. Так что не надо спорить, это не ЗАМЕНА, ни в данном случае ни в каком другом случае.
В данном случае это эквивалент.
А лепить цикл вместо GOTO — неудобочитаемо.
В данном случае вопрос решается легко ступенчатыми if
ИМХО, это наглядней отображает логику алгоритма, а ширина современных мониторов не даст коду «не влезть» в экран.

if (...) {

  if (..) {
    
    if (..) {

    }

  }

}


Мои современные мониторы используются в портретном режиме.
Глаза не болят? Частота же другая, когда поворачиваешь.

Очень хотел сделать, как на фото:
один 30" посредине (2560x1600)
и по бокам два 20" (1200x1600)

Быстро отказался от этой идеи, глаза чуть не вылезли. Может настройки надо было где-то подкрутить :)
С частотой все нормально. Проблемы с субпиксельным сглаживанием и углами обзора.
Думаю, что все-таки дело в частоте. Вот ради прикола повернул ноутбук на 90 градусов, а впечатление, будто ЭЛТ-телик мерцающий.
для начала, египетские скобки крайне неудобочитаемы
Весьма оригинальный GOTO без GOTO :-) Школу с бейсиком вспомнил.
Стандартный трюк по оборачиванию лестницы условий, по-моему даже свое название имеет. В Adobe SDK все примеры так обернуты, мы решили по стилю не выделяться.

Впрочем, еще можно встретить вот такое

__try {
    if(foo) __leave;
}
__except(...) {

}


В MS DDK встречается в примерах.
Уж лучше честно писать goto, чем городить такое.
Так это замена не goto, и не замена пачке if.

Я ж специально более понятный пример привел — это имитация try/catch в том случае, когда не допускается использование родного.

Например — когда собирается проект с флажками -fno-exceptions -fno-rtti. Или у микрософта — без флажка -EHsc. Или нижележащий фреймворк принципиально не знает про throw.

Поймите правильно — я совершенно не в восторге от такого трюкачества. Но — приходится.
Какая цель приследовалась при переходе на Java 7? В ней конечно есть некоторые фишечки, но не так уж и много и не такие уж и фундаментальные…
Поддержка OpenType font collections. Наконец-то.
А можно полюбопытствовать, какой юзкейс решает связка Adobe InDesign Server CS5 + встраиваемая Java?
SVG диаграммы в документы вставлять в одном автоматизированном решении. Это было проще, чем конвертировать в растр и потом сражаться с непопаданием в pantones. «А у вас наш шестикомпонентный цвет на печати выглядит как россыпь точек — вы не попали в заданный CMYK color set!»

Поэтому взяли Apache Batik и дали ему нарисовать картинку на IGraphicsPort.

[irony]Так что уменьшили энтропию, сотня бангалорских индусов больше не выравнивает тысячи диаграмм в фотошопе каждый квартал.[/irony]

К слову, когда решали обратную задачу (нарезали InDesign документы в стопку одностраничных SVG) — использовали тот же подход в виде Apache PDFBox ;-)
Sign up to leave a comment.

Articles