我想知道使用GWAN开发应用程序时的良好实践。
我有一个初学者小应用程序(但是大项目的关键部分)将使用C ++ OOP。至少这意味着我有可以在HTTP请求上初始化的类。
在为GWAN开发时,我应该如何构建源代码以便以有效和实用的方式使用它们?我是否必须单独开发应用程序并将其链接为共享/静态库?或者我可以包含它们,GWAN是否正在为CSP文件夹中的脚本执行构建?我发现,如果我把它们放在CSP文件夹中,结果就是启动服务器失败,因为它失败了,因为缺少cpp文件中缺少主要功能的错误,这些文件是持有类实现的。因此,我接受了将源代码放入CSP并不是完成工作的方法,应该只有初始脚本将所有请求路由到应用程序。
另一件相关的事情是,我正在努力寻找实际的工作环境,以便在我必须构建一个可以通过CSP使用的库的情况下更快地构建和测试。也许我会创建一种单独测试应用程序的方法,但是在GWAN环境中快速测试对我来说是一个不可见的解决方案,我相信在那里。
在GWAN下部署更新版本的APP应该尽可能简单快捷 - 这是什么方式?我知道通过承认上述答案可能会清楚这个问题,但让我离开它,以防万一我对目前对这一主题的理解非常错误。
答案 0 :(得分:1)
/csp
目录应该只包含入口点servlets
- 即可以由远程客户端调用的main()
源代码文件。
您可以在/includes
( .h)和/libraries
目录中放置源代码形式(或编译形式)的函数(从多个servlet调用)( .c,* .obj,* .a,* .lib)。
可以使用用于测试代码的servlet进行快速开发和测试,直到它成熟到足以存储在/ includes或/ libraries中。
对于大型项目,使用预编译库非常有意义,因为这将加速动态servlet编译(与大量包含文件相比)。
最后但并非最不重要的是,G-WAN是专为精简编码而设计的,为此目的,C ++可能不如普通C那样最优 - 只需考虑构造函数的隐藏成本,它们的顺序,有时冗余的操作,隐藏的内存分配等等 - 在巨大的C ++运行时开销,高编译时间,黑盒标准库等的基础上。
在TWD,对于Global-WAN(依赖于G-WAN),我们花了很多时间在简单的C中重写C ++(非标准)库,在性能,bug和性能方面取得了非常明显的好处。死锁清理和内存使用情况。
你看不到的东西可能会受到伤害 - 并且伤害很严重,因为,直到为时已晚,你才会看到它。
希望这有帮助。