从其他C文件导入函数

时间:2011-11-06 06:06:18

标签: c++ c function import

我想从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':没有这样的文件或目录< / em>的

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

1)你的意思是functions.hpp吗? C / cpp文件不应该是#include d,除非您非常了解自己在做什么。

2)将文件的位置添加到项目属性中的自定义包含路径,或使用include "foo"格式代替include <foo>

3)导入在C中未定义。您需要分离原型和实现,包括保护原型文件,以及#include原型文件。

答案 1 :(得分:3)

#import指令用于类型库,通常是COM或.Net,而不是C ++源文件。有关完整的详细信息,请参阅the MSDN page

为了包含来自其他文件的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中,您应该添加项目包含的必要路径(这取决于版本,但通常在项目属性 - &gt;编译器下)。

答案 2 :(得分:1)

命名文件imported-function.hpp,并确保该文件位于相同的目录中。或者,您可以将其链接到

  1. Linux:/home/uname/appfolder/imported-function.hpp
  2. Windows:C:\Username\uname\appfolder\imported-function.hpp
  3. Chrome操作系统:/home/chronos/u-4e4342ea6b3b92244e7d4753922f0dc7125f4a1d/MyFiles/appfolder/imported-function.hpp

答案 3 :(得分:0)

在同一目录上放置文件functions.cpp,请使用include "functions.cpp"代替