Member
Статус: Не в сети Регистрация: 11.07.2004 Откуда: Воронеж
Приамбула:
С языком С/С++ не знаком ваще, только много слышал Суть проблемы:
Слышал что языков С несколько модификаций, в связи с этим возник вопрос
на какой написан данный фрагмент кода?
Код:
#pragma chip PIC16F73
void millisleep(char x) /* Delays a multiple of 1 millisecond using instruction cycle counting Clock: 11059200 Hz 1 ms = 11059200/1000/4 IS = 2764.8 IS */ { // for optimizing compiler do { char j = 35; // 2 IS do { char i = 25; // 2 IS do ; while (--i > 0); // 25 * 3 - 1 = 74 IS } while (--j > 0); // 2 + 35 * (74+2+3) - 1 = 2766 IS } while (--x > 0); // 2766 + 3 = 2769 IS
/* // for non-optimizing compiler do { char j = 89; // 4 IS do { char i = 5; // 4 IS do ; while (--i > 0); // 5 * 5 - 1 = 24 IS } while (--j > 0); // 4 + 89 * (24+4+3) - 1 = 2762 IS } while (--x > 0); // 2762 + 3 = 2765 IS */ }
Koval Язык C один и тот же везде, твой фрагмент скомпилируется в любом компиляторе. Другое дело, что подобные аппаратно-зависимые задержки обычно рассчитаны на конкретный компилятор, в данном случае, судя по прагме, на этот.
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
В данном случае это маразм - делать такие извороты ради компилятора. Гораздо легче писать такие фрагменты на асме, тем более что у пиков он достаточно понятный(приходилось как-то писать для 16-ой серии пару лет назад).
Member
Статус: Не в сети Регистрация: 12.12.2003 Откуда: Уфа
Помогите разобраться с проблемой.. я уже спрашивал по этому поводу пару месяцев назад, появились новые вопросы. У меня есть базовый класс Object, от которого наследованы разные классы. Все объекты разных классов хранятся в векторе указателей на эти объекты:
vector<Object*> objects.
Когда мне надо отобразить все объекты полиморфизм работает удобно - у каждого класса есть своя функция Draw, а у базового класса Object она объявлена как виртуальная, поэтому проходишься по всему вектору с объектами и вызываешь функцию Draw, которая реализована для каждого порожденного класса. Но если мне надо будет получить доступ к специфическим свойствам какого-то конкретного дочернего класса, указатель типа Object не даст мне такой возможности? Как быть в этом случае?
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
LiS95 писал(а):
Но нам оказывается нельза юзать библиотеки функции для работы со строками (словами)Прошу можно написать ту же самую прогу, используя только библиотеку STDIO.H
Чтобы не было конфликтов добавил в название функций букву "m":
Member
Статус: Не в сети Регистрация: 12.12.2003 Откуда: Уфа
Daemon Кстати, хочу еще раз сказать огромное спасибо за то, что тогда вовремя рассказал мне про QT, я теперь огромный фанат этой библиотеки, хотя и знаю ее еще процента на 2-3 максимум от ее возможностей, все равно, это лучшее, что я видел, прогшраммировать одно удовольствие стало после MFC) Добавлено спустя 9 минут, 45 секунд Билли Бонс По проектированию книжки непонятные, вообще Сколько не пытался читать. Пока еще не дорос видимо
Member
Статус: Не в сети Регистрация: 09.08.2005 Откуда: Земля
MEIN, спасибо, буду пробывать.
Помогите написать ещё одну программу на двухмерный массив.
Вообщем дана прямоугольная матрица(максимальный размер массива 10*10) Теукущая размерность массива задаётся пользователем. Элементы массива вещественного типа(числа) Ввод значений с клавиатуры.
Нужно определить 1)количество строк, содержащих хотя бы один нулевой элемент
2)номер столбца,в котором находится самая длинная серия одинаковых элементов.
_________________ ruSpiegel.net - русское зеркало дотнета
Ваши любимые статьи и блоги, посвященные Microsoft .NET Framework, теперь и на русском языке.
Выдает предупреждение warning C4482: nonstandard extension used: enum 'MModel::GeometryType' used in qualified name.
2) У меня есть тот пресловутый вектор указатель на объекты vector<Object*> objects. Эти объекты отображаются в виджете TreeView, с помощью архитектуры model/view. Каждому объекту Object соответствует объект - TreeViewItem. В классе TreeViewItem я делаю поле - указатель на объект Object*, для этого мне надо заинклудить файл "object.h". По логике программы мне нужно аналогично в классе Object добавить указатель на TreeViewItem, для этого мне надо заинклудить файл "treeviewitem.h" - получается как бы перекрестное включение, программа конечно же не работает. Пояснение:
Код:
//object.h #include "treeviewitem.h"
class Object { public: Object(); ~Object(); TreeViewItem *item; };
Код:
//treeviewitem.h #include "object.h"
class TreeViewItem { public: TreeViewItem(); ~TreeViewItem(); Object *object; };
Это приводит к ошибке ессесно. Вижу только одно решение, вместо TreeViewItem *item написать void *item, а затем преобразовать с помощью static_cast<TreeViewItem>(*item) уже в программе. Или есть другой, более правильный вариант?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения