我开始使用微控制器并使用 C 语言对其进行编程。
我所有的编程经验都是使用 Python 语言。
我知道如果我想测试我用 python 编写的脚本,我可以简单地启动终端并输入“python”以及我想要运行的文件的路径。
我尝试了网络搜索,但大多数人似乎不明白我在问什么。
如何从终端运行 c?
我开始使用微控制器并使用 C 语言对其进行编程。
我所有的编程经验都是使用 Python 语言。
我知道如果我想测试我用 python 编写的脚本,我可以简单地启动终端并输入“python”以及我想要运行的文件的路径。
我尝试了网络搜索,但大多数人似乎不明白我在问什么。
如何从终端运行 c?
C 不是 Python 或 Perl 那样的解释型语言。您不能简单地键入 C 代码,然后告诉 shell 执行该文件。您需要使用 C 编译器编译 C 文件,
gcc
然后执行它输出的二进制文件。例如,运行
gcc file.c
将输出一个名为 的二进制文件a.out
。然后,您可以通过指定文件的完整路径来告诉 shell 执行二进制文件./a.out
。编辑:
正如一些评论和其他答案所述,存在一些 C 解释器。但是,我认为 C 编译器更受欢迎。
如果你有一个
foo.c
,看看是否make
可以为你编译它:没有makefile或任何需要的东西。
tcc -run file.c
有时会运行一个 .c 文件。如果 .c 文件需要额外的库,tcc -llib1 -llib2 ... -run file.c
就会成功。有时它只是行不通。tcc 不是 gcc。顺便说一句,您可以将
#!/usr/bin/tcc -run
.c 文件放在该文件的顶部,chmod +x
然后像任何其他脚本一样运行它。当 .c 文件在 tcc 中工作时,它的行为本身就很好。来自 C 新手的简单 .c 文件几乎总是可以工作的。
在实践中,这是一个重要的考虑因素。我猜你的微控制器有点像Arduino(或者可能是 Raspberry Pi)。
一般来说,你需要一些交叉编译器。然后,您将在您的桌面系统(例如某些 Linux,它对开发人员非常友好;但您可以找到托管在 Windows 或 MacOSX 上的交叉编译器,用于 Arduinos)上,将您的源代码交叉编译成针对您的微控制器的可执行文件然后将二进制可执行文件传输到您的微控制器。
C 是一门难的编程语言。
在许多情况下,您可以直接在桌面上编译代码(不要忘记启用所有警告和调试信息,例如
gcc -Wall -Wextra -g
使用GCC),在桌面上测试大部分代码,然后对其进行调整并将其移植到您的 Arduino 上。在笔记本电脑或台式机上调试某些代码比在 Arduino 上调试要容易得多。您稍后将为您的微控制器交叉编译相同的源代码。