powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
11 сообщений из 11, страница 1 из 1
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33269129
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Визард сгенерировал MFC проект и определил там макрос _MBCS. Меня бы больше устроил вариант с _UNICODE. Я поменял _MBCS на _UNICODE, но проект не собирается из-за отсутствия симоля WinMain@16 при линковке.
Хотелось бы узнать все же, как мне сделать так чтобы по дефолту TCHAR был определенен как WCHAR, и по дефолту вызывались бы W - варианты API функций.
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33271750
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно.
Твои проблемы видимо лечатся Rebuild All. Если нет - это отдельная тема. Пиши больше.
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33272069
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выдержа из MSDN

авторUnicode Programming Summary
...
Specify entry point.
In the Output category of the Link tab in the Project Settings dialog box, set the Entry Point Symbol to wWinMainCRTStartup .
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33272075
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть, убери _MBCS, определи _UNICODE и укажи в опциях сборки (Link)точку входа (entry point) wWinMainCRTStartup и пересобери проект.
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33273127
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ШироковТо есть, убери _MBCS, определи _UNICODE и укажи в опциях сборки (Link)точку входа (entry point) wWinMainCRTStartup и пересобери проект.

BTW: А что такое _MBSC - UTF-8? То есть если я собираю проект с _MBSC то у меня честный UTF-8? А как при этом работают *A версии WinAPI функций? тоже возращают все в UTF-8?
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33275094
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_MB CS - mutlybyte charecter string, т.е. UTF-8.
_UNICODE в понимании MS - UTF16.
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33275095
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_MB CS - mutlybyte charecter string, т.е. UTF-8.
_UNICODE в понимании MS - UTF16.
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33275163
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv_UNICODE в понимании MS - UTF16.
А как действуют функции семейства *A? В моем понимании они конвертируют параметры в UTF-16 в соответствии с текущей кодировкой и потом вызывают соответствующие функции сейейства *W.
Правилно ли я полагаю, что при работе в _MBCS текущей кодировкой является UTF-8?
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33275262
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Ильич
А как действуют функции семейства *A? В моем понимании они конвертируют параметры в UTF-16 в соответствии с текущей кодировкой и потом вызывают соответствующие функции сейейства *W.


Ничего они не конвертируют. Есть функции *A , есть *W. Первые принимают
символьные и строковые параметры как указатели на char, вторые - как на short (т.е. это UTF-16). Каждая функция * при определении UNICODE транслируется препроцессором в *W, а при его отсутствии - в *A

Сергей Ильич
Правилно ли я полагаю, что при работе в _MBCS текущей кодировкой является UTF-8?

Не совсем. В ANSI - режиме Windows может работать как с однобайтовыми кодировками, так и с кодировками с переменым размером символа. Это зависит от кодовой страницы. _MBCS подразумевает, что кодовая страница может быть многобайтовой. А отсутствие - что не может.
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33275457
Фотография Сергей Ильич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv Сергей Ильич
А как действуют функции семейства *A? В моем понимании они конвертируют параметры в UTF-16 в соответствии с текущей кодировкой и потом вызывают соответствующие функции сейейства *W.

Ничего они не конвертируют. Есть функции *A , есть *W. Первые принимают
символьные и строковые параметры как указатели на char, вторые - как на short (т.е. это UTF-16). Каждая функция * при определении UNICODE транслируется препроцессором в *W, а при его отсутствии - в *A

про препроцессор я знаю и знаю что API функции TextOut не существует. Есть TextOutA и TextOutW, а TextOut - это макрос проепроцессора. Но не могу поверить, что там дублируется один и тот же код, который отличается только представлением параметра.

MasterZiv Сергей Ильич
Правилно ли я полагаю, что при работе в _MBCS текущей кодировкой является UTF-8?

Не совсем. В ANSI - режиме Windows может работать как с однобайтовыми кодировками, так и с кодировками с переменым размером символа. Это зависит от кодовой страницы. _MBCS подразумевает, что кодовая страница может быть многобайтовой. А отсутствие - что не может.
А от чего зависит текущая кодовая страница? Выставляет ли ее MFC в CP_UTF8 если проект собран с _MBCS?
...
Рейтинг: 0 / 0
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
    #33277587
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От операционки. MFC ничего естественно не ставит.
На счет дублирования кода - к Microsoft-у. Обычно всякие независимые хакеры-исследователи утверждают, что так оно и есть - ANSI-версии перевызывают Unicode-версии. Но я думаю не всегда, возможно иногда код легде дублировать. А как оно на самом деле - знает только Билли...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]