继续没有msvcrt.dll

时间:2014-12-12 20:49:03

标签: c++ c winapi gcc mingw

当我在mingw中编译空主时,我得到27kb exe和1000行反汇编, 生成的exe引用了kernel32.dll和msvcrt.dll

发现一些我可以放“-nostdlib -Wl, - exclude-libs,msvcrt.a” 选项和现在生成的exe是3kb并且有大约10行程序集

那很好,同样依赖于walker的东西也不会引用任何引用

我想继续使用第二种形式(剥离msvcrt.dll引用) 但能够链接到win32.dll-s来制作winapi编程(但没有c-lib和东西)

当我扔掉msvcrt.dll时,如何链接到winapi dll?需要我添加 winapi dlls的一些导入库还是什么?

1 个答案:

答案 0 :(得分:2)

您只需在链接命令行中添加所需的库:

gcc -c somefile.c
gcc -o someprogram somefile.o -nostdlib -luser32 -lshlwapi

您可能还希望使用-static-libgcc静态链接libgcc以防止libgcc DLL引入msvcrt.dll。