64 бит в винде и в Linux (*nix)
От: Michael7 Россия  
Дата: 08.11.10 15:06
Оценка: +2 -1
Не могу сказать, что переход на 64 бита (amd64) в Linux был вовсе беспроблемным, но в целом, 64-битные дистрибутивы с внимание, нативными 64-битными программами, появились практически одновременно с выходом на рынок процессора Opteron. Далеко не все были перекомпилированы под 64 бита, но где-то к 2007 году почти все более-менее заметные OpenSource программы уже существовали в 64-битном варианте. Сейчас я вообще, глядя в репозиторий, затрудняюсь сказать есть ли там не проприетарные 32bit only. А то что есть, не так и плохо работают и из под 64-битного окружения.

С Windows же, как всегда, все не просто так. Разные Programm Files, отсутствие встроенного 64 ассемблера в VC++ и т.д и т.п.
Re: 64 бит в винде и в Linux (*nix)
От: ononim  
Дата: 08.11.10 15:11
Оценка:
M>С Windows же, как всегда, все не просто так. Разные Programm Files, отсутствие встроенного 64 ассемблера в VC++ и т.д и т.п.
Ассемблер в VC есть. Просто он не инлайновый.
Как много веселых ребят, и все делают велосипед...
Re: 64 бит в винде и в Linux (*nix)
От: hattab  
Дата: 08.11.10 15:15
Оценка: +2
Здравствуйте, Michael7, Вы писали:

M> Не могу сказать, что переход на 64 бита (amd64) в Linux был вовсе беспроблемным, но в целом, 64-битные дистрибутивы с внимание, нативными 64-битными программами, появились практически одновременно с выходом на рынок процессора Opteron. Далеко не все были перекомпилированы под 64 бита, но где-то к 2007 году почти все более-менее заметные OpenSource программы уже существовали в 64-битном варианте. Сейчас я вообще, глядя в репозиторий, затрудняюсь сказать есть ли там не проприетарные 32bit only. А то что есть, не так и плохо работают и из под 64-битного окружения.


M> С Windows же, как всегда, все не просто так. Разные Programm Files, отсутствие встроенного 64 ассемблера в VC++ и т.д и т.п.


Просто 64 бита нужны далеко не всем
avalon 1.0rc3 rev 366, zlib 1.2.3
Re[2]: 64 бит в винде и в Linux (*nix)
От: Michael7 Россия  
Дата: 08.11.10 17:01
Оценка:
Здравствуйте, hattab, Вы писали:

H>Просто 64 бита нужны далеко не всем


Это да, но вот откуда столько каких-то заноз в портировании виндовых программ я не понимаю. В Linux практически нет системно-зависимых проблем с этим, только в основном всякие нюансы, связанные с размерностью типов. И это при том, что вообще-то MS уже давно выпускала 64-битные версии. С самого начала WinNT существовала в 64-битном варианте для платформ MIPS и Alpha, как минимум.
Re[3]: 64 бит в винде и в Linux (*nix)
От: nullptr_t  
Дата: 08.11.10 17:19
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Это да, но вот откуда столько каких-то заноз в портировании виндовых программ я не понимаю.


в линукс, если я не ошибаюсь, сменили размерности типов данных; а в винде прикрутили аццкий костыль — злоеб#%чую WoW — чтобы всякие интерпрайз-педенги были довольны
Re[3]: 64 бит в винде и в Linux (*nix)
От: hattab  
Дата: 08.11.10 17:46
Оценка:
Здравствуйте, Michael7, Вы писали:

M> H>Просто 64 бита нужны далеко не всем


M> Это да, но вот откуда столько каких-то заноз в портировании виндовых программ я не понимаю. В Linux практически нет системно-зависимых проблем с этим, только в основном всякие нюансы, связанные с размерностью типов. И это при том, что вообще-то MS уже давно выпускала 64-битные версии. С самого начала WinNT существовала в 64-битном варианте для платформ MIPS и Alpha, как минимум.


Просто если софту не нужны 64 бита, зачем разработчику выпускать (а потом еще и поддерживать) две версии одного и того же софта Коли 32 софт битный прекрасно работает под 64 битной ОС, и при этом не теряет в функциональности, так и напрягаться особого смысла нет. А на счет заноз... А какие есть, кроме размерности типов?
avalon 1.0rc3 rev 366, zlib 1.2.3
Re[4]: 64 бит в винде и в Linux (*nix)
От: Michael7 Россия  
Дата: 08.11.10 18:13
Оценка:
Здравствуйте, nullptr_t, Вы писали:

_>в линукс, если я не ошибаюсь, сменили размерности типов данных; а в винде прикрутили аццкий костыль — злоеб#%чую WoW — чтобы всякие интерпрайз-педенги были довольны


WoW в данном случае совершенно не причём, он к портированию никакого отношения не имеет. Как раз с размерностью данных так, что по умолчанию, в Linux, скорее в gcc (умолчание можно изменить) long 64-битный, а в Windows — 32-битный. int везде 32-битный. Мелочь, но в винде немало функций, чей результат в виде указателя приводится к виду:

LONG WINAPI какая-то функция

в результате облом наступает чаще, чем просто в случае аргументов типа long, хуже того, если результат помещает в первые 4Гб все может работать довольно долгое время нормально. А заради совместимости в 64-битной винде придумали функции из API с окончанием Ex (GetFileSizeEx). И подобных костылей, трахающих мозг немало.
Re[4]: 64 бит в винде и в Linux (*nix)
От: Michael7 Россия  
Дата: 08.11.10 18:16
Оценка:
Здравствуйте, hattab, Вы писали:

H>Просто если софту не нужны 64 бита, зачем разработчику выпускать (а потом еще и поддерживать) две версии одного и того же софта Коли 32 софт битный прекрасно работает под 64 битной ОС, и при этом не теряет в функциональности, так и напрягаться особого смысла нет. А на счет заноз... А какие есть, кроме размерности типов?


В другом посте привел пример с приведением указателя к LONG WINAPI в ряде стандартных функций и введении для этого костыля с Ex. Все решается конечно, просто вот возникает ощущение какой-то возни на ровном месте и лишнем усложнении.
Re[5]: 64 бит в винде и в Linux (*nix)
От: nullptr_t  
Дата: 08.11.10 18:29
Оценка:
Здравствуйте, Michael7, Вы писали:

M>WoW в данном случае совершенно не причём, он к портированию никакого отношения не имеет. Как раз с размерностью данных так, что по умолчанию, в Linux, скорее в gcc (умолчание можно изменить) long 64-битный, а в Windows — 32-битный. int везде 32-битный. Мелочь, но в винде немало функций, чей результат в виде указателя приводится к виду:


M>LONG WINAPI какая-то функция


M>в результате облом наступает чаще, чем просто в случае аргументов типа long, хуже того, если результат помещает в первые 4Гб все может работать довольно долгое время нормально. А заради совместимости в 64-битной винде придумали функции из API с окончанием Ex (GetFileSizeEx). И подобных костылей, трахающих мозг немало.


я вас неправльно понял
Re: 64 бит в винде и в Linux (*nix)
От: Antikrot  
Дата: 08.11.10 18:30
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Сейчас я вообще, глядя в репозиторий, затрудняюсь сказать есть ли там не проприетарные 32bit only. А то что есть, не так и плохо работают и из под 64-битного окружения.

если я правильно помню установку бубунты по-умолчанию, вообще не работают.

M>С Windows же, как всегда, все не просто так. Разные Programm Files

ты ещё скажи что в линухе не разные. да такие не разные, что отличаются по именам в разных дистрибутивах.
Re[3]: 64 бит в винде и в Linux (*nix)
От: nullptr_t  
Дата: 08.11.10 18:37
Оценка: :)))
Здравствуйте, Michael7, Вы писали:

M>вот откуда столько каких-то заноз в портировании виндовых программ я не понимаю. В Linux практически нет системно-зависимых проблем с этим, только в основном всякие нюансы, связанные с размерностью типов. И это при том, что вообще-то MS уже давно выпускала 64-битные версии. С самого начала WinNT существовала в 64-битном варианте для платформ MIPS и Alpha, как минимум.


именно. линух не может похвастаться такой совместимостью (да вообще никакой не может)
а в винде, на мой взгляд, проблемы давно решены отметкой например что "используйте GetWindowLongPtr вместо GetWindowLong", добавлением GetFileSizeEx и т.п. зато всё старое работает. хотите нового? добавьте -Ex
ы?
Re[2]: 64 бит в винде и в Linux (*nix)
От: Michael7 Россия  
Дата: 08.11.10 18:46
Оценка:
Здравствуйте, Antikrot, Вы писали:

A>если я правильно помню установку бубунты по-умолчанию, вообще не работают.


Не работаю с бубунтой В Debian же и wine (он правда не проприетарный) нормально работает и ряд других вещей.

M>>С Windows же, как всегда, все не просто так. Разные Programm Files

A>ты ещё скажи что в линухе не разные. да такие не разные, что отличаются по именам в разных дистрибутивах.

Вот не поверишь, именно в контексте портирования это вообще никаких забот не доставляет. А вот два смежных реестра в 64-битной — да. В общем, каждая из проблем, не сказать бы, что особо крупная и создающая большие сложности, но чисто субъективное ощущение, что их больше, чем в Linux.
Re[4]: 64 бит в винде и в Linux (*nix)
От: Michael7 Россия  
Дата: 08.11.10 18:53
Оценка: 1 (1) +1
Здравствуйте, nullptr_t, Вы писали:

_>именно. линух не может похвастаться такой совместимостью (да вообще никакой не может)


Это отдельный разговор. И это не совсем так.

_>а в винде, на мой взгляд, проблемы давно решены отметкой например что "используйте GetWindowLongPtr вместо GetWindowLong", добавлением GetFileSizeEx и т.п. зато всё старое работает. хотите нового? добавьте -Ex

_>ы?

Понимаешь, одни проблемы решены, другие введены. В Linux, например, никто не добавлял 64-битных аналогов таких функций. Мне кажется, это следствие того,что менеджмент в MS все время более склонен решить сиюминутные проблемы, но порушить системную стройность.
Re[5]: 64 бит в винде и в Linux (*nix)
От: nullptr_t  
Дата: 08.11.10 19:11
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Понимаешь, одни проблемы решены, другие введены. В Linux, например, никто не добавлял 64-битных аналогов таких функций. Мне кажется, это следствие того,что менеджмент в MS все время более склонен решить сиюминутные проблемы, но порушить системную стройность.


менеджмент MS все время более склонен к решению проблем enterprise, который медленный и неповоротливый, зато очень дойный (имхо)
к тому же линух сразу был 32бита, а винда тащит на горбу жуткое наследие win16
Re[2]: 64 бит в винде и в Linux (*nix)
От: Anton Batenev Россия https://github.com/abbat
Дата: 08.11.10 19:34
Оценка:
Здравствуйте, hattab, Вы писали:

h> Просто 64 бита нужны далеко не всем


На серверном железе я уже пару лет не наблюдаю x32, разве что у хостеров типа infobox (ну так там и "сервера" в десктопных корпусах).
avalon 1.0rc3 rev 366, zlib 1.2.3
Re[6]: 64 бит в винде и в Linux (*nix)
От: Sheridan Россия  
Дата: 08.11.10 19:38
Оценка:
Приветствую, nullptr_t, вы писали:

n>а винда тащит на горбу жуткое наследие win16

Это оправдание? имхо это еще один гвоздь.
avalon 1.0rc3 rev 306, zlib 1.2.3 (17.12.2009 01:06:14 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[5]: 64 бит в винде и в Linux (*nix)
От: hattab  
Дата: 08.11.10 20:48
Оценка:
Здравствуйте, Michael7, Вы писали:

M> В другом посте привел пример с приведением указателя к LONG WINAPI в ряде стандартных функций и введении для этого костыля с Ex. Все решается конечно, просто вот возникает ощущение какой-то возни на ровном месте и лишнем усложнении.


А, ты об этом... Ну не столь оно страшным выглядит Я просто думал будет что-то не описанное в Platform SDK.
avalon 1.0rc3 rev 366, zlib 1.2.3
Re[6]: 64 бит в винде и в Linux (*nix)
От: Michael7 Россия  
Дата: 08.11.10 20:56
Оценка:
Здравствуйте, hattab, Вы писали:

H>А, ты об этом... Ну не столь оно страшным выглядит Я просто думал будет что-то не описанное в Platform SDK.


Но в итоге, взять допустим, браузеры. Firefox для Linux я уже не помню, когда был AThlon64, но еще не существовала 64-битная версия. И плагины к нему есть 64-битные под Linux. Для винды же у Firefox 64-битная версия появилась недавно, причем плагинов под нее фактически нет. Что мешает? Чего-то тормозит в разработке в итоге.
Re[3]: 64 бит в винде и в Linux (*nix)
От: hattab  
Дата: 08.11.10 21:08
Оценка: +1
Здравствуйте, Anton Batenev, Вы писали:

AB> h> Просто 64 бита нужны далеко не всем


AB> На серверном железе я уже пару лет не наблюдаю x32, разве что у хостеров типа infobox (ну так там и "сервера" в десктопных корпусах).


Я же не написал, что 64 бита никому не нужны
avalon 1.0rc3 rev 366, zlib 1.2.3
Re[7]: 64 бит в винде и в Linux (*nix)
От: hattab  
Дата: 08.11.10 21:20
Оценка:
Здравствуйте, Michael7, Вы писали:

M> Но в итоге, взять допустим, браузеры. Firefox для Linux я уже не помню, когда был AThlon64, но еще не существовала 64-битная версия. И плагины к нему есть 64-битные под Linux. Для винды же у Firefox 64-битная версия появилась недавно, причем плагинов под нее фактически нет. Что мешает? Чего-то тормозит в разработке в итоге.


Так может та же самая оправданность и мешает Браузеры пока в адресное пространство не упираются, а с приходом мультипроцессорной модели им это вообще не грозит. Так что стоит ли... Почему он под Линуксом 64 битный... Может сказывается то обстоятельство, что на 64 битном дистре, без 32 битных библиотек, 32 битные приложения не заработают, а библиотеки еще поставить нужно
avalon 1.0rc3 rev 366, zlib 1.2.3
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.