【问题标题】:Win32 Application, Call custom class method before calling Windows stuffWin32 应用程序,在调用 Windows 东西之前调用自定义类方法
【发布时间】:2015-06-23 14:48:33
【问题描述】:

上下文:

我正在尝试创建一个在 WIN 32 应用程序中首先被调用的类...该类有一个 Setup 方法...然后我将调用从这里获取的 Windows 类:

https://msdn.microsoft.com/en-us/library/bb384843.aspx

标题

class OSWindows : IOS
{
public:
    void Setup() override;
};

cpp

#include "OSWindows.h"

void OSWindows::Setup()
{
    // Calls the windows stuff...
}

问题

如何阻止 Win32 应用程序自动运行其WinMain 方法...

注意:

我正在尝试制作一个可移植的应用程序......因此不希望应用程序只是简单地让应用程序首先调用 windows 的东西。

【问题讨论】:

  • 你用的是什么编译器?
  • 我正在 Visual Studio 2013 中创建应用程序 :)。我正在研究如何查看当前正在使用的编译器。
  • 很多代码甚至在调用 WinMain 之前运行:CRT 初始化、全局构造函数、隐式加载的库和 DLL 中的初始化代码。你也想阻止这一切吗?不清楚跳过WinMain如何帮助你实现可移植代码,所以不清楚如何指导你。
  • 谢谢阿德里安,很高兴知道...我显然刚刚进入痛苦的世界...很高兴知道还有更多。谢谢!

标签: c++ winapi visual-studio-2013


【解决方案1】:

在 Visual Studio 中,您可以在

处更改入口点

Project Properties -> Configuration Properties -> Linker -> System -> SubSystem

如果您希望它是 int main,请将其更改为 Console (/SUBSYSTEM:CONSOLE)
Win32 应用程序的默认值为Windows (/SUBSYSTEM:WINDOWS),即WinMain

【讨论】:

  • 很难看出问题和这个答案之间的联系。也许如果这是答案,那么问题应该重新制定。
猜你喜欢
  • 2014-07-13
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
  • 2023-04-08
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多