我是C ++的新手(今天开始,只做了大约10分钟)。如何在终端上编译和运行?这是一个计算可用座位数(r * s)的基本程序。第一个输入行是行数和座位数,第二个输入行是门票数(人数)。然后输出将显示有多少人坐着然后分别站立。
#include <stdio.h>
int main() {
int r, s, sit,stand,tickets;
freopen("sitin.txt", "r", stdin);
freopen("sitout.txt", "w", stdout);
scanf("%d %d", &r, &s);
scanf("%d", &tickets);
printf("%d %d\n",r*s,tickets-(r*s));
return 0;
}
答案 0 :(得分:2)
使用gcc编译器/链接器:
gcc -g -c myfile.c -o myfile.o -I.
编译myfile.c
以生成目标文件myfile.o
然后使用:
gcc -g myfile.o -o myfile
链接文件myfile.o
以生成可执行文件myfile
然后使用
执行它cat sitin.txt | ./myfile > sitout.txt
以上行确实:1)调用cat
实用程序,将sitin.txt
文件作为参数传递给它。 2)将stdout
的{{1}}重定向到myfile的cat
。 3)myfile的stdin
被重定向到stdout
文件
请不要像问题所示更改sitout.txt
和stdout stdin
cat if going to use
重定向`的初始文件指针。
答案 1 :(得分:1)
要在Unix / Linux环境中编译C代码,您可以使用GCC(Gnu C编译器):
srcfile.c
其中-o
是包含源代码的文件的名称。
如果您不使用a.out
选项,gcc将生成名为gcc --h
的可执行(二进制)文件。
通过运行man gcc
或#include <stdio.h>
int main(void)
{
int r, s, sit,stand,tickets;
scanf("%d %d", &r, &s);
scanf("%d", &tickets);
printf("%d %d\n",r*s,tickets-(r*s));
return 0;
}
修改强>
或许,以下信息对您有用。
如果您创建代码
code.c
将其保存到文件 gcc code.c
将其编译为
./a.out <sitin.txt >sitout.txt
并以
运行a.out
您的程序(scanf
)将从sitin.txt
获取printf
函数的输入(文件必须可供读取)并将sitout.txt
函数的输出放入{{ 1}}(将创建文件)
答案 2 :(得分:0)
这是纯粹的C风格编码,因此我们要求您将标签从c ++编辑为c。
其次,在linux终端上编译并运行单个命令时使用
gcc -g -Wall <program_name.c> -o <binary name>
然后,要运行二进制文件,请使用以下命令:
./<binary name>
第二种方法是首先使用编译
创建.o文件gcc -g -Wall -c <program_name.c>
然后使用链接作为
gcc <program_name.o> -o <binary name>
现在,您可以将二进制文件作为
运行 ./binary name