Форум программистов, компьютерный форум CyberForum.ru

Вопрос по #include - C++

Восстановить пароль Регистрация
 
Ardarik
11 / 8 / 2
Регистрация: 16.01.2011
Сообщений: 222
30.01.2011, 10:17     Вопрос по #include #1
#include включает функции? если сам пишеш какую ни буть функцию надо и свою библиотеку писать или прям в в коде можно описать фукцию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2011, 10:17     Вопрос по #include
Посмотрите здесь:

C++ INCLUDE
C++ #include в C++
#include <vcl.h> C++
Вопрос "хорошего тона", "стиля" в программировании - правильное использование #include C++
C++ #include
C++ Какая разница между #include<> и #include""?
C++ Проблма с #include
Include в Eclipse C++
Include rus C++
Include C++
Проблемы с include C++
C++ #ifndef и #include

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
30.01.2011, 10:25     Вопрос по #include #2
Ardarik, директива препроцессора #include <filename> выполняет подстановку содержимого файла filename в текущий файл.

Цитата Сообщение от Ardarik Посмотреть сообщение
если сам пишеш какую ни буть функцию надо и свою библиотеку писать или прям в в коде можно описать фукцию?
сформулируй свой вопрос попонятней, пожалуйста.
Вот пример небольшой "библиотеки", которая экспортирует структуру данных и две функции. Состоит из заголовочного файла, в котором объявляются экспортируемые функции и и структура:
C
1
2
3
4
5
6
7
8
9
10
11
12
#ifndef FOO_H
#define FOO_H
 
struct vector
{
    double x, y;
};
 
struct vector vector(double, double);
double magnitude(struct vector);
 
#endif // FOO_H
Файл, в котором вышеупомянутые функции реализуются:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "foo.h"
 
#include <math.h>
 
struct vector vector(double x, double y)
{
    struct vector v = {x, y};
    return v;
}
 
static double square(double val)
{
    return val * val;
}
 
double magnitude(struct vector v)
{
    return sqrt(square(v.x) + square(v.y));
}
Обрати внимание, что функция square объявлена как статичная, а также ее декларации нет в заголовочном файле; она не экспортируется, а используется как вспомогательная в экспортируемых функциях. Пример использования:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
#include "foo.h"
 
int main()
{
    double x, y;
    puts("Input coordinates of vector");
    scanf("%lf %lf", &x, &y);
    
    printf("A magnitude of {%.2f, %.2f} = %.2f\n", x, y, magnitude(vector(x, y)));
    exit(0);
}
Veyron
 Аватар для Veyron
105 / 105 / 4
Регистрация: 02.06.2009
Сообщений: 579
30.01.2011, 10:31     Вопрос по #include #3
В Visual Studio установите в свойствах проекта включенным параметр "Не удалять файл препроцессора" (точно как называется не помню, давно не использовал). Затем после сборки в папке с проектом будет файл препроцессора. Можно попробовать поразбираться в том, как работает препроцессор.

По этой директиве
Ardarik
11 / 8 / 2
Регистрация: 16.01.2011
Сообщений: 222
30.01.2011, 10:56  [ТС]     Вопрос по #include #4
Цитата Сообщение от Nameless One Посмотреть сообщение
Ardarik, директива препроцессора #include <filename> выполняет подстановку содержимого файла filename в текущий файл.


сформулируй свой вопрос попонятней, пожалуйста
Ты уже ответил на мой вопрос.
Yandex
Объявления
30.01.2011, 10:56     Вопрос по #include
Ответ Создать тему
Опции темы

Текущее время: 01:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru