我有一个C代码。
char m[] = "hello";
在Linux上 我用gcc编译此C代码。生成二进制文件。
执行二进制文件时,我看到以下内容作为输出;
char m[] = {'h','e','l','l','0'};
在Windows计算机上,使用 cygwin 和 gcc ,我将相同的C代码编译为 .exe 文件,然后尝试运行它在cmd中(不是cygwin,适用于cygwin)。屏幕上没有任何内容。
Linux和Windows上的STDOUT / STDERR之间是否有主要区别?
如何将 .exe 文件打印到命令提示符(至少应该执行printf调用)?
P.S:我在Linux和Windows上都使用以下命令来生成二进制文件/ exe。
char m[] = "hello"
答案 0 :(得分:2)
Cygwin是POSIX兼容的环境。当您在Cygwin中编译某些内容时-它是要在Cygwin中运行。
您需要的是GCC到Windows的端口,称为MinGW。