使用linux终端编译问题

标签 c linux compilation

<分区>

所以我正在尝试使用 linux 命令行编译程序。我正在通过虚拟机使用 linux。我编译使用

gcc -lm calc.c -o calc

其中 calc.c 是源文件,我使用 -lm 进行编译,因为它包含 math.h。我将对源代码进行更改,但它不会在我运行时反射(reflect)出来。其实那行代码连calc.exe都不产生....求救??

最佳答案

In fact, that line of code does not even produce calc.exe

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

'gcc -lm calc.c -o calc'

此行将创建一个名为 calc 的可执行文件(-o 标志后的名称是您的可执行文件的名称)。你运行它:

./calc

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

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

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

关于使用linux终端编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15281106/

相关文章:

c - "Simplify"到一行

php - 一个目录下有很多文件?

c++ - 使用 g++ 编译 SDL 的问题

c - 在 Objective C 中声明方法的参数时出错

c - 数组下标不是整数【计数排序】

linux - bash 和 awk 脚本以 YYYY-MM-DD 格式获取上个月的日期

linux - 使用自定义插件部署入侵防御系统(snort 内联)

c++ - 是否允许 C++ 编译器发出编译同一程序的不同机器代码?

c++ - 未定义对在单独文件中定义的成员函数的引用

c - Actor 模型库、框架或用 C 编写的语言?