2010-11-08 2 views
0

Я пытаюсь проверить мою статическую библиотеку, которую я использовал для сборки в win xp 32bit. Итак, я сделал тестовое приложение, которое использует статический lib для печати кода.Как протестировать приложение

Теперь я хотел увидеть его поведение на 64-битной ОС. Как мне это сделать? Нужно ли мне установить vs2008 на этом и создать тестовое приложение на нем, а затем загрузить мою статическую библиотеку и построить ее там? Или есть способ, которым я могу просто переносить существующее приложение exe и static lib на 64-битную машину?

Также верно, что на 64-разрядной ОС мне нужно иметь 32-битное приложение для запуска статической библиотеки, созданной в 32-битной среде?

Цель состоит в том, чтобы проверить, будет ли моя статическая библиотека работать в среде с 64-мя битами. Также обратите внимание, что они будут устанавливать эту старую библиотеку на нескольких компьютерах, поэтому я не ожидаю никакого доступа к сети как таковой.

Один API, который я им даю, использует const char * в качестве входного параметра, так как я использую строки внутри. Не уверен, что мне нужно создать необязательный параметр __int64, а затем преобразовать его в строку внутри.

ответ

0

Напишите хорошие модульные тесты, постройте их на 64-битной платформе и выполните. Если некоторые модульные тесты терпят неудачу, у вас есть проблема.

+0

Единичные тесты - это не конец, все. Замена приложения на целевой платформе не существует. –

+0

@ Джун Диблинг Вы правы - это не так. Я рассматриваю модульные тесты как большую безопасную сеть. Я где-то нашел, что модульные тесты ловят 30% всех проблем, и мой опыт говорит мне, что это больше. BTW Я делаю TDD, где модульные тесты диктуют дизайн. –

+0

, кроме установки vs2008 на целевом поле и портирования моей статической библиотеки. есть способ просто использовать мое приложение, которое я сделал на 32-битной env? например, скопируйте exe и lib и посмотрите, работает ли это? просто любопытно, как это сработает? –

1

Используя VisualStudio, вы можете создавать 64-разрядные двоичные файлы в 32-битном поле. Вы просто не можете их запускать. Будет ли хорошей идеей использовать 32-разрядную машину, поскольку ваша машина для сборки - это совсем другая история, но да, это можно сделать.

Итак, вы создаете свое 64-битное приложение на OLDCLUNKER32, которое представляет собой 32-битный блок. Переместите эти двоичные файлы на NEWHOTNESS64, который является 64-битным полем, установите любые распространяемые пакеты Visual Studio, которые могут вам понадобиться, и запустите приложение. Вы можете запустить 32-разрядный код в 64-битном поле, но вы не можете смешивать 64-битные и 32-битные двоичные файлы в одном приложении. Например, ваши EXE и все DLL-файлы должны быть одинаковыми, мы должны иметь 64 или 32 бит.

Ваши клиенты не должны устанавливать VisualStudio для запуска вашего приложения, верно? Ну, и ты тоже. Установите соответствующую распространяемую для вашей платформы и вы сможете запустить приложение.

+0

как развернуть мое тестовое приложение, которое использует мой статический lib без установки vs2008? я думаю, что просто не знаю, как это сделать ... –

+0

Вашим конечным пользователям потребуется установить (или уже установлен) пакет «redist» для VisualStudio. Вы можете получить это с веб-сайта загрузки MS, и вам нужно убедиться, что ваш конечный пользователь установил правильный. Для каждой комбинации целевой платформы, выпуска компилятора и уровня пакета компилятора требуется другой пакет переделов. Например, этот повторитель предназначен для 32-разрядных приложений, скомпилированных с использованием пакета обновления 1 (SP1) для MSVC: http://www.microsoft.com/downloads/en/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en –