如何编写在 G-WAN 下使用的复杂应用程序
How to write complex application to be used under G-WAN
我想知道在使用 GWAN 开发应用程序时的最佳做法。
我有一个入门级的小应用程序(但是是大项目的关键部分),它将使用 C++ OOP。至少这意味着我有 类 可以根据 HTTP 请求进行初始化。
我应该如何构建资源以便在为 GWAN 开发时以有效和实用的方式使用它们?我是否必须单独开发应用程序并将其 link 像 shared/static 库一样?或者我可以包括它们,然后 GWAN 像对 CSP 文件夹中的脚本一样进行构建吗?我发现如果我将它们放在 CSP 文件夹中,结果是无法启动服务器,因为它失败并出现错误,因为在包含 类 实现的 cpp 文件中缺少主要功能。正因为如此,我承认将源放在 CSP 中并不是完成工作的方法,应该只有初始脚本将所有请求路由到应用程序。
另一件相关的事情是,我正在努力寻找实用的工作环境,以便在我必须构建要通过 CSP 使用的库的情况下更快地构建和测试。也许我会创建一种单独测试应用程序的方法,但是目前在 GWAN 环境中快速测试对我来说是一个不可见的解决方案,我相信它是存在的。
在 GWAN 下部署更新版本的 APP 应该尽可能简单和快速 - 方法是什么?我确实知道这个问题可能会通过确认上述问题的答案来解决,但让我留下它以防万一我对整个主题的当前理解有很大错误。
/csp
目录应该只包含入口点 servlets
- 也就是说,带有 main()
的源代码文件可以被远程客户端调用。
您可以在 /includes
(.h) 和 /libraries
目录 ( .c, *.obj, *.a, *.lib).
可以使用用于测试代码的 servlet 进行快速开发和测试,直到它成熟到足以存储在 /includes 或 /libraries 中。
对于大型项目,使用预编译库非常有意义,因为这将加快即时 servlet 编译(与大量包含文件相比)。
最后但并非最不重要的一点是,G-WAN 是为精益编码而设计的,为此目的,C++ 可能不如普通 C 最佳 - 想想构造函数的隐藏成本,它们的顺序,它们有时是冗余的动作,隐藏的内存分配等 - 在巨大的 C++ 运行时开销、高编译时间、黑盒标准库等之上
在 TWD,对于 Global-WAN(依赖于 G-WAN),我们花了很多时间用纯 C 语言重写 C++(非标准)库,在性能方面取得了非常明显的进步,错误和死锁清理以及内存使用。
你看不到的东西可能会伤害 - 并且伤害很深,因为,好吧,你直到为时已晚才看到它。
希望对您有所帮助。
我想知道在使用 GWAN 开发应用程序时的最佳做法。
我有一个入门级的小应用程序(但是是大项目的关键部分),它将使用 C++ OOP。至少这意味着我有 类 可以根据 HTTP 请求进行初始化。
我应该如何构建资源以便在为 GWAN 开发时以有效和实用的方式使用它们?我是否必须单独开发应用程序并将其 link 像 shared/static 库一样?或者我可以包括它们,然后 GWAN 像对 CSP 文件夹中的脚本一样进行构建吗?我发现如果我将它们放在 CSP 文件夹中,结果是无法启动服务器,因为它失败并出现错误,因为在包含 类 实现的 cpp 文件中缺少主要功能。正因为如此,我承认将源放在 CSP 中并不是完成工作的方法,应该只有初始脚本将所有请求路由到应用程序。
另一件相关的事情是,我正在努力寻找实用的工作环境,以便在我必须构建要通过 CSP 使用的库的情况下更快地构建和测试。也许我会创建一种单独测试应用程序的方法,但是目前在 GWAN 环境中快速测试对我来说是一个不可见的解决方案,我相信它是存在的。
在 GWAN 下部署更新版本的 APP 应该尽可能简单和快速 - 方法是什么?我确实知道这个问题可能会通过确认上述问题的答案来解决,但让我留下它以防万一我对整个主题的当前理解有很大错误。
/csp
目录应该只包含入口点 servlets
- 也就是说,带有 main()
的源代码文件可以被远程客户端调用。
您可以在 /includes
(.h) 和 /libraries
目录 ( .c, *.obj, *.a, *.lib).
可以使用用于测试代码的 servlet 进行快速开发和测试,直到它成熟到足以存储在 /includes 或 /libraries 中。
对于大型项目,使用预编译库非常有意义,因为这将加快即时 servlet 编译(与大量包含文件相比)。
最后但并非最不重要的一点是,G-WAN 是为精益编码而设计的,为此目的,C++ 可能不如普通 C 最佳 - 想想构造函数的隐藏成本,它们的顺序,它们有时是冗余的动作,隐藏的内存分配等 - 在巨大的 C++ 运行时开销、高编译时间、黑盒标准库等之上
在 TWD,对于 Global-WAN(依赖于 G-WAN),我们花了很多时间用纯 C 语言重写 C++(非标准)库,在性能方面取得了非常明显的进步,错误和死锁清理以及内存使用。
你看不到的东西可能会伤害 - 并且伤害很深,因为,好吧,你直到为时已晚才看到它。
希望对您有所帮助。