C ++: версия программы?

0

У меня есть программа C++, которую я запускаю, используя borland 5.02, это программа GUI. Мне нужно проанализировать программу и ее поток, но проблема в том, что я не могу найти события элемента управления, и я не могу найти его в Интернете, поскольку получаю информацию о других версиях C++ (FYI, Я знаю, что это не V C++). Код моей кнопки выглядит так:

CONTROL "Output Reports", ID_RUN_BITMAP, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 252, 204, 51, 9

Его внутри файла projectname.rc

Теперь мои вопросы:

  1. Какую версию или вариант C++ я использую?
  2. Я хочу знать это, чтобы я мог найти его учебник, чтобы найти его события и правильно понять код.

Является ли их любой другой IDE для запуска того же кода, который будет более полезен, чем Borland 5.02?

PS: Поскольку я программист на С#.NET и всегда использовал Visual Studio, поэтому я считаю, что Borland довольно сложно использовать.

Теги:
c++11
events
controls
borland-c++

1 ответ

3
Лучший ответ

BC++ 5.02 - из диких времен, предшествующих даже стандарту 1998 C++; доступное подмножество функций на удивление способно, но есть много синтаксических особенностей. Можно написать код, совместимый с текущими компиляторами, а также с такими старыми, как BC++ 5.02 (или даже BC++ 3.1), но это непросто.

Если вам нужно настроить таргетинг на 16-битные платформы, вам может быть лучше использовать бесплатные/недорогие компиляторы Digital Mars C++ (ранее Zortech/Symantec C++) или Open Watcom C++.

Если вы этого не сделаете, есть много простых вариантов.

Dev C++ (gcc 4.8.2/MinGW64-TDM) очень приятен, но если вам нужно сделать графический интерфейс, тогда вам будет лучше попробовать получить бесплатную версию Borland C++ Builder (теперь продукт Embarcadero), Visual C++ Express свободен и почти так же хорош, как gcc и CLANG; его преимущество заключается в том, что он может напрямую взаимодействовать с.NET, то есть вы можете рисовать интерфейсы с Visual Basic или одним из его преемников (например, С#) и писать сложный хрустящий код в C++, который компилируется в сборку.NET.

Структура, используемая BC++ 4 и 5, называется OWL (Object Windows Library); он задокументирован в owl50.hlp который должен находиться в подкаталоге help вашей установки BC++. Раздел "О сообщениях и очередях сообщений" дает хороший обзор о потоке управления и маршрутизации сообщений. Структура сопоставляет большинство сообщений с функциями-членами таких классов, как TWindow и т.д., Так что сообщения с TWindow окном редко видны. Определяемые пользователем идентификаторы, упомянутые в заголовках и файлах ресурсов, должны повторяться в макросочетаниях, которые объявляют таблицы ответов, что должно позволить вам связывать элементы диалога с функциями-членами соответствующих классов. Просто притирайся и следуй за носом.

Если программа, которую вы анализируете, не была написана для BC++/OWL, тогда вы можете столкнуться с кодом MFC (поскольку BC++ 5.x поставляется с копией классов Microsoft Foundation) или необработанным кодом Windows API с помощью сообщений, процедуры окна/диалога и т.д.

grep - или какой-либо другой способный инструмент поиска текста - в любом случае вы ID_RUN_BITMAP в интересные места, если вы ищете магические идентификаторы из файла RC, такого как ID_RUN_BITMAP.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню