-
13.03.2012
Майк Уолл акцентирует внимание на вопросе оптимизации и повышения производительности кода при переносе. Начиная с объяснения преимуществ архитектуры AMD64, автор обсуждает несколько методов повышения производительности кода, включая использование ключей компилятора, встроенных функций, ассемблера и много другое. В дополнение он также описывает преимущества инструмента CodeAnalyst при оптимизации кода. В статье вы найдете несколько полезных примеров кода.
-
14.02.2012
В своем посте, Брюс Доусон объясняет, каким методом пользуется он и его коллеги в Valve для поиска и исправления ошибок усечения указателей на 64-битных системах. Объяснение приводится на примере демонстрационного кода.
-
11.01.2012
В статье дается объяснение различий между 32-битными и 64-битными системами с точки зрения комплексной структуры компьютерной системы, состоящей из трех компонентов, или уровней: процессор, операционная система и приложения. Объясняются основные принципы архитектурной организации, а также приводятся ответы на самые распространенные вопросы о 32-битных и 64-битных системах.
-
30.11.2011
Прослойка WOW в 64-битной Windows и используемый ею механизм перенаправления создает проблемы при проведении проверок безопасности информационных систем. В статье раскрывается суть этих проблем, и даются объяснения, как приспособить существующие инструменты анализа для их решения.
-
06.10.2011
Автор на примере демонстрационного кода показывает, как нужно настроить компилятор и компоновщик, чтобы скомпилировать C++ приложение для 64-битной Windows. Каждый этап сопровождается комментариями.
-
06.09.2011
Данная заметка посвящена схеме организации стека в x64 архитектуре. Основной акцент делается на операционной системе Linux и других операционных системах, которые соответствуют официальной спецификации System V AMD64 ABI. Автор приводит схемы и примеры кода для пояснения специфики организации стека на платформе x64.
-
19.04.2011
Статья представляет собой большое исследование TDSS-семейства вредоносных программ и состоит из трех частей, каждая из которых освещает различные аспекты руткитов и буткитов семейства TDSS: описывается внутреннее устройство вредоносного ПО, механизмы распространения руткитов, особенности установки буткита на различных системах (x86 и x64) и встраивания в загрузочный сектор. Все процессы заражения системы подробно описаны и проиллюстрированы большим количеством таблиц, схем и рисунков.
-
17.06.2010
Поскольку 32-битные приложения все еще распространены и активно используются на 64-битных системах, полезно знать о некоторых характерных проблемах прослойки Windows 32-bit on Windows 64-bit (WOW64). В статье затрагиваются проблемы, связанные с ограничениями WOW64, механизмами перенаправления реестра и отражения реестра, механизмом перенаправления файловой системы, ссылками на файлы и переменные, связывания с 32-битными и 64-битными библиотеками DLL, установкой и запуском приложений и драйверами привилегированного режима. В соответствующих разделах автор рассказывает, как избежать этих проблем. В статье также приводятся примеры некоторых приемов работы с 32-битными и 64-битными приложениями в WOW64. В конце статьи вы найдете краткий перечень полезных привычек в работе с 32-битными программами на WOW64.
-
21.12.2009
Сведения о топологии процессора и кэша важны для управления различными процессорными действиями, такими как планирование задач, оптимизация производительности, соблюдение лицензионной политики и так далее. В статье объясняется принцип алгоритма учета топологии процессора и особенностях его реализации в процессоре архитектуры Intel® 64. Автор также затрагивает вопрос учета топологии кэша. Статья содержит несколько наглядных схем и приложение для примеров.
-
08.10.2009
Данный обширный раздел на сайте Корпорации Microsoft предлагают вниманию программистов большое количество статей и заметок на разнообразные темы, связанные с использованием 64-битных версий Windows, 64-битным программированием в целом и 64-битными платформами, и другие смежные темы. Вы найдете большое количество полезных советов и рекомендаций по работе на 64-битной системе с 64-битной версией Windows.
-
01.10.2009
Данная статья уделяет внимание проблемам, связанным с выравниванием данных применительно к семейству платформ Itanium и платформам x86 и x64 и затрагивает все важнейшие ошибки выравнивания. Автор объясняет, как устроено выравнивание данных, как избежать проблем, связанных с ним, и что делать, если это невозможно. В конце статьи он дает краткий список советов по решению проблем выравнивания данных как резюме всей статьи. Текст сопровождается графиками и примерами кода.
-
05.09.2009
В мире быстро развивающихся технологий программирования очень важно, чтобы все разработчики программного обеспечения пришли к решению, какой стандарт и модель программирования использовать в качестве универсальных в целях экономии времени и денег. The Open Group утверждает, что в сфере 64-битного программирования наилучшим решением будет модель LP64. Это заключение делается на основе результатов анализа и сравнения моделей ILP64 и LP64 по нескольким параметрам, каждый из которых подробно описан и прокомментирован. Среди таких параметров авторы выделяют переносимость, взаимодействие с 32-битными средами, соответствие стандартам, производительность и стоимость перехода.
-
03.08.2009
Очень внушительная статья, посвященная двум темам: архитектуре x64 и операционной системе Windows Vista. В соответствии с этими темами статья состоит из двух разделов. Первый раздел отводится x64 и описывает основные принципы сборки под эту архитектуру, программирования на C/C++ под ней, работы WOW64, взаимодействия процессов и многие другие аспекты. Второй раздел, посвященный Windows Vista, затрагивает принципы работы и усовершенствования данной операционной системы, а также разнообразные инструменты и механизмы обеспечения безопасности, некоторые проблемы, связанные с использованием сред Visual Studio и т.д. Кроме того, есть еще один раздел, в котором описывается технология .NET Framework 3.0 и интерфейсы к ней.Несмотря на то, что эта статья является далеко не полной и подробной, она послужит великолепным источником информации для тех программистов, которые осваивают архитектуру x64 и Windows Vista. Ее плюсы в доступном языке и живом стиле изложения, а также в огромном количестве примеров кода и поясняющих скриншотов.
-
26.07.2009
Данная статья представляет собой презентацию, затрагивающей большинство аспектов переноса 32-битного кода на платформу AMD64 под Windows, и включает несколько разделов: технология AMD64, где описываются некоторые особенности данной архитектуры, 64-битная Windows на AMD64, проблемы переноса, увеличение производительности на нескольких процессорах и рекомендации по инструментам и дополнительным ресурсам. Каждая секция содержит схемы, иллюстрирующие тот или иной аспект и основные положения. Главное преимущество данной статьи - в сжатом изложении, которое позволило коснуться множества действительно важных вещей.
-
05.07.2009
Статья "64-битный ODBC" предоставляет подробную информацию об использовании 64-битного ODBC на 64-битных платформах Linux, Unix и Windows. Благодаря подробному введению в сферу 64-битности и понятному описанию основных принципов этой технологии и ее преимуществ перед 32-битной, данный документ может послужить отличным руководством для каждого пользователя, который хочет знать, как работать с 64-битным ODBC. Авторы дают подробные инструкции по использованию различных ODBC драйверов на 64-битных платформах Linux, Unix и Windows, сопровождая их хорошими примерами. Кроме того, в статье присутствует секция FAQ, которая охватывает наиболее актуальные проблемы и вопросы, связанные с использованием 64-битного ODBC.
-
04.07.2009
Программисты, планирующие перенастроить проекты, созданные в средах Microsoft Visual Studio, под 64-битную версию Windows на процессорах AMD64, но сталкивающиеся с определенными трудностями, теперь получили хороший шанс реализовать свои планы: статья "Настройка совместимости проектов Microsoft Visual Studio с архитектурой AMD64" предоставляет всю необходимую информацию. В начале, идет перечень инструментов от Microsoft для AMD64, затем даются подробные инструкции и советы по настройке таких сред Microsoft Visual Studio как MVS 6, MVS .NET и MVS "Whidbey" для работы с инструментами командной строки AMD64. Кроме того, отдельный раздел посвящен отладке приложений на AMD64. Статья содержит множество поясняющих скриншотов.
-
17.06.2009
Хотя данная статья не является руководством, она, тем не менее, будет полезна многим разработчикам, сталкивающимся с задачей переноса 32-битного управляемого кода на 64-битные системы. Вначале кратко объясняются принципы работы 32-битного управляемого кода в 32-битной среде, а затем описываются проблемы его переноса в 64-битную среду с точки зрения нескольких аспектов: использования функции запуска платформы, COM-совместимости, опасного кода, упаковки данных и сериализации. При описании каждого аспекта даются рекомендации и примеры кода.
-
12.06.2009
Статья состоит из двух частей: "Введение в 64-битное программирование" и "64-битное программирование на практике". В первой части вы найдете описание основных различий между 32-битными и 64-битными исполняемыми файлами, интерфейсами Win32 и Win64 и процессорами x86 и x64 с точки зрения использования процессоров AMD64 и EM64T, работающих под 64-битной Windows. Вторая часть затрагивает различные практические аспекты 64-битного программирования и преобразования 32-битного кода в 64-битный, такие как изменения в типах данных, требования по выравниванию, использование Windows-структур в 64-битном программировании, выбор регистра и многое другое, в том числе вопросы оптимизации и доводки кода. В этом разделе даются важные указания и рекомендации по грамотному 64-битному программированию. Обратите внимание, что задача 64-битного программирования рассматривается в данной статье в рамках использования инструментов GoAsm, GoRC и GoLink, однако разработчикам, использующим другие инструменты, она будет также интересна.
-
08.06.2009
Написанная в юмористическом ключе, данная заметка призвана расставить все точки над "i" в вопросах управления памятью. Для тех программистов, которые имеют ложные представления о том, как это происходит, и путают понятия "физическая память", "оперативная память" и "виртуальная память", Эрик Липперт объясняет хитрости функционирования памяти и раскрывает истинные причины ошибки "недостаточно памяти".
-
21.05.2009
Если вы занимаетесь разработкой 64-битного ПО для 64-битных процессоров AMD, настоящая статья окажется для вас поистине бесценной. Ее основная цель - рассказать об особенностях использования Microsoft Platform Software Development Kit - инструментария, предназначенного для разработки 64-битных приложений под AMD64. Статья состоит из трех глав: в первой главе даются предварительные технические данные и предпосылки использования данного инструментария; во второй главе описывается процесс разработки приложений с использованием Microsoft Visual Studio .NET на 32-битной Windows системе; в третьей - использование Platform SDK при разработке или переносе приложений с применением Microsoft Visual Studio 6. Каждая глава содержит подробный алгоритм по установке и настройке всех необходимых инструментов.
-
18.05.2009
В данной статье затрагивается задача переноса приложения под 64-битный Linux на серверах HP Integrity. Она включает много разделов, описывающих основные проблемы, с которыми программист может столкнуться при переносе. Например, рассказывается о таких проблемах, как порядок байтов, стандартные определения типов, назначение указателей, сдвиг битов и т.д. В статье также имеется краткий список инструментов, которые могут помочь программисту в переносе приложений (Intel C++ Compiler, GCC, GDB, DDD, Splint). Текст снабжен множеством поясняющих таблиц и примеров кода.
-
13.04.2009
Совсем небольшая заметка о переносе 32-битного кода на 64-битную платформу, касающаяся некоторых проблем, на которые разработчики должны обратить внимание (использование типов данных, различающихся в 32-битном и 64-битном режимах) и дает пару советов по использованию модификатора printf.
-
12.04.2009
Перенос кода на 64-битные платформы сопровождается специфическими проблемами, связанными с изменениями размеров базовых типов и их взаимодействием. Ирвинг Рабин объясняет в своей статье, какие основные и наиболее серьезные проблемы могут возникнуть в ходе миграции кода и как решать их, используя инструменты статического анализа, чтобы сделать код архитектурно независимым. Автор затрагивает такие проблемы как изменение размеров указателей и типа long, преобразование указателей в типы integer, проблемы заполнения и некоторые другие. В статье даются рекомендации и правила для решения этих проблем и объясняются подходы, основанные на использовании статического анализа, для каждого случая.
-
12.03.2009
Статья посвящена типу size_t и его правильному использованию. В рамках этой статьи автор объясняет проблему переносимости кода и рассказывает, как использовать size_t для повышения переносимости, работоспособности и удобочитаемости кода, который вы хотите перенести.
-
03.03.2009
Статья затрагивает проблемы переноса 32-битного кода в 64-битную среду в рамках 64-битной архитектуры Intel. Эндрю Бинсток касается таких актуальных проблем как изменение размеров базовых типов: указателей, int и long на различных платформах, перенос драйверов устройств и совместимость двоичных файлов. В тексте статьи также часто встречаются ссылки на полезные ресурсы, посвященные обсуждаемым проблемам.
-
26.02.2009
Долгое сотрудничество между Linux и процессорами Intel сделало возможным почти безболезненный перенос Linux-приложений на 64-битный процессор Intel Itanium. В статье подробно рассматривается каждый этап этого процесса и дается множество рекомендаций по разным его аспектам: использование команд, типов данных, избежание проблем, связанных с уплотнением, заполнением и выравниванием данных, и т.д. Каждый пункт проиллюстрирован примерами кода.
-
23.02.2009
Написанная в несколько ироничном ключе, статья рассматривает причины нехватки качественного 64-битного программного обеспечения в быстро развивающемся мире 64-битных процессоров. Автор цитирует некоторых известных разработчиков программного обеспечения, работающих в различных компаниях, и приходит к выводу, что основная причина указанной проблемы - в отсутствии мотивации для полноценного перехода на 64 бита. Статья будет интересна всем программистам и пользователям, имеющим дело с 64-битными компьютерами.
-
12.02.2009
В данной заметке автор объясняет, как настроить Visual C++ 2008 Express Edition для компиляции с его помощью приложений под 64-битную Windows. В заметке даются подробные инструкции и советы, как использовать возможности компилятора в полной мере. Как замечает автор, несмотря на то, что предложенное им решение может быть довольно опасным, оно стоит того, чтобы использовать его.
-
23.01.2009
Отсутствие полноценной поддержки инструкции CPUID в среде Microsoft Visual Studio .NET 2005 на платформах x64, побудило автора написать три примера кода, демонстрирующие более эффективное использование функций _CPUID и _RDTSC в 64-битном режиме, сопроводив их подробными комментариями.
-
13.01.2009
Данная статья охватывает широкий спектр аспектов 64-битного программирования на Visual C++: она включает таблицу с описанием 64-битных компиляторов для двух платформ Windows на основе x64 и Itanium, краткий обзор некоторых особенностей процессора Itanium, проблем миграции 64-битного кода в Visual C++, инструментов для миграции, изменения в C++ библиотеках и многое другое. Большинство разделов содержат ссылки на полезные ресурсы. Также есть большой раздел FAQ, охватывающий многие стороны разработки под 64-битном Windows.
-
11.12.2008
В этой статье автор касается такой специфической возможности Visual C++ как использование псевдо-переменных и спецификаторов формата. После краткого описания различий между процессорами архитектур x86 и x64, Кенни Керр предлагает список наиболее полезных псевдо-переменных и поясняет их функции. Точно так же он перечисляет некоторые спецификаторы формата и их назначение. Кроме того, дается несколько примеров, как можно использовать псевдо-переменные и спецификаторы формата в визуализации соглашений о вызовах, кодах ошибок и отладке в контексте безопасности.
-
26.10.2008
Настоящая заметка описывает поэтапно процесс сборки 64-битного запускающего файла с использованием Visual Studio 6. Всего таких этапов пять, и каждый из них подробно разъясняется. Кроме самих инструкций вы найдете некоторые полезные советы по отладке перенесенного проекта и не менее полезные ссылки по проблемам перехода на 64 бита.
-
24.08.2008
Статья "32-битные указатели в 64-битном мире" затрагивает актуальный вопрос эффективного использования 32-битных указателей в 64-битной среде с целью прироста производительности. Автор описывает принципы работы функции 'sptr', предназначенной для выравнивания данных, а также особенности и ограничения ее использования. Статья содержит большое количество наглядных и подробных примеров кода, иллюстрирующих механизмы кодирования 64-битных указателей в 32-битные.
-
15.07.2008
Очень полезный документ, предоставляющий сведения об основных проблемах, связанных с разработкой драйверов для 64-битных версий Windows. Он включает предварительные инструкции по подготовке к работе, технические данные, касающиеся типов данных и памяти, советы и указания по созданию и переносу драйверов. Многие пункты дополнены наглядными примерами кода, иллюстрирующими некоторые из описанных проблем.
-
11.04.2008
Индустрия компьютерных игр может значительно выиграть от перехода на 64-битные процессоры, и Microsoft Game Technology Group решила поделиться с разработчиками игр важной информацией по переносу 32-битного кода на 64-битные платформы. Статья затрагивает основные проблемы, касающиеся таких аспектов как усечение указателей, типы данных и двойные файлы, старые интерфейсы прикладных приложений Win32 и выравнивание данных, ассемблерный код и непопулярные интерфейсы и т.д., а также дает несколько советов, как избежать этих проблем и улучшить быстродействие игр.
-
03.11.2007
Несмотря на то, что 64-битные процессоры предоставляют доступ к 64-битному адресному пространству виртуальной памяти, современным компьютерам пока не требуется такой объем. В силу этого, а также в целях упрощения архитектуры, спецификация AMD64 позволяет адресовать только 48 бит, в то время как ограничение по адресации в Windows составляет 44 бита. Автор объясняет, каким образом использование битов, нереализованных в современных процессорах, во вспомогательных целях может привести к непредсказуемым результатам, и советует заранее предусматривать возможные проблемы и создавать масштабируемые приложения.
-
11.06.2007
Иногда программист может столкнуться с ситуацией, когда невозможно перенести библиотеку DLL на 64-битную систему вместе с основным модулем, а доступ к ней по-прежнему необходим. В этой статье объясняется, как его можно получить, используя COM-объект, и рассказывается, какие моменты следует принять во внимание при этом - в частности проблемы выравнивания, типов данных, использования функции COM initialize, вопросы безопасности, быстродействия, процесса перенаправления в подсистеме WOW, переноса модулей ядра и реализации процедуры установки.
-
17.04.2007
Написанная живым языком, статья представляет собой обзор преимуществ 64-битной технологии перед 32-битной, и в частности затрагивает 64-битные операционные системы Windows. В статье несколько разделов, которые посвящены описанию основных особенностей 64-битных Windows-систем и проблем, связанных с их использованием, а также обзору некоторых проблем 64-битного переноса и рекомендаций по миграции приложений. Несмотря на краткость, статья сообщает полезную информацию о том, как решать 64-битные проблемы. Кроме того, она содержит несколько интересных примеров кода.
-
19.03.2007
Несмотря на свою молодость, платформа AMD64 предоставляет огромное количество разнообразных инструментов для операционной системы Linux. В статье "Linux-инструментарий для AMD64-разработчиков" кратко рассматриваются некоторые компиляторы и отладчики Linux разных производителей для платформы AMD64 с описанием их характерных черт и возможностей. Статья также снабжена скриншотами некоторых инструментов.
-
10.10.2006
Цитируя афоризм Джорджа Сантаяны "Тот, кто не помнит своего прошлого, осужден на то, чтобы пережить его вновь", автор предлагает подробный обзор истории развития компьютерной индустрии от ранних решений и технологий до современных проблем 64 бит с целью сформулировать уроки прошлого, которые стоит усвоить. Написанная живым и в некоторой степени ироничным языком, статья содержит серьезный и детальный анализ решений, тенденций и ошибок прошлого; особое внимание уделяется развитию технологии 64 бит и проблемам, связанным с ней.
-
14.09.2006
Статья предназначена для Linux-разработчиков, которые планируют разрабатывать 64-битный код для процессоров AMD64. Автор предлагает краткий обзор основных программных инструментов для Linux, уделяя особое внимание набору инструментов с открытым кодом GNU. Вы познакомитесь со списком некоторых новых ключей командной строки, необходимых каждому разработчику 64-битного программного обеспечения и другими полезными функциями. Кроме того, описан инструментарий GCC Binutils, предназначенный для работы с бинарными файлами. В заключение автор перечисляет некоторые другие ценные инструменты для Linux.
-
30.06.2006
Как пишет Джон Пол Меллер, "многих разработчиков не страшит задача переноса приложений с 32-битной платформы на 64-битную; проблема в том, что они не знают, как начать". В данной статье, автор предлагает 24 совета, которые стоит принять во внимание перед началом переноса. Они охватывают самые различные аспекты переноса приложений, начиная с советов по использованию структур и типов данных и заканчивая рекомендациями по созданию удобных инсталляционных пакетов, дружелюбных для 64-битной системы. Несмотря на краткость этих указаний, в них вы найдете всю необходимую информацию.
-
28.06.2006
Среда Visual Studio 2005 предоставляет разработчикам хорошую возможность легко создавать 64-битные версии приложений. Статья объясняет, как использовать эту возможность с наилучшим результатом. Автор дает основные рекомендации по настройке среды .NET Framework, рассказывает, где приобрести ее 64-битную версию и 64-битные инструменты, а также затрагивает некоторые специфичные для 64-битных .NET приложений проблемы, такие как использование вызовов PInvoke, COM компонентов и генератора отчетов Crystal reports.
-
28.06.2006
Интересная статья, посвященная предпринятому Microsoft эксперименту по замене 32-битных Интернет-серверов 64-битными серверами с 64-битным процессором AMD Opteron и платформой Windows Server 2003 x64 Edition. Помимо понятного и яркого языка, большим плюсом данной статьи является подробный анализ причин такого шага со ссылками на доклад, опубликованный Microsoft, и глубокое изучение его удивительных результатов.
-
27.06.2006
В своей статье Андерсон Бейли объясняет, каким образом 64-битный режим способствует ускорению арифметики и, следовательно, быстродействию приложений со сложной арифметикой. Он дает краткое описание принципов и целей трех типов арифметики, используемых в 32-битном режиме (GPRs, x87 registers и SIMD registers) и анализирует механизмы повышения их производительности в 64-битном режиме, предоставляемые архитектурой AMD64. Автор также делает некоторые выводы по поводу тех областей разработки программного обеспечения, для которых такое ускорение арифметики будет особенно полезным.
-
12.05.2006
Разработчики Linux-приложений, перед которыми стоит задача переноса своих программ на 64-битную архитектуру, найдут много полезного в этой статье. Начиная с краткого обзора ограничений 32-битной архитектуры и преимуществ 64-битной, автор затрагивает особенности 64-битной Linux архитектуры и затем дает множество ценных советов для решения разнообразных типичных проблем перехода с 32-битной системы на 64-битную, касающихся описаний, выражений, присваиваний, численных констант и многих других аспектов. Каждый пункт проиллюстрирован примером кода.
-
11.05.2006
Мэтт Питрек делится с разработчиками своим опытом работы с Win64 и архитектурой x64 и предоставляет полезную информацию по 64-битному программированию. Статья состоит из трех основных частей. В первой части автор обсуждает некоторые подробности реализации Windows на архитектуре x64, включая такие вопросы как объем памяти, адресного пространства, работа с исключениями и т.д. Вторая часть касается набора инструкций самой архитектуры x64. Третий раздел посвящен разработке под x64 в среде Visual C++ и включает инструкции по настройке среды, решению некоторых проблем адаптации приложения под Win64 и его отладке. Статья содержит большое количество примеров кода и поясняющих таблиц и скриншотов. Выразительный стиль изложения - также одно из достоинств данной статьи.
-
11.05.2006
Как видно из заголовка, данная статья предназначена для разработчиков, занимающихся созданием приложений, инструментальных средств компилятора и виртуальных машин под многопроцессорные системы AthlonT 64 и OpteronT на архитектуре ccNUMA под операционной системой Windows. Во введении автор обсуждает преимущества архитектуры ccNUMA перед традиционными симметрическими многопроцессорными системами. Далее он описывает экспериментальное окружение, в котором проводились испытания быстродействия, а также дает указания по чтению и интерпретации графиков. В следующем разделе дается детальный анализ результатов предпринятого теста на синтетической схеме и рекомендации по увеличению быстродействия, касающиеся распределения потоков, расположения данных и совместного использования строк кэша. Кроме того, автор развенчивает некоторые "мифы" относительно "прыжков" при обращении к памяти. Большой плюс данной статьи - доскональное изучение проблем быстродействия и понятное изложение результатов. Многие рекомендации также снабжены графиками.
-
11.04.2006
Статья касается проблем, с которыми сталкивается разработчик при переносе 32-битного приложения на процессор x64, и включает несколько разделов, в которых объясняются причины для осуществления переноса, приводятся некоторые факты, которые стоит принять во внимание, и описываются этапы переноса приложения на 64-битную платформу. Статья затрагивает только общие моменты и в довольно краткой форме, однако она может оказаться хорошим введением в проблему переноса 32-битных Си++ приложений на платформу x64 для тех, кто с ней только столкнулся.
-
31.03.2006
В своей статье Аллан МакНотон затрагивает проблемы взаимодействия 32-битных и 64-битных процессов в смешанных приложениях, которые служат одним из способов преодолеть пропасть между 32-битным и 64-битным режимами. Автор уделяет особое внимание WOW64 и описывает принцип его работы, а также приводит типичный пример проблемы взаимодействия, вызванной смешанным использованием 64-битных указателей и общей памяти.
-
24.03.2006
Вам хотелось бы увидеть универсальный магазин, в котором есть все, что необходимо для разработки 64-битного программного обеспечения? Такое место существует - AMD Developer Central. С помощью Аллана МакНотона вы узнаете о преимуществах этого ресурса, а также огромном количестве услуг и инструментов, которые там предлагаются. Например, для многих разработчиков хорошей новостью будет то, что теперь такие популярные инструменты как AMD CodeAnalyst, AMD Core Math Library и AMD SimNow, применяемые для повышения производительности кода, при написании низкоуровневого кода и т.д., абсолютно бесплатны. А ведь существует еще очень много других областей, в которых вы сможете преуспеть благодаря AMD Developer Central.
-
23.03.2006
В небольшой записи в своем блоге автор рассказывает об идее освещать проблематику 64-битного программирования для широкой аудитории. Как видим, эта идея вылилась в своего рода еженедельный электронный журнал "64-битный Инсайдер", который предоставляет интересные сведения обо всем, что связано с 64-битным программированием. Основной плюс этих публикаций - в их легком для восприятия языке, так что даже новички в сфере миграции приложений и разработки 64-битного программного обеспечения смогут вынести много полезного из этих материалов.
-
01.02.2006
В этой статье авторы делятся своим опытом по переносу приложения с поддержкой 11 операционных систем в 64-битную среду. Исходя из этого опыта, они выделяют две главные проблемы кросс-платформенной миграции: несоответствие типов integer, long и указателей и скрытые описания функций. Они также затрагивают некоторые скрытые проблемы, а в конце статьи дают ценные советы по улучшению кода и приводят список полезных 64-битных инструментов и техник. Статья будет интересна всем программистам, и в особенности - тем, кто сталкивается с задачей переноса кросс-платформенных приложений с большим кодом на 64-битные системы.
-
01.10.2005
Ошибки работы с памятью могут стать причиной большого количества проблем при миграции на 64-битные платформы. Рич Ньюман хочет поделиться некоторыми рекомендациями о том, как исправить ошибки памяти перед переносом приложения. Он касается природы сложностей, возникающих при переходе на 64 бита, и поэтапно объясняет, как обнаруживать и исправлять ошибки с помощью, так называемого мутационного тестирования. Вы также найдете несколько советов по обнаружению проблем в самом 64-битном коде.
-
07.03.2005
В своей небольшой, но содержательной статье Конрад Картер обращает внимание на эффективное использование ключей в компиляторах C/C++ для обеспечения набольшей производительности и хорошей переносимости 64-битного кода. Конкретно, он рассматривает компиляторы Visual C++ 2005 и gcc 3.3.3. Для каждого компилятора приводится список наиболее полезных ключей, а также подробные инструкции по их использованию. В заключение автор коротко касается библиотеки AMD Core Math Library.
-
31.01.2005
Еще одна короткая заметка в блоге Рэймонда Чена, где он объясняет причины выбора командой Win64 модели данных LLP64, демонстрируя на примере рациональность такого выбора.
-
11.01.2005
Как известно, основной причиной проблем, возникающих при преобразовании 32-битных приложений в 64-битные, является изменение размеров типов long и указателей. Исходя из этого, авторы статьи предлагают несколько очень полезных правил использования типов, соблюдение которых поможет вам избежать данных проблем. Они затрагивают разнообразные методы улучшения кода и проиллюстрированы подробными примерами.
-
19.10.2004
Перенос приложений под 64-битный режим процессора PowerPC 970FX - специфическая задача, и Мэтт Тирлик хочет поддержать разработчиков и помочь им решить основные проблемы, связанные с переносом существующего 32-битного кода на новую вычислительную модель. Статья состоит из трех разделов. В первом разделе описываются основные проблемы, с которыми можно столкнуться при переносе программ на языке C под 64-битный режим процессора PowerPC 970FX. Здесь затрагиваются изменения типов данных, адресная арифметика, указатели функций и опции компилятора. Вторая часть посвящена проблемам переноса 32-битных приложений на ассемблере в 64-битный режим и касается TOC-программирования, объектов данных и вызовов функций ассемблера и т.д. Третий раздел описывает необходимые изменения для программ системного уровня. Текст снабжен большим количеством примеров кода.
-
21.07.2004
Перенос кодеков мультимедиа в 64-битную среду сопровождается некоторыми трудностями, но когда он производится грамотно, то дает большой прирост производительности. Статья акцентирует внимание на проблемах переноса и способах их решения. Она состоит из двух частей: "Трудности переноса" и "Методы оптимизации". В первом разделе автор описывает препятствия, с которыми разработчик может столкнуться перед началом переноса, и дает несколько советов, как избежать их: это использование команд SSE/SSE2 вместо MMX и 3DNow!, встроенных средств вместо встроенных блоков на ассемблере и использование переносимых масштабируемых типов данных. Второй раздел затрагивает несколько методов оптимизации процесса переноса. Они включают в себя использование расширенных 64-битных регистров общего назначения, развертывания циклов, выровненные обращения к памяти и многое другое. Каждый метод подробно описан и проиллюстрирован схемами и примерами кода различных кодеков. Кроме того, в статье содержится заметка об инструментах для оценки переноса и производительности кодеков, и особое внимание уделяется инструменту CodeAnalyst.
-
20.01.2004
Данная статья рассматривает арифметику с плавающей запятой для числового расчета на примере сложения квадратных корней на различных архитектурах. Результаты вычисления подробно сравниваются и описываются в таблицах. Также обсуждаются проблемы уровня точности и того, что считать "правильным" результатом. Статья будет интересна для каждого программиста, сталкивающегося с вычислениями с плавающей запятой.
-
14.01.2004
В этой короткой заметке в блоге Рэймонд Чен затрагивает архитектуру AMD64 и дает несколько советов по работе с ее регистрами, сопровождая их примерами кода.
-
11.11.2001
Исходя из собственного опыта по модификации приложения Nile для 64-битной версии Microsoft .NET Advanced Server, автор обсуждает проблему переноса приложений на 64-битные системы. Он приводит некоторые рекомендации по подготовке исходного кода к беспрепятственному переносу и описывает проблемы, связанные с изменением в типах данных и выравниванием памяти. В конце статьи дается список некоторых хороших практик при работе с 64 битами, которые стоит запомнить.
-
04.12.1997
Начиная с краткой истории системы UNIX и развития компьютерной индустрии, Эндрю Джозей описывает 64-битные модели данных (LP64, ILP64, LLP64), принципы их реализации, их особенности и проблемы переноса кода, обусловленные различиями между 32-битными и 64-битными моделями данных. Далее он рассказывает о принципе независимости спецификаций UNIX от размеров данных, а также о некоторых дополнительных проблемах переноса кода на платформу, использующую модель данных LP64, связанных с объявлением типов, присваиваниями и параметрами функций, внешними интерфейсами, использованием констант, указателей и т.д. Автор также дает некоторые указания, как избежать этих проблем.