gpt4 book ai didi

C++:实现自定义主函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:20:47 26 4
gpt4 key购买 nike

WinMain 是一个“替换”默认主入口点“main”的函数。

然后用户可以像这样定义它的主要入口点

int WINAPI WinMain(...) { }


这种封装是怎么做到的?

嗯,很可能,在某些时候它看起来像这样:

int main() // This must be defined somewhere in windows.h
{
return WinMain(...);
}

问题:我怎样才能完成自己的封装,然后调用 WinMain?注意:我制作的库是一个 DLL,所以它看起来像这样:

// This is the minimal code for the application which uses 'MyLibrary'
#pragma comment(lib, "MyLibrary.lib")
include "MyLibrary.h"

void Main(MyCustomParameter *params)
{
// Write user code here
}

问题 然而,DLL 不“知道”Main() 函数,因此抛出“未解析的外部符号”编译错误。那么如何封装呢?

最佳答案

您必须决定自定义主函数的签名并将其声明为“extern”(在 C++ 中为 extern“C”)。然后,应用程序代码必须定义该函数并链接到具有实际 _main 入口点的静态库。例如:

extern "C" int my_main(int argc, char *argv[]);

int main(int argc, char *argv[])
{
return my_main(argc, argv);
}

关于C++:实现自定义主函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690153/

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