开发者社区 问答 正文

为什么c语言源文件编译后没有创建对象文件.obj,而是直接生成可执行文件.exe?

为什么c语言源文件编译后没有创建对象文件.obj,而是直接生成可执行文件.exe?
我在教材里看到,c语言源文件编译后会产生扩展名为.obj的对象文件,可是我在编译后只有生成一个.exe的可执行文件,这是为什么?

展开
收起
a123456678 2016-06-07 17:52:55 5252 分享 版权
6 条回答
写回答
取消 提交回答
  • 因为现在省略了中间步骤,你改下编译参数,一步步来,就可以看到obj

    2020-03-19 10:50:00
    赞同 展开评论
  • 因为现在省略了中间步骤,你改下编译参数,一步步来,就可以看到obj

    2020-03-17 11:05:17
    赞同 展开评论
  • 专注物联网

    需要指定编译连接参数,默认应该是有obj的

    2019-07-17 19:30:35
    赞同 展开评论
  • 软件开发,安全加密

    需要指定编译连接参数,默认应该是有obj的

    2019-07-17 19:30:35
    赞同 展开评论
  • 乐于学习与分析

    需要指定编译连接参数,默认应该是有obj的

    2019-07-17 19:30:35
    赞同 展开评论
  • gcc -c main.c
    使用-c参数告诉编译器的driver只执行编译

    gcc main.c
    编译器的driver会执行编译,在一个临时目录中生成.o文件,再执行链接,生成可执行文件。

    windows下使用MS 编译器同理,不过不知到具体的参数是什么。

    2019-07-17 19:30:35
    赞同 展开评论
滑动查看更多