在Microsoft Visual C++中,光线跟踪器应该是什么类型的项目

What type of project should a raytracer be in Microsoft Visual C++?

本文关键字:是什么 类型 项目 光线跟踪 Visual Microsoft C++      更新时间:2023-10-16

类库、CLR控制台应用程序、CLR空项目、makefile项目、控制台应用程序还是窗体应用程序?

这个问题没有任何意义。你到底想创建什么?一旦你知道了这一点,你就会知道你应该选择哪些项目模板!

应用程序(意味着最终用户实际与之交互的东西)永远不可能是类库类库旨在包含可重复使用的代码"库"。如果您正在编写一些光线跟踪代码,其他应用程序将使用这些代码来提供光线跟踪功能,那么类库正是您想要的。但是,如果您希望最终用户能够从您编写的代码中直接执行光线跟踪,这并不是答案。

控制台应用程序将在桌面上的控制台窗口中运行。这就是你可能知道的"DOS"窗口,尽管这在技术上是不准确的。控制台应用程序不是基于DOS的,它们完全是32位Windows NT应用程序。但它们只是文本,可能不是最适合图形应用程序的。

CLR应用程序将是以为目标的应用程序。NET框架。具体来说,"窗体"应用程序将创建一个Windows窗体应用程序。Windows窗体(也称为"WinForms")是一个围绕本机Windows API的托管包装器,用于创建标准图形应用程序。这通常是一种很好的方法,但它确实赋予了对的依赖性。NET运行时,如果性能在应用程序中至关重要,那么您可能希望避免这种情况。在的管理世界中发展。NET通常比其他替代方案简单直观得多,但它确实以牺牲一些性能为代价。牺牲是否值得,只有你自己才能决定。

CLR应用程序的替代方案是直接的Win32应用程序,该应用程序直接以本机Windows API为目标。如上所述,这条路线的优势在于,你会得到一个更小、更快的应用程序,但开发起来会更加困难和耗时特别是如果您还不了解Win32 API这一复杂主题的话。

当然,"空"项目是不包含任何文件的项目!你可能不想那样。向导使入门变得更加容易。

Makefile项目甚至根本不创建应用程序。所以完全忽略这个!