Упражнение 4.1 (продолжение)
21. Добавить новый блок в основную рабочую последовательность, код которого приведен в листинге 4.12.
Листинг 4.12
//Блок 18
void f6(){
mm[0] = \0;
struct mystruct {
int d;
double e;
unsigned short mybit: 2;
mystruct* s;
int myfunc(int g)
{return g*g;};} mystr;
mystruct* pmy = &mystr;
mystr.s = pmy;
mystr.d = 100;
pmy->e = 300.00;
mystr.mybit = 3;
sprintf(nn,"%f", pmy->e);
strcat(mm, nn);
strcat(mm, « – pmy->e\n»);
sprintf(nn,"%d", mystr.d);
strcat(mm, nn);
strcat(mm, « – mystr.d\n»);
sprintf(nn,"%p", mystr.s);
strcat(mm, nn);
strcat(mm, « – mystr.s\n»);
sprintf(nn,"%d", mystr.myfunc(12));
strcat(mm, nn);
strcat(mm, « – mystr.myfunc(12)\n»);
sprintf(nn,"%d", pmy->myfunc(12));
strcat(mm, nn);
strcat(mm, « – pmy->myfunc(12)\n»);
sprintf(nn,"%d", mystr.mybit);
strcat(mm, nn);
strcat(mm, « – mystr.mybit\n»);
mbstowcs(mstr, mm, 256);
szStr = mstr;
}
Этот код будет выполняться при нажатии клавиши 6 на клавиатуре.
Объединения
Объединение объявляется при помощи ключевого слова union. Объединения очень похожи на структуры, и главное их отличие от структур заключается в том, что разработчик может пользоваться только одним из членов объединения в конкретный момент времени. Практически мы можем трактовать объединение как своего рода объект с переключающимся типом или переменную типа variant. В тот момент, когда одному из членов объединения присваивается значение, остальные члены объединения содержат непредсказуемые значения и обращаться к ним не стоит. Результат этого действия нельзя будет предсказать.
Но это не означает, что каждый раз результат будет неверным. Просто память для объединения выделяется по размеру его большего члена и далее для членов объединения распределяется динамически при каждом присваивании только для того члена, которому присваивается значение, внутри одного и того же участка памяти. Значение остальных членов не гарантированно. Оно может сохраниться, а может и перезаписаться новым значением.
Среда разработки eMbedded Visual C++ 3.0
Несмотря на то, что среда eVC предназначена для разработки программ для «маленьких» компьютеров, сама среда – вполне серьезный инструмент. Знакомство со средой стоит начать со структуры экрана.
Окна
Главное окно среды представляет собой окно в стиле SDI, когда все прочие документы и окна открываются в главном окне и не могут покинуть его пределы. Таким образом, главное окно является контейнером для других окон. На нем размещены панель инструментов и главное меню (рис. 4.1).
Рис. 4.1. Главное окно среды.
Остальные окна могут быть выведены на экран или скрыты в зависимости от режима работы. Основным рабочим окном является окно Workspace (рис. 4.2).
Рис. 4.2. Окно Workspace со всеми вкладками.
В окне Workspase может находиться от одной до трех вкладок. Если был создан проект, то в окне Workspase появится вкладка FileView. Если в проекте есть классы, то будет добавлена вкладка ClassView, а если к проекту подключены какие-то ресурсы, то вкладка ResourceView незамедлительно объявится внизу окна. Каждая из вкладок отображает структуры файлов, классов и ресурсов, включенных в проект, в виде дерева с раскрывающимися узлами. Щелчок на узле приводит к его раскрытию, а двойной щелчок на конечном элементе – к открытию данного элемента для редактирования. Если щелкнуть на имени файла в окне FileView, то этот файл будет открыт в окне редактора кода. При щелчке на имени класса в окне ClassView, на экран будет выведен файл, в котором объявлен данный класс. Двойной щелчок на одном из имен ресурсов приведет к открытию данного ресурса в соответствующем ему редакторе ресурсов. Таким образом, взаимодействие с окном Workspace может повлечь за собой появление множества окон редакторов разного типа.
Окно Output (рис. 4.3) отображает информацию на выходе того или иного режима работы среды.
Рис. 4.3. Окно Output.
В этом окне обычно отображаются четыре вкладки, которые перечислены в следующем списке.
? Вкладка Build отображает информацию о процессе построения программы из исходного кода, сигнализирует об ошибках и предупреждениях на этапе компиляции, линковки и загрузки на устройство.
? Вкладка Debug отображает информацию о загружаемых модулях и библиотеках, выводит сообщения в режиме отладки.
? Вкладки Find in Filesl и Find in Files2 содержат информацию о результатах поиска.
Кроме перечисленных стандартных окон на экран могут быть выведены окна режима отладки. О них будет сказано в соответствующем разделе.
Окна в eVC могут находиться как в режиме Docked, когда окно «прилипает» к одной из сторон основного окна или к другому окну, так и в режиме Undocked, когда окно свободно перемещается по экрану. Управлять этими режимами можно при помощи команды Docking View в контекстном меню окна либо при помощи команды меню Tools ? Options… ? Workspace ? Docking Views. Пройдя по данной цепочке, можно обнаружить список открытых окон. Установка флажка против соответствующего окна включает его свойство Docking.
Читать дальше
Конец ознакомительного отрывка
Купить книгу