|
|
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
Визард сгенерировал MFC проект и определил там макрос _MBCS. Меня бы больше устроил вариант с _UNICODE. Я поменял _MBCS на _UNICODE, но проект не собирается из-за отсутствия симоля WinMain@16 при линковке. Хотелось бы узнать все же, как мне сделать так чтобы по дефолту TCHAR был определенен как WCHAR, и по дефолту вызывались бы W - варианты API функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2005, 14:44 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
Возможно. Твои проблемы видимо лечатся Rebuild All. Если нет - это отдельная тема. Пиши больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2005, 16:31 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
Выдержа из 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 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2005, 18:16 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
То есть, убери _MBCS, определи _UNICODE и укажи в опциях сборки (Link)точку входа (entry point) wWinMainCRTStartup и пересобери проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2005, 18:18 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковТо есть, убери _MBCS, определи _UNICODE и укажи в опциях сборки (Link)точку входа (entry point) wWinMainCRTStartup и пересобери проект. BTW: А что такое _MBSC - UTF-8? То есть если я собираю проект с _MBSC то у меня честный UTF-8? А как при этом работают *A версии WinAPI функций? тоже возращают все в UTF-8? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2005, 11:53 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
_MB CS - mutlybyte charecter string, т.е. UTF-8. _UNICODE в понимании MS - UTF16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 21:06 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
_MB CS - mutlybyte charecter string, т.е. UTF-8. _UNICODE в понимании MS - UTF16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 21:07 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
MasterZiv_UNICODE в понимании MS - UTF16. А как действуют функции семейства *A? В моем понимании они конвертируют параметры в UTF-16 в соответствии с текущей кодировкой и потом вызывают соответствующие функции сейейства *W. Правилно ли я полагаю, что при работе в _MBCS текущей кодировкой является UTF-8? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 23:37 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
Сергей Ильич А как действуют функции семейства *A? В моем понимании они конвертируют параметры в UTF-16 в соответствии с текущей кодировкой и потом вызывают соответствующие функции сейейства *W. Ничего они не конвертируют. Есть функции *A , есть *W. Первые принимают символьные и строковые параметры как указатели на char, вторые - как на short (т.е. это UTF-16). Каждая функция * при определении UNICODE транслируется препроцессором в *W, а при его отсутствии - в *A Сергей Ильич Правилно ли я полагаю, что при работе в _MBCS текущей кодировкой является UTF-8? Не совсем. В ANSI - режиме Windows может работать как с однобайтовыми кодировками, так и с кодировками с переменым размером символа. Это зависит от кодовой страницы. _MBCS подразумевает, что кодовая страница может быть многобайтовой. А отсутствие - что не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2005, 12:03 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
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? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2005, 18:00 |
|
||
|
MFC - MSVC 6.0; реально ли собрать проект с включенным _UNICODE?
|
|||
|---|---|---|---|
|
#18+
От операционки. MFC ничего естественно не ставит. На счет дублирования кода - к Microsoft-у. Обычно всякие независимые хакеры-исследователи утверждают, что так оно и есть - ANSI-версии перевызывают Unicode-версии. Но я думаю не всегда, возможно иногда код легде дублировать. А как оно на самом деле - знает только Билли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 20:41 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33271750&tid=2032762]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 412ms |

| 0 / 0 |
