The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Проект MOOL развивает средства разработки драйверов ядра Lin..."
Отправлено dq0s4y71, 06-Окт-14 15:48 
> А как эта скомпилированная программа на C/C++ узнает сколько памяти нужно выделить под переменную? Правильно, заголовки подключит.

Причём здесь заголовки? В Си вы можете написать в заголовке:

/* my_object.h */

struct my_object;
struct my_object * my_object_create();
int my_object_do_something(struct my_object * object);

И всё. А саму структуру и работу с ней вы можете расписать в реализации:

/* my_object.с */

struct my_object {
  int field1, field2;
  ...
};

struct my_object * my_object_create() {
  struct my_object * ret = malloc(sizeof(struct my_object));
  ...
  return ret;
}

int my_object_do_something(struct my_object * object) {

  object->field1 = ...;
  ...
}


Таким образом пользователь может вообще ничего не знать об объекте my_object и работать с ним только посредством функций, которые вы ему для этого определите.

В С++ такой номер не пройдёт - там, если вы хотите чтобы работали виртуальные методы, нужно иметь прототип класса. И изменить что-то в этом базовом классе без необходимости перекомпиляции всего когда снизу доверху вы не сможете.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру