如何在Linux中编译和运行C/C ++代码

时间:2020-01-09 10:40:05  来源:igfitidea点击:

在Ubuntu Linux中,如何使用bash Terminal应用程序在Linux操作系统上编译C或C ++程序?

要在任何Linux发行版(例如Ubuntu,Red Hat,Fedora,Debian和其他Linux发行版)上编译C或C ++程序,您需要安装:

  • GNU C和C ++编译器集合
  • 开发工具
  • 开发库
  • IDE或文本编辑器编写程序

步骤1:安装C/C ++编译器和相关工具

如果您使用的是Fedora,Red Hat,CentOS或Scientific Linux,请使用以下yum命令安装GNU c/c ++编译器:

# yum groupinstall 'Development Tools'

如果您使用的是Debian或Ubuntu Linux,请执行以下apt-get命令以安装GNU c/c ++编译器:

$ sudo apt-get update
$ sudo apt-get install build-essential manpages-dev

步骤2:验证安装

执行以下命令以显示Linux上的编译器的版本号和位置:

$ whereis gcc
$ which gcc
$ gcc --version

如何在Linux上编译和运行C/C ++程序

使用文本编辑器(例如vi,emacs或joe)创建一个名为demo.c的文件:

#include<stdio.h>
/* demo.c:  My first C program on a Linux */
int main(void)
{
printf("Hello! This is a test prgoram.\n");
return 0;
}

如何在Linux上编译程序?

使用以下任何一种语法来编译名为demo.c的程序:

cc program-source-code.c -o executable-file-name

或者

gcc program-source-code.c -o executable-file-name

或者

## assuming that executable-file-name.c exists ##
make executable-file-name

在此示例中,编译demo.c,执行:

cc     demo.c   -o demo

或者

## assuming demo.c exists in the current directory ##
make demo

如果您的代码或C程序中没有错误,则编译器将在当前目录中成功创建一个名为demo的可执行文件,否则您需要修复代码。
要验证这一点,请执行:

$ ls -l demo*

如何在Linux上运行或执行名为demo的程序?

只需执行程序名称:

$ ./demo

或者

$ /path/to/demo

编译并运行一个简单的C ++程序

创建一个名为demo2.C的程序,如下所示:

#include "iostream"
// demo2.C - Sample C++ program 
int main(void) 
{
    std::cout << "Hello! This is a C++ program.\n";
    return 0;
}

要编译该程序,请执行:

g++ demo2.C -o demo2
## or use the following syntax ##
make demo2

要运行此程序,请执行:

./demo2

如何为gdb和警告消息生成符号信息?

语法如下C编译器:

cc -g -Wall input.c -o executable

语法如下C ++编译器:

g++ -g -Wall input.C -o executable

如何在Linux机器上生成优化的代码?

语法如下C编译器:

cc -O input.c -o executable

语法如下C ++编译器:

g++ -O -Wall input.C -o executable

如何编译使用数学函数的C程序?

需要通过gcc传递-lm选项与数学库链接时,语法如下:

cc myth1.c -o executable -lm

如何编译使用Xlib图形功能的C ++程序?

需要通过gcc传递-lX11选项与Xlib库链接时,语法如下:

g++ fireworks.C -o executable -lX11

如何编译具有多个源文件的程序?

如果源代码位于多个文件(例如light.c,sky.c,fireworks.c)中,则语法如下:

cc light.c sky.c fireworks.c -o executable

如果源代码位于多个文件中,则C ++语法如下:

g++ ac.C bc.C file3.C -o my-program-name