gpt4 book ai didi

c++ - 不使用 Windows API 或 MFC 的应用程序的一个实例

转载 作者:太空宇宙 更新时间:2023-11-04 13:34:35 25 4
gpt4 key购买 nike

在面试中我遇到了这个奇怪的问题?谁能告诉我答案

事情是这样的。如何仅使用基本的 C++ 运行应用程序的单个实例?

您不能使用任何 Windows API,也不能使用 MFC。您不能操纵注册表....

请让我知道..这是一个悬而未决的问题。面试官向我提出挑战,即使游戏已经结束,也要弄清楚。

希望我的问题没有违背堆栈溢出的目的...

最佳答案

所以,我将按照我对您发布的内容的解释:

How can you run a single instance of an application using basic c++ only??

太开放了。可能他希望你提出问题......比如:“好的,它将运行哪个平台?”。我认为这是最重要的问题。

我的理解是,他希望您的应用程序可执行文件使用 C++ 构建并编译到平台,以运行另一个应用程序(第二个应用程序)的单个实例,没有系统调用、API 或其他任何东西。 您的应用程序如何运行并不重要,重要的是您将如何运行该其他应用程序。因此它引出了另一个重要问题:“我应该为哪个平台运行编译的其他应用程序?”。如果它是 Windows 应用程序,它需要使用 Windows 系统调用运行,因为它具有特定于平台的依赖项。我在这里说的是 Windows,但对于任何广泛使用的平台(如 Unix)来说都是一样的。

我认为最通用的答案是:“在我使用基本 C++ 构建的应用程序中运行(内联)ASM 代码,因为 ASM 代码遵循运行一切的处理器的指令集。”。

更直接:直接在处理器上运行它,使用第二个应用程序指令,使用内联汇编。

编辑 - 添加另一个观点:

另一种方法,如果他想要的只是运行你做的应用程序的单个实例(很奇怪,但可能是他要求的),就是将你的 C++ 应用程序编译成特定的体系结构,将其加载(闪存,取决于平台)到处理器内存,然后启动处理器。这是一种“裸机”方法,这也是一个有效的答案。

关于c++ - 不使用 Windows API 或 MFC 的应用程序的一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30071524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com