Я не прошу SO сообщить мне, в чем проблема, я просто спрашиваю, какие проверки работоспособности следует запустить в таком случае:
Использование VisualStudio 2005, простой проект C ++.Фактический код:
int Sum(int a, int b)
{
return a+b;
}
Нет предварительно скомпилированных заголовков.Экспортируется с файлом DEF:
LIBRARY testdll
EXPORTS
Sum
Скомпилированный на тестовом компьютере (снова VS2005), DLL работает на других компьютерах (64-битные и 32-битные тестированные, всегда скомпилированные с целевой платформой Win32).Скомпилированная на моей машине (64-битная, тот же проект, те же свойства), DLL работает на моей машине только , на других она запускает отладчик Just-In-Time (или ужасно падает, если JIT не установлен)):
Необработанное исключение в 0x00000000 в Caller.exe: 0xC0000005: Место чтения нарушения доступа 0x00000000.
Сначала я вызывал его с j на моих тестовых компьютерах, и это тоже не помогло бы (с cder
) сообщением об ошибке «файл не найден».
Другой признак: Размер файла другой, моя машина дает DLL дополнительные 512байт.
Конфигурация моей системы:
- Windows Vista - 64 бита
- VS2005 Версия 8.050727.867 (vsvista.050727-8600)
- .NET Framework версии 2.0.50727 SP2
Протестированные среды: