реклама на сайте
подробности

 
 
> Генерация ошибки, Обработка ошибок на этапе компиляции/линковки
aspID
сообщение Sep 10 2007, 09:18
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



Есть класс:

Код
class My_Class
{
private:
  unsigned char * cPort;
  unsigned char * cMask;
public:
  My_Class() {};
  ~My_Class() {};
  Init(char * cPort, char * cMask);
  int Method1();
};


Интересует, скажем, при вызове Method1() проверять, а проинициализированы ли указатели или они NULL и выдавать ошибку. Насколько это возможно именно на этапе компиляции/линковки?

Обходной путь на данный момент не интересует, хотя он довольно прост: создать сразу конструктор с параметрами и "не париться".

Стормозил на уровне браузера, просьба администриторов удалить одну тему.

Сообщение отредактировал aspID - Sep 10 2007, 09:19
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aspID
сообщение Sep 10 2007, 15:22
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



Тогда здесь же вопрос к людям, имеющим в приложении к МК опыт бОльший, нежели я smile.gif
Куда лучше складировать данные классов - во флеш или в кучу? Понимаю, что зависит от ситуации, но может, направите на литературу, где можно про это найти.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Sep 11 2007, 04:29
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(aspID @ Sep 10 2007, 19:22) *
Тогда здесь же вопрос к людям, имеющим в приложении к МК опыт бОльший, нежели я smile.gif
Куда лучше складировать данные классов - во флеш или в кучу? Понимаю, что зависит от ситуации, но может, направите на литературу, где можно про это найти.

Во флеш вы можете хранить только неизменяемые части данных, причем в классе придется предусмотреть указатель на эту неизменяемую часть. Это имеет смысл для классов с большим количеством "настроечной" информации, заранее известной на этапе компиляции - например, элементы пользовательского интерфейса.

Что касается кучи, ИМХО, лучше вобще не использовать, по крайней мере стандартную:
1. Сам не вникал, но много слышал, что стандартный менеджер памяти далек от идеала и при некоторых обстоятельствах может приводить к сильной дефрагментации кучи и как следствие - не будет свободного места.
2. Придется вручную оценить требуемый размер - т.е. проанализировать, сколько одновременно объектов может быть создано. При этом любое изменение программы потребует перерасчета.
3. Надо быть очень аккуратным с new и delete - иначе начнутся утечки памяти.
Поэтому лично я использую динамическое выделение памяти только для целей пользовательского интерфейса, причем свой собственный менеджер памяти, организованный на основе стека и заведомо не приводящий к проблемам дефрагментации.
Все остальные объекты я делаю глобальными \ статическими \ членами классов, экземпляры которых глобальны либо создаю в стеке. Это полностью убирает вышеуказанные проблемы.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- aspID   Генерация ошибки   Sep 10 2007, 09:18
- - alexander55   Цитата(aspID @ Sep 10 2007, 13:18) Есть к...   Sep 10 2007, 09:36
- - aspID   Цитатав Method1(), пожалуйста, сколько угодно Прос...   Sep 10 2007, 09:45
|- - alexander55   Цитата(aspID @ Sep 10 2007, 13:45) Просту...   Sep 10 2007, 09:58
- - aspID   На данном этапе проще (и правильнее, ИМХО) сделать...   Sep 10 2007, 10:07
|- - alexander55   Цитата(aspID @ Sep 10 2007, 14:07) На дан...   Sep 10 2007, 10:30
|- - Непомнящий Евгений   Цитата(aspID @ Sep 10 2007, 14:07) На дан...   Sep 10 2007, 10:51
|- - tag   Цитата(aspID @ Sep 10 2007, 14:07) На дан...   Sep 10 2007, 11:47
- - aspID   ЦитатаС переменными проще, чем с указателями. Субъ...   Sep 10 2007, 10:47
- - aspID   Цитатанасколько я знаю, IAR исключения не поддержи...   Sep 10 2007, 10:53
|- - Непомнящий Евгений   Цитата(aspID @ Sep 10 2007, 14:53) Думаю,...   Sep 10 2007, 11:27
|- - Сергей Борщ   Цитата(Непомнящий Евгений @ Sep 10 2007, 14...   Sep 10 2007, 13:03
- - dxp   Цитата(aspID @ Sep 10 2007, 16:18) Интере...   Sep 10 2007, 13:50
|- - alexander55   Цитата(aspID @ Sep 10 2007, 19:22) Тогда ...   Sep 11 2007, 04:44
|- - tag   Цитата(aspID @ Sep 10 2007, 19:22) Тогда ...   Sep 11 2007, 05:42
- - aspID   Цитатаглобальными \ статическими \ члена...   Sep 11 2007, 04:36
- - aspID   alexander55, не совсем понимаю, к чему Вы клоните,...   Sep 11 2007, 04:55
|- - alexander55   Цитата(aspID @ Sep 11 2007, 08:55) alexan...   Sep 11 2007, 05:32
- - aspID   ЦитатаУ меня например есть суеверный страх перед к...   Sep 11 2007, 05:59
- - Непомнящий Евгений   Цитата(tag @ Sep 11 2007, 09:42) В принци...   Sep 11 2007, 06:00
- - alexander55   Цитата(Непомнящий Евгений @ Sep 11 2007, 10...   Sep 11 2007, 06:13


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 00:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016