从不同的 C 文件导入函数

Raf*_*mal 4 c c++ import function

我想从 Microsoft Visual C++ 6.0 中的另一个文件导入函数。我怎样才能做到这一点?我尝试过如下:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#import <functions.cpp>
Run Code Online (Sandbox Code Playgroud)

其中,functions.cpp 是我要导入函数的文件名。但这给出了错误:F:\CC++\Term Project\Dos Plotter\Functiom Plotter.cpp(6) : fatal error C1083: 无法打开类型库文件: 'Functions.cpp': 没有这样的文件或目录

我怎么解决这个问题?

ssu*_*ube 7

#import指令与类型库(通常是 COM 或 .Net)一起使用,而不是与 C++ 源文件一起使用。有关完整的详细信息,请参阅MSDN 页面

为了包含另一个文件中的 C++ 函数,您通常需要使用指令#include( details )。这包括编译期间给定文件中的代码。大多数情况下,您应该包含一个包含函数原型的标头;可以包含代码文件,但不常用或始终安全。

为此,您应该为您的函数提供两个文件,一个头文件和一个源文件。标题将显示如下内容:

#pragma once

void Function(int arg);
Run Code Online (Sandbox Code Playgroud)

和来源:

#include "functions.hpp"

void Function(int arg) { ++arg; }
Run Code Online (Sandbox Code Playgroud)

要在另一个文件中使用它,您可以:

#include "functions.hpp"

void OtherFunction()
{
    Function(2);
}
Run Code Online (Sandbox Code Playgroud)

您还应该注意,标头通常只应包含一次。保证这一点的 MSVC 标准方法是添加#pragma once到开头。

编辑:为了解决您发布的特定错误(适用于 和#import#include,您尝试包含的文件必须位于编译器搜索路径内的某个位置。在 Visual Studio 中,您应该添加项目包含的必要路径(这因版本而异,但通常位于项目属性 -> 编译器下)。