为了好玩,我想创建一个不依赖于CRT的(工作)可执行文件。这并不难读了一些文章后,所以我看中了:如何手动导入Windows API函数?
/* test.c */
int main(){
return 0;
}
...
/* Compiling & Linking: */
cl /c /O2 /Ox /Os test.c
link /ENTRY:main /NODEFAULTLIB /SUBSYSTEM:WINDOWS /ALIGN:16 /ignore:4108 test.obj
到目前为止好,但我希望能够调用Windows API的功能。例如,我应该怎么链接下面的代码块?:
#define UNICODE
#include <windows.h>
int main(){
MessageBox
(NULL, TEXT("Hello Stackoverflow!"), TEXT("Hello Stackoverflow"), MB_OK);
return 0;
}
我阅读下面的文章,但未能拿出一个解决方案: Minicrt,Small Programs,Tiny PE,Techniques for reducing Executable size。
感谢提前:)
这个问题与放弃CRT无关,你仍然没有这样做。 – hamstergene