首页 > 解决方案 > 如何使用 CL 在没有主函数的情况下编译 C?

问题描述

我正在尝试使用 CL 创建一个 PE 二进制文件(或 lib),以便我可以探索生成的汇编语言?我的代码很简单:

测试.c

void f() { return; };

就是这样。我这样编译:

cl /Od test.c

我得到了错误LINK : fatal error LNK1561: entry point must be defined。我有点知道这会发生,因为我知道编译器需要一个入口点。

但是如何在没有任何入口点的情况下编译代码来检查程序集呢?

标签: windowscl

解决方案


解决方案是仅组装代码,而不是按照MS Docs调用链接器:

cl /Od /c test.c

推荐阅读