我最近开始在Visual Studio上工作,主要是处理CUDA和OpenCV相关的项目。在此之前,我一直在Linux上使用Makefile和NVIDIA的common.mk Makefile进行CUDA开发。
我的问题是:我一直无法弄清楚不同项目模板之间的区别。我知道我必须使用Visual C++选项卡中的“空项目”,但这更多是通过尝试和错误来得出结论,而不是真正理解正在发生的事情...
我最近开始在Visual Studio上工作,主要是处理CUDA和OpenCV相关的项目。在此之前,我一直在Linux上使用Makefile和NVIDIA的common.mk Makefile进行CUDA开发。
我的问题是:我一直无法弄清楚不同项目模板之间的区别。我知道我必须使用Visual C++选项卡中的“空项目”,但这更多是通过尝试和错误来得出结论,而不是真正理解正在发生的事情...
如果你想要得到一个DLL或Win32应用程序,通常使用裸的WinAPI,那么就需要使用Win32项目。而使用公共语言运行时(CLR)项目则是为了创建C++/CLI项目,也就是使用C++/CLI来针对.NET平台进行开发。
两种项目的主要区别在于Visual Studio预先创建的文件。例如,当你选择Win32项目时,会创建一个窗口化的Win32应用程序(但不是DLL),其中包含一些资源文件(菜单、加速器、图标等)以及一些默认代码,用于创建和注册窗口类并实例化该窗口。
int main
的控制台子系统也可以创建窗口应用程序,但最好使用WinMain。