Обратное проектирование кода delphi 2010 - инструмент UML

Непоследовательные UNICODE определения

Сборка Windows UNICODE строится с TCHAR и т. Д., Определенным как wchar_t и т. Д. Когда не выполняется сборка с UNICODE, определенным как сборка с TCHAR, определенным как char и т. Д. Эти определения UNICODE и _UNICODE влияют на все типы строк «T» ; LPTSTR, LPCTSTR и их лось.

Создание одной библиотеки с определенным UNICODE и попытка связать ее в проекте, где UNICODE не определено, приведет к ошибкам компоновщика, поскольку в определении TCHAR будет несоответствие; char против wchar_t.

Ошибка обычно включает в себя функцию со значением производного типа char или wchar_t, к ним также может относиться std::basic_string<> и т. Д. При просмотре уязвимой функции в коде часто встречается ссылка на TCHAR или std::basic_string и т. Д. Это контрольный признак того, что код изначально предназначался как для UNICODE, так и для многобайтового символа ( или "узкая") сборка.

Чтобы исправить это, соберите все необходимые библиотеки и проекты с непротиворечивым определением UNICODE_UNICODE).

  1. Это можно сделать с помощью:

    #define UNICODE
    #define _UNICODE
    
  2. Или в настройках проекта;

    Свойства проекта> Общие > Проект по умолчанию> Набор символов

  3. Или в командной строке;

    /DUNICODE /D_UNICODE
    

Альтернатива также применима, если UNICODE не предназначен для использования, убедитесь, что определения не установлены, и / или многосимвольная настройка используется в проектах и ​​применяется последовательно.

Не забывайте также соблюдать согласованность между сборками «Release» и «Debug».

5
задан RRUZ 25 April 2011 в 02:11
поделиться

1 ответ

WhiteStarUML (старым названием был StarUML) https://sourceforge.net/projects/whitestaruml / , Но он имеет проблемы о Высоком DPI.

, Но лучше использовать созданный в методах UML: https://www.youtube.com/watch? v=LTpAAz3WkZk

0
ответ дан 15 December 2019 в 00:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: