windows - 如何使用 CL 在没有主函数的情况下编译 C?
问题描述
我正在尝试使用 CL 创建一个 PE 二进制文件(或 lib),以便我可以探索生成的汇编语言?我的代码很简单:
测试.c
void f() { return; };
就是这样。我这样编译:
cl /Od test.c
我得到了错误LINK : fatal error LNK1561: entry point must be defined
。我有点知道这会发生,因为我知道编译器需要一个入口点。
但是如何在没有任何入口点的情况下编译代码来检查程序集呢?
解决方案
解决方案是仅组装代码,而不是按照MS Docs调用链接器:
cl /Od /c test.c
推荐阅读
- android - 如果我不需要房间数据库类型转换器的时间和日期怎么办
- python - Kivy ScreenManager 给了我一个黑屏
- regex - 正则表达式 - 匹配特定模式下的单词/字母
- java - 程序使用 jdk 运行,但不使用 jre
- angular - 使用 Karma/Jasmine 对 Angular 进行单元测试:
- scala - 如何在scala中使用包含@JoinColumn的注释@JoinTable
- git - Git 提交时权限不足错误
- c# - 在使用 wix sharp 在 Visual Studio 中构建 msi 之前执行 Post Build 事件
- docker - 如何从 dockerfile 管理文件
- opencv - 从外部轮廓创建蒙版以移除图像背景