Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 如何在Visual Studio 2010中支持includelevel_Visual Studio 2010_Include - Fatal编程技术网

Visual studio 2010 如何在Visual Studio 2010中支持includelevel

Visual studio 2010 如何在Visual Studio 2010中支持includelevel,visual-studio-2010,include,Visual Studio 2010,Include,在学校,我们在Linux上使用c++/g++编译器来支持includelevel。这允许我们编写一个应用程序,包括一个证明函数工作的main,然后将该文件包含在另一个程序中以使用其函数。理论上,includelevel会在包含时屏蔽代码,这样就不会复制东西(比如有两条主线)。有没有办法让Visual Studio 2010识别includelevel?在编译时,它只是简单地说有两条主线(虽然有,但其中一条被include level阻塞),无法编译。我刚刚注释了包含的代码,以便它在VS2010中

在学校,我们在Linux上使用c++/g++编译器来支持includelevel。这允许我们编写一个应用程序,包括一个证明函数工作的main,然后将该文件包含在另一个程序中以使用其函数。理论上,includelevel会在包含时屏蔽代码,这样就不会复制东西(比如有两条主线)。有没有办法让Visual Studio 2010识别includelevel?在编译时,它只是简单地说有两条主线(虽然有,但其中一条被include level阻塞),无法编译。我刚刚注释了包含的代码,以便它在VS2010中编译,然后在推送到学校服务器(Linux)编译提交时取消注释。 前任: //文件:sort.cpp

#include <iostream>
using namespace std;

void BubbleSort(int arr[], int numitems, int &bcost);
    // Fancy sorting function description


#if __INCLUDE_LEVEL__ < 1
int main()
{
    //fancy program that proves the sorting function works
    return 0;
}
#endif

void BubbleSort(int arr[], int numitems, int &bcost) 
{
    // Fancy sorting function code
}

----------------------------------------------------------

// file: myapp.cpp

#include <iostream>
#include "sort.cpp"
using namespace std;

int main()
{
    //fancy application code that uses functions from the sort program
    return 0;
}
#包括
使用名称空间std;
void BubbleSort(int arr[],int numitems,int&bcost);
//花式排序功能描述
#如果uu包括u级别uu<1
int main()
{
//花哨的程序,证明排序功能的工作
返回0;
}
#恩迪夫
void BubbleSort(int arr[],int numitems,int&bcost)
{
//花式排序功能代码
}
----------------------------------------------------------
//文件:myapp.cpp
#包括
#包括“sort.cpp”
使用名称空间std;
int main()
{
//使用排序程序函数的奇特应用程序代码
返回0;
}

我相信您正在做的是在与测试的函数相同的源文件中编写测试

虽然这对于一个简单的程序来说可能很方便,但一旦变得更复杂,标准做法是将测试函数提取到一个单独的源文件中,并将其编译成一个单独的测试可执行文件(在某些情况下是DLL)

我以前使用过的一个简单结构是,有一个实现核心功能的库项目,有另一个包含主函数并编译为“real”程序的项目,还有一个包含测试的第三个项目及其运行测试的主函数

包含另一个源/实现(.cpp)文件也是非标准的