Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Оптимизация функций для работы с разными ОС


Автор: Antropoid 12.9.2006, 00:52
Пусть есть функция int systemFun(), поддерживаемая Windows XP, но не поддерживаемая Windows 98. Программа, запускаясь под  Windows 98, выдаст: "Файл myProject.exe связан  с отсутствующим компонентом ххх.dll:systemFun." и не запустится. Как сделать так, чтобы под  Windows 98 программа понимала, что для этой ОС вызов функции невозможен?

Автор: sOckets 12.9.2006, 00:54
Может сначало ты будешь проверять какая ОС ? потом только писать отдельный код для отдельной ОС

Автор: Damarus 12.9.2006, 06:14
Цитата(Antropoid @  12.9.2006,  01:52 Найти цитируемый пост)
Пусть есть функция int systemFun(), поддерживаемая Windows XP, но не поддерживаемая Windows 98. Программа, запускаясь под  Windows 98, выдаст: "Файл myProject.exe связан  с отсутствующим компонентом ххх.dll:systemFun." и не запустится. Как сделать так, чтобы под  Windows 98 программа понимала, что для этой ОС вызов функции невозможен?

Сначала проверяй версию ОС, если подходит, то загружай динамически (LoadLibrary) dll'ку, которая содержит функцию, затем получай адрес этой функции (GetProcAddress) и вызывай её.

Автор: Antropoid 12.9.2006, 10:53
А можно "впаять" все нужные dll-ки в программу и проделать все то, что вы мне насоветовали? а то вариант, когда с *.exe файлом будут идти еще и dll-ки - мне не подходит... smile 

Автор: _hunter 12.9.2006, 11:01
это библиотеки системы. за собой их носить не нужно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)