从不同的C文件导入函数

Importing Functions from a different C file

本文关键字:文件 导入 函数      更新时间:2023-10-16

我想从Microsoft Visual c++ 6.0中的另一个文件导入函数。我该怎么做呢?我已经尝试了如下:

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

其中functions.cpp是我想要导入函数的文件名。F:CC++Term ProjectDos Plotter function Plotter.cpp(6):致命错误C1083:无法打开类型库文件:'Functions.cpp':没有这样的文件或目录

我该如何解决这个问题?

#import指令用于类型库,通常是COM或。net,而不是c++源文件。有关完整的详细信息,请参阅MSDN页面。

为了包含来自另一个文件的c++函数,您通常需要使用#include指令(详细信息)。这包括编译期间来自给定文件的代码。通常,你应该包含一个包含函数原型的头文件;可以包含代码文件,但通常不需要,也不总是安全的。

要做到这一点,您应该为您的函数提供两个文件,一个头文件和一个源文件。头文件读起来像这样:
#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中,您应该为项目include添加必要的路径(这因版本而异,但通常在项目属性->编译器下)。

1)你是说functions.hpp吗?C/cpp文件不应该是#include d,除非你非常清楚你在做什么。

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

3)在c中没有定义Import。您需要将原型和实现分开,include-guard原型文件,并#include原型文件。

如果文件functions.cpp位于同一目录,则使用include "functions.cpp"代替

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

  1. Linux: /home/uname/appfolder/imported-function.hpp
  2. Windows: C:Usernameunameappfolderimported-function.hpp
  3. ChromeOS: /home/chronos/u-4e4342ea6b3b92244e7d4753922f0dc7125f4a1d/MyFiles/appfolder/imported-function.hpp