【发布时间】:2011-01-27 19:23:42
【问题描述】:
我正计划编写一个程序,但我陷入了一个难题。我不想开始写一些东西,然后当我发现我的程序不可扩展时不得不重写它。另一个问题是我没有足够的编程知识来知道从哪里开始设计我的程序以便它是可扩展的。
我已经阅读了一些有关 DLL(或 unix 的延迟加载)、动态加载、运行时库加载/卸载等方面的资料。但我仍然无法完全理解我需要做什么。我将给出一个示例程序示例,如果有人可以引导我学习正确的方向以便我可以开始更大的程序,我将非常感激!
假设我创建了一个控制台程序“iAmDog”,您可以在其中输入命令,狗会相应地响应控制台的输出。现在让我们假设当我创建这个程序时,狗只有 1 个命令,“bark”,它产生输出“roofroofroof!”。我将如何编写这个程序,以便在用户仍在运行程序时,我可以编辑库或其他地方的代码,以将“坐”命令添加到狗的曲目中。
再次重申,理想情况下,我的计划是不停机或尽可能减少停机时间,同时能够对始终运行的程序的功能进行编码更新。
感谢您的阅读!
Russell aka SgtPooki
【问题讨论】:
-
有什么特别的原因为什么它必须是不重新编译而不仅仅是不编译? (即 Ruby)
-
我主要是在询问 C++,我想我应该指出这一点,但是如果没有关于 C++ 的问题,我希望根据其他语言的方式来学习如何在 C++ 中执行此操作。我喜欢 C++ =)
-
自发布此文章后了解了更多关于 MySQL 的信息后,我意识到我应该能够完成像命令和输出一样简单的事情。然后程序将检查数据库中的命令,而不是硬编码它们。但这将使其非常仅限于 [ cout
标签: dynamic extensibility recompile extensible