Чем заменить WinApi? |
Здравствуйте, гость ( Вход | Регистрация )
Чем заменить WinApi? |
ido |
9.4.2010, 11:55
Сообщение
#1
|
Студент Группа: Участник Сообщений: 26 Регистрация: 7.4.2010 Пользователь №: 1602 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть программка, которая использует для своей загрузки около 30-и WinApi-функций из Kernel32.dll, User32.dll и Ole32.dll. При дальнейшей работе дополнительных функций она не использует. Нужно заменить в исходниках вызов этих функций на аналогичные из любой кроссплатформенной библиотеки, внося минимум изменений в код. Какую библиотеку проще всего использовать для этого и есть ли для нее что-то типа справочника по аналогам функций?
|
|
|
maint |
9.4.2010, 13:04
Сообщение
#2
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
Есть программка, которая использует для своей загрузки около 30-и WinApi-функций из Kernel32.dll, User32.dll и Ole32.dll. При дальнейшей работе дополнительных функций она не использует. Нужно заменить в исходниках вызов этих функций на аналогичные из любой кроссплатформенной библиотеки, внося минимум изменений в код. Какую библиотеку проще всего использовать для этого и есть ли для нее что-то типа справочника по аналогам функций? обычно конкретно спрашивают. А так, про телепатов в отпуске можно только ответ получить |
|
|
ViGOur |
9.4.2010, 13:14
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
ido, какие функции хоть используются?
Как вариант в принципе можно их обернуть чем-то вроде
|
|
|
molchanoviv |
9.4.2010, 13:23
Сообщение
#4
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Если выбирать по похожести, то это WxWidgets. А так по-моему ничего лучше Qt нет.
|
|
|
ido |
9.4.2010, 14:27
Сообщение
#5
|
Студент Группа: Участник Сообщений: 26 Регистрация: 7.4.2010 Пользователь №: 1602 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата("ViGOur") какие функции хоть используются? Я тупо скопировал часть списка Цитата … Не думаю, что это проясняет что-либо. Хотелось бы выработать единообразную методику перехода с WinApi-функций на функции из кроссплатформенных библиотек, тогда, возможно, это будет интересно не только мне. Поэтому, надо искать аналоги в какойто документации.Name: WriteFile Name: SetFilePointer Name: SetFileAttributesA Name: ReadFile Name: MoveFileA Name: GetVolumeInformationA Name: GetTempPathA Name: GetModuleFileNameA Name: GetLastError Name: GetFileTime Name: GetFileSize Name: GetFileAttributesA Name: GetDriveTypeA Name: GetCommandLineA Name: FindNextFileA Name: FindFirstFileA Name: FindClose Name: FileTimeToSystemTime Name: DeleteFileA Name: CreateFileA Name: CreateDirectoryA Name: CloseHandle Name: VirtualProtect Name: VirtualFree Name: VirtualAlloc Name: SuspendThread Name: Sleep … Цитата("ViGOur") Как вариант в принципе можно их обернуть чем-то вроде… Насколько я знаю, это стандартный подход, но в данном случае обертки излишнее. Ведь под Windows уже есть готовая программа. Достаточно просто указать -- Библиотека.Функция (из Qt, WxWidgets…) |
|
|
molchanoviv |
9.4.2010, 14:34
Сообщение
#6
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Большинство из перечисленных функций можно заменить функциями из QFile. Ну или написать самому используя QFile.
|
|
|
Iron Bug |
9.4.2010, 14:49
Сообщение
#7
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
ну, как вариант - заменить на бустовские библиотеки. но придётся дорабатывать.
|
|
|
Litkevich Yuriy |
9.4.2010, 15:37
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
ido |
9.4.2010, 16:33
Сообщение
#9
|
Студент Группа: Участник Сообщений: 26 Регистрация: 7.4.2010 Пользователь №: 1602 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата("molchanoviv") Большинство из перечисленных функций можно заменить функциями из QFile. У меня есть возможность посмотреть Qt только в Linux’е. Открыл QFile.h. Если правильно понимаю, то на месте вызовов ядра в Windows-версии должны быть WinApi-функции?
|
|
|
molchanoviv |
9.4.2010, 16:42
Сообщение
#10
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
|
|
|
Текстовая версия | Сейчас: 9.11.2024, 15:17 |