среда, 14 декабря 2016 г.

#1324. Коротко. Прогресс портирования под Win64

Портирую наши проекты под Win64.

1. Собрал и запустил консольные тесты. Все прошли.
2. Собрал и запустил скриптованные консольные тесты. Все прошли.
3. Собрал и запустил скриптованные тесты под GUITestRunner. Все прошли.
4. Собрал и запустил небольшой набор GUI-тестов. Все прошли.
5. Сейчас работаю над собираемостью всех имеющихся в наличии GUI-тестов.
6. Собрал читатели/писатели формата EVD, а также его фильтры. Тесты пока не запускал.
7. Портировал под Win 64 наши доработки DUnit.
8. Портировал кодогенерацию.

Попутно разобрался с соглашениями о вызовах под Win 64.

Научился делать заглушки (stubs) для вызовов локальных функций из итераторов без использования анонимных функций.

Часть локальных функций заменил на анонимные. Есть мыли как сделать прозрачное преобразование одного в другое.

Порадовал тот факт, что компилятор не даёт приводить Integer и Cardinal к Pointer. Это позволяет отсечь много ошибок уже на этапе компиляции.

Описанный процесс занял порядка полутора-двух месяцев (тут зависит - считать ли дополнительную подготовительную работу).

Для портирования использовал Delphi XE4, т.к. у нас на неё куплены лицензии.

Из стороннего пока не собраны - miniLZO и ImageEn. Там линкуются объектные файлы 64-хбитную версию которых надо где-то найти.

Комментариев нет:

Отправить комментарий