如何使用 CL 在没有主函数的情况下编译 C?

Posted

技术标签:

【中文标题】如何使用 CL 在没有主函数的情况下编译 C?【英文标题】:How to compile C without a main function using CL? 【发布时间】:2019-11-06 09:54:36 【问题描述】:

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

test.c

void f()  return; ;

就是这样。我是这样编译的:

cl /Od test.c

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

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

【问题讨论】:

【参考方案1】:

解决方案是只汇编代码而不是按照MS Docs 调用链接器:

cl /Od /c test.c

【讨论】:

以上是关于如何使用 CL 在没有主函数的情况下编译 C?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 下编译 OpenSSL

如何在Windows下编译OpenSSL

如何在 Windows 下编译 OpenSSL

如何在没有 Ivy 的情况下编译库?

如何在没有 Cygwin 或 Visual Studio 的情况下编译 Magick++?

在 VS2015 中使用 cl 编译器的 C vs C++