gpt4 book ai didi

c++ - 构建没有 CRT 和默认 header 的控制台应用程序?

转载 作者:可可西里 更新时间:2023-11-01 13:05:46 25 4
gpt4 key购买 nike

我试图在不使用 CRT 或在任何情况下除 kernel32.lib 之外的任何其他导入的情况下构建控制台应用程序。我得到了要编译的代码,但无法将链接器包装在一些问题上:

unresolved external symbol @__security_check_cookie@4
unresolved external symbol "int __cdecl FreeLibrary(void *)" (?FreeLibrary@@YAHPAX@Z)
unresolved external symbol "void * __cdecl LoadLibraryW(wchar_t *)" (?LoadLibraryW@@YAPAXPA_W@Z)
unresolved external symbol "int (__cdecl*__cdecl GetProcAddress(void *,char *))(void)" (?GetProcAddress@@YAP6AHXZPAXPAD@Z)
unresolved external symbol _wmainCRTStartup

FreeLibrary、LoadLibraryW 和 GetProcAddress 我已经明确地引入了程序,而不是使用 windows.h:

#pragma comment(lib, "kernel32.lib")

typedef int(*FARPROC)();

void* LoadLibraryW( wchar_t* lpLibFileName );
FARPROC GetProcAddress( void* hModule, char* lpProcName );
int FreeLibrary( void* hLibModule );

我想我的原型(prototype)有问题。然而,更大的问题是__security_check_cookie_wmainCRTStartup,这显然与CRT有关。所以我想知道如何覆盖入口点的默认 int wmain(int argc, wchar_t* argv[]),以及如何摆脱安全 cookie。

最佳答案

_wmainCRTStartup是调用wmain()的函数

IIRC 它应该在一些您可以链接的 .o 文件中可用,请查看您的 lib 目录。

也许这也是有用的阅读:Reduce EXE and DLL Size with LIBCTINY.LIB (和 Matt Pietrek 摇滚 :-)

关于c++ - 构建没有 CRT 和默认 header 的控制台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/305064/

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