如何在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