c - 为什么我在窗口 C 编程中得到 "a.exe"而不是 "a.out"

标签 c compilation

<分区>

当我通过 cc hello_world.c 编译下面的“hello_world.c”时,
它生成一个“a.exe”而不是“a.out”

#include <stdio.h>

main()
{
    printf("hello, world\n");
}
  1. “a.out”和“a.exe”有什么区别?
  2. 为什么我得到的是“a.exe”而不是“a.out”?

最佳答案

这取决于您的平台。例如gcc将产生 .out在 Linux 上,和 .exe在 Windows 上,如果你不给它任何额外的参数。 (即运行 cc / gcc "source" )。

你可以强制gcc产生一个.out在带有 gcc "source" -o "dest.out" 的 Windows 上.

如果您的编译器默认输出一个扩展名(在您的情况下,.exe 似乎是默认值,这对于 Windows 来说是完全可以的),我会坚持使用它。无需担心找不到其他类型。

关于c - 为什么我在窗口 C 编程中得到 "a.exe"而不是 "a.out",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47377488/

相关文章:

c - 给 C 链表中的整数赋值

c - 不要正确加密 wincrypt

c++ - G++/C++无法链接库

c++ - 包含的 C++/C 头文件的实现在哪里?

java - 为什么三元运算必须返回一个值?

c++ - 使用 Boost + GCC + 预编译 header 的编译时间变慢

c - 在c中为轮询添加回调函数

c - 从文件中扫描单词的问题(在 C 中)

c - 选择排序算法(C)

你能在 C 中同时使用 printf() 和 ncurses 函数吗?