如何在Linux或UNIX中编译C程序
时间:2020-01-09 10:41:35 来源:igfitidea点击:
在Linux下,我编写了一个名为test.c的小程序。
使用Fedora Linux时如何在Linux中编译并查看C程序的输出?
在Linux下,您需要使用cc/gcc(GNU项目C和C ++编译器)命令来编译用C或C ++编写的程序。
编译程序时,它将生成一个称为a.out的可执行文件。
语法
语法为:
gcc -o output-file program.c
或者
cc -o output-file program.c
或者
make program.c
例子代码
这是一个名为test.c的示例C代码,我将使用GNU C编译器进行编译:
/* Purpose: A simple program to get name and information about current kernel * using uname(2) on a Linux. * Author: <https://www.theitroad.local> */ #include <sys/utsname.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/utsname.h> int main(void){ int i; struct utsname myname; i = uname(&myname); /* hold the structure */ if ( i == 0 ){ printf("Operating system name : %s\n",myname.sysname); printf("Node name : %s\n",myname.nodename); printf("Operating system release : %s\n",myname.release); printf("Operating system name : %s\n",myname.version); printf("Hardware identifier : %s\n",myname.machine); } else { fprintf(stderr,"Oh no. uname(2) failed with %s\n", strerror(errno)); exit(1); } return 0; }
编译程序
要编译,请输入以下命令:
$ gcc test.c
或者
$ cc test.c
执行程序以查看输出
上面的命令将创建一个名为a.out的文件。
要查看test.c程序类型的输出,请执行以下操作:
$ ./a.out
编译为特定的可执行文件
您可以在编译程序本身时指定可执行文件名:
$ gcc -o test test.c
或者
$ cc test.c -o test
或者
$ make test
现在执行测试程序以在屏幕上查看test.c的输出:
$ ./test