что такое соглашения по объявлению функций winapi? - PullRequest
1 голос
/ 21 декабря 2011

Какая разница между этими шестью функциями?

LoadLibrary
LoadLibraryA
LoadLibraryEx
LoadLibraryExA
LoadLibraryExW 
LoadLibraryW

в чем смысл каждого суффикса в winapi и в чем разница между всеми этими функциями?

Ответы [ 3 ]

4 голосов
/ 21 декабря 2011

LoadLibrary и LoadLibraryEx - это макросы, которые определяются в зависимости от того, скомпилирован ли ваш проект с поддержкой юникода.Если это так, они указывают на LoadLibraryW и LoadLibraryExW, в противном случае они указывают на LoadLibraryA и LoadLibraryExA.

Как правило, ожидается, что вы будете писать код, используя версии без A или W в конце ипозвольте определениям компилятора создать для вас всю магию.

Суффикс Ex является стандартным способом обозначения «расширенной» функции: такой, которая похожа на обычную версию, но предоставляет дополнительные функциональные возможности.Как правило, они были добавлены в более новую версию Windows и не всегда могут быть доступны (хотя большинство из них настолько стары, что их добавили обратно в Windows 3.1 или 95).

Точная разница между функциями,как упоминалось ранее, всегда следует проверять на MSDN.

4 голосов
/ 21 декабря 2011

A означает ANSI;W означает Wide (Unicode).
Версии A не поддерживают строки Unicode;это реликвии из Win9X.

Версия без суффиксов будет расширена до версий A или W во время компиляции, в зависимости от того, определен ли символ UNICODE.

Ex версии являются более новыми версиями метода API с дополнительными функциями;обратитесь к документации для более подробной информации.

1 голос
/ 21 декабря 2011

A - ansi W - Unicode Ex - расширенная версия той же функции, например, некоторые дополнительные параметры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...