C 使用linux终端编译问题

C 使用linux终端编译问题,c,linux,compilation,C,Linux,Compilation,因此,我试图使用linux命令行编译一个程序。我通过虚拟机使用linux。我使用 gcc -lm calc.c -o calc 其中calc.c是源文件,我使用-lm进行编译,因为它包含math.h。我将对源代码进行更改,但它不会在运行时反映出来。事实上,这行代码甚至不生成calc.exe…帮助 事实上,这行代码甚至不生成calc.exe 您需要阅读gcc和Linux,可执行文件在Linux中不需要任何特定的扩展,它只需要可执行权限。(.exe在windows上使用) “gcc-lm计算-o计

因此,我试图使用linux命令行编译一个程序。我通过虚拟机使用linux。我使用

gcc -lm calc.c -o calc
其中
calc.c
是源文件,我使用
-lm
进行编译,因为它包含
math.h
。我将对源代码进行更改,但它不会在运行时反映出来。事实上,这行代码甚至不生成calc.exe…帮助

事实上,这行代码甚至不生成calc.exe

您需要阅读gcc和Linux,可执行文件在Linux中不需要任何特定的扩展,它只需要可执行权限。(.exe在windows上使用)

“gcc-lm计算-o计算”

此行将生成一个名为
calc
的可执行文件(
-o
标志后的名称是可执行文件的名称)。您可以通过以下方式运行它:

/calc

您可以通过
ls-l calc
验证它是否可执行,您将看到如下内容:

-rwxrwxr-x 1 [owner/group names] [file size] [date you built] [time you built] calc

输出中的x表示它是可执行的。

您说的是“它不反映我运行时的情况”。如果甚至不生成可执行文件,您如何运行它?
calc
calc.exe
不同。它是否会创建
calc
?在Linux中,您不会将.exe放入可执行文件中。谢谢你的帮助。事实证明,我的代码中有一个错误,导致它无法编译。我没有把它通读一遍。。。lol@CalvinS-哥达查信息技术happens@CalvinS:前缀
/
很重要;如果没有它,如果您的
$PATH
中碰巧有一个名为
calc
的程序,那么您可以执行该程序,而不是执行您的程序。(名为
Test
的测试程序是此错误的常见来源。)如果您的代码没有编译,您应该会从编译器收到一条错误消息。请注意:您还可以键入
file calc
,并获得有关它是哪种文件的一些输出。