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