3

我认为这是一个非常简单的问题,但我对命令行的经验较少。我有一个想要运行的旧 C 程序。它显示以下文本:

/*      This is a stand-alone program intended to generate ...  It is called*/
/*      as follows:                                                         */
/*                                                                          */
/*          tw_r2fft N > outputfile.c                                       */ 
/*      This program will generate the ... array 'w'                        */
/*      and output the result to the display.  Redirect the                 */
/*      output to a file as shown above.                                    */

我试过(在cmd中):

gcc tw_r2fft.c 1024 > outputfile.c

gcc 的错误信息是:

gcc: 1024: No such file or directory

我尝试了一些变化,但没有成功。

4

7 回答 7

13

我相信文档意味着您应该首先编译和构建程序,然后使用参数调用可执行文件。因此,在您的情况下,您将需要执行以下操作:

gcc tw_r2fft.c -o tw_r2fft 
./tw_r2fft 1024 > outputfile.c
于 2013-09-26T15:11:58.223 回答
4

试试这个把 C 程序编译成可执行的二进制文件:

gcc -o tw_r2fft tw_r2fft.c

然后使用正确的命令行参数启动二进制文件:

./tw_r2fft 1024 >outputfile.c

然后你也可以编译和运行你的输出文件::)

gcc -o test outputfile.c
./test
于 2013-09-26T15:13:20.440 回答
2

您需要在运行程序之前对其进行编译

gcc tw_r2fft.c -o tw_r2fft
./tw_r2fft 1024 > outputfile.c
于 2013-09-26T15:12:08.793 回答
1

该注释是对如何使用已编译程序的说明。您需要先构建它。

最简单的:

make tw_r2fft
./tw_r2fft 1024 > outputfile.c

下一个最简单的:

gcc -o tw_r2fft tw_r2fft.c
./tw_r2fft 1024 > outputfile.c
于 2013-09-26T15:12:38.010 回答
1

这一行将编译你的程序

gcc tw_r2fft.c -o tw_r2fft 

gcc 是编译器,tw_r2fft.c 是你的文件名。-o 是一种更改输出文件名的方法。您可以在没有 -o 的情况下编译程序,但默认情况下,编译器会将您的输出文件保存为 ./a.out

此行执行您的输出文件并传递命令行参数,即 1024,整个程序的输出保存到 outputfile.c

./tw_r2fft 1024 > outputfile.c

仍然需要帮助

http://www.cyberciti.biz/faq/compiling-c-program-and-creating-executable-file/

于 2013-09-26T15:21:51.907 回答
0

你可以试试这个:

gcc tw_r2fft.c -o tw_r2fft && ./twr2fft 1024 > outputfile.c

或没有 -o 选项:

gcc tw_r2fft.c && ./a.out 1024 > outputfile.c
于 2020-04-17T20:26:16.333 回答
0

一行代码编译运行一个程序:

gcc source.c -o sourceBinary; ./sourceBinary

分号表示 bash 中的结束语句/中断。

于 2020-07-07T19:26:20.470 回答