当我在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的一些导入库还是什么?
答案 0 :(得分:2)
您只需在链接命令行中添加所需的库:
gcc -c somefile.c
gcc -o someprogram somefile.o -nostdlib -luser32 -lshlwapi
您可能还希望使用-static-libgcc
静态链接libgcc以防止libgcc DLL引入msvcrt.dll。