Импорт функций из другого файла C - PullRequest
1 голос
/ 06 ноября 2011

Я хочу импортировать функции из другого файла в Microsoft Visual C ++ 6.0. Как я могу это сделать? Я пытался с этим следующим образом:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#import <functions.cpp>

где functions.cpp - имя файла, из которого я хочу импортировать функции. Но это выдает ошибку: F: \ CC ++ \ Term Project \ Dos Plotter \ Functiom Plotter.cpp (6): фатальная ошибка C1083: Невозможно открыть файл библиотеки типов: 'Functions.cpp': такого файла или каталога нет

Как я могу решить эту проблему?

Ответы [ 3 ]

4 голосов
/ 06 ноября 2011

1) Вы имели в виду functions.hpp?Файлы C / cpp не должны иметь значение #include d, если вы не очень хорошо знаете, что делаете.

2) Добавьте местоположение файла в путь настраиваемого включения в свойствах проекта или используйте *Формат 1004 * вместо include <foo>

3) Импорт в Си не определен. Вам необходимо разделить прототипы и реализации, включить файл-прототип с защитой и #include файл-прототип.

3 голосов
/ 06 ноября 2011

Директива #import используется с библиотеками типов, часто с COM или .Net, а не с исходными файлами C ++.Для получения полной информации см. страницу MSDN .

. Чтобы включить функции C ++ из другого файла, обычно требуется использовать директиву #include ( details ).,Это включает в себя код из данного файла во время компиляции.Чаще всего вы должны включать заголовок, содержащий прототипы функций;Можно включать файлы кода, но они обычно не нужны или всегда безопасны.

Для этого вам необходимо предоставить два файла, заголовок и исходный файл, для ваших функций.Заголовок будет выглядеть примерно так:

#pragma once

void Function(int arg);

и источник:

#include "functions.hpp"

void Function(int arg) { ++arg; }

Чтобы использовать это в другом файле, вы должны:

#include "functions.hpp"

void OtherFunction()
{
    Function(2);
}

Вы должныТакже обратите внимание, что заголовок обычно должен быть включен только один раз.Стандартный метод MSVC, гарантирующий это, заключается в добавлении #pragma once в начало.

Редактирование: и устранении указанной вами ошибки, которая относится как к #importи #include, файл, который вы пытаетесь включить, должен находиться где-то в пути поиска компилятора.В Visual Studio вы должны добавить необходимый путь к включаемым проектам (это зависит от версии, но обычно находится в свойствах проекта -> компилятор).

0 голосов
/ 06 ноября 2011

с файлом functions.cpp в том же каталоге, используйте include "functions.cpp" вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...