Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2007, 21:27   #1
JET_FLASH
Пользователь
 
Аватар для JET_FLASH
 
Регистрация: 24.09.2007
Сообщений: 33
По умолчанию Создание модуля в Си

Как собствна это делать.
Есть файлы *.h и *.c

Сказали через проект, только объяснять никто не собирался.

пАмАгите
Да поможет нам F1. Да сохранит нас F2... Аминь
JET_FLASH вне форума Ответить с цитированием
Старый 18.12.2007, 22:29   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Заголовочный файл — в языках программирования Си и C++ файл, содержащий определения типов данных, структуры, прототипы функций, перечисления, макросы предпроцессора. Имеет по умолчанию расширение .h. Заголовочный файл используется путём включения его текста в данный файл директивой препроцессора #include "НазваниеЗаголовочногоФайла.h"

Меню файл=>Новый (а вообще по разному в разных компиляторах, можно даже в блокноте набросать такой Header)
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"

Последний раз редактировалось AlDelta; 18.12.2007 в 22:43.
AlDelta вне форума Ответить с цитированием
Старый 18.12.2007, 23:11   #3
JET_FLASH
Пользователь
 
Аватар для JET_FLASH
 
Регистрация: 24.09.2007
Сообщений: 33
По умолчанию

Канешна, спасибо. Но, что *.h - заголовочный, это я знаю.
Вопрос не в этом.
Есть у меня уже готовые *.h , *.c файлы (*.c - реализация).
В *.c есть строка #include "*.h" .
Теперь нужно, чтобы в своей программе написать #include "*.h" и он заработал бы (по типу стандартных модулей).
Да поможет нам F1. Да сохранит нас F2... Аминь
JET_FLASH вне форума Ответить с цитированием
Старый 18.12.2007, 23:23   #4
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Цитата:
Теперь нужно, чтобы в своей программе написать #include "*.h" и он заработал бы (по типу стандартных модулей).
Так в чём проблема или проблем уже нет?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 18.12.2007, 23:28   #5
JET_FLASH
Пользователь
 
Аватар для JET_FLASH
 
Регистрация: 24.09.2007
Сообщений: 33
По умолчанию

Проблема в том, что если я просто подключаю его, ругается.
Да поможет нам F1. Да сохранит нас F2... Аминь
JET_FLASH вне форума Ответить с цитированием
Старый 18.12.2007, 23:30   #6
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Цитата:
Проблема в том, что если я просто подключаю его, ругается.
Ну так как ругается, на какие строчки ругается, чем ругается?Экстрасенс заболел.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 18.12.2007, 23:33   #7
JET_FLASH
Пользователь
 
Аватар для JET_FLASH
 
Регистрация: 24.09.2007
Сообщений: 33
По умолчанию

Ну, например, вот статья.
Если тупо копировать в файлы - не работает.
(по крайней мере TC)



Пример реализации модуля.

Заголовочный файл

// complex.h - Пример реализации заголовочного файла модуля.
// Модуль содержит тип данных комплексного числа,
// а также функцию вывода комплексного числа на экран.
// Borland C++ 3.1

typedef struct {
double Re, Im;
} complex;

extern void OutComplex(complex);

Файл с телом модуля

// complex.c - Пример реализации файла с телом модуля.
// Реализация функции вывода комплексного числа на экран.
// Borland C++ 3.1

#include <STDIO.H>
#include "complex.h" // Использование описания заголовочного файла

void OutComplex(complex C) {
printf("%f| %f", C.Re, R.Im);
}

Использование модуля в программе.

Для использования модуля в программе достаточно включить в текст программы директиву перепроцессора #include с указанием соответствующего заголовочного файла. В отличие от стандартных модулей собственные модули указываются в двойных кавычках.

Пример использования модуля в программе.

// main.c - Пример использования модуля complex.
// Borland C++ 3.1

#include <STDIO.H> // Использование стандартного модуля
#include "complex.h" // Обратите внимание на кавычки

int main(void) {
complex C;
C.Re = 1;
C.Im = 0;

OutComplex(C);
}
Да поможет нам F1. Да сохранит нас F2... Аминь
JET_FLASH вне форума Ответить с цитированием
Старый 18.12.2007, 23:45   #8
JET_FLASH
Пользователь
 
Аватар для JET_FLASH
 
Регистрация: 24.09.2007
Сообщений: 33
По умолчанию

работает, когда в заголовочном так:

//MODUL.H
#if !defined(__MODUL_H)
#define __MODUL_H
...
...
#include "MODUL.C" //!!!!!!!
#endif


Но, это, насколько я понимаю уже моразм.
Да поможет нам F1. Да сохранит нас F2... Аминь
JET_FLASH вне форума Ответить с цитированием
Старый 19.12.2007, 22:05   #9
JET_FLASH
Пользователь
 
Аватар для JET_FLASH
 
Регистрация: 24.09.2007
Сообщений: 33
По умолчанию

Что, никто не объяснит?
Да поможет нам F1. Да сохранит нас F2... Аминь
JET_FLASH вне форума Ответить с цитированием
Старый 06.01.2008, 14:11   #10
JET_FLASH
Пользователь
 
Аватар для JET_FLASH
 
Регистрация: 24.09.2007
Сообщений: 33
По умолчанию

Ну объясните на примере:

заголовочный файл(complex.h):

Код:
typedef struct 
            {double Re, Im;
            } complex;

extern void OutComplex(complex);
файл с телом (complex.c):

Код:
#include <STDIO.H>
#include "complex.h"

void OutComplex(complex C) 
 {
  printf("%f| %f", C.Re, R.Im);
 }
как что нужно сделать, чтобы получить библиотеку, которая подключается стокой

Код:
#include "complex.h"
Да поможет нам F1. Да сохранит нас F2... Аминь
JET_FLASH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание модуля голосования AlekFirst PHP 1 18.10.2007 11:54
Запуск своего модуля из чужой программы Volkogriz Общие вопросы Delphi 7 16.10.2007 05:19
Невозможное удаление подключаемого модуля! FoREX Помощь студентам 2 04.07.2007 12:46
Вызов Метода из др. модуля Mickle Общие вопросы Delphi 2 10.05.2007 23:41