在linux下编译运行c语言程序
Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。
#DEMO#: hello.c
如果你有两个或少数几个 C 源文件,也可以方便地利用 GCC 编译、连接并生成可执行文件。例如,假设你有两个源文件 main.c 和 factorial.c 两个源文件,现在要编译生成一个计算阶乘的程序。
-----------------------
清单 factorial.c
-----------------------
#include <stdio.h>
#include <stdlib.h>
int factorial (int n)
{
if (n <= 1)
return 1;
else
return factorial (n - 1) * n;
}
-----------------------
-----------------------
清单 main.c
-----------------------
#include <stdio.h>
#include <stdlib.h>
int factorial (int n);
int main (int argc, char **argv)
{
int n;
if (argc < 2) {
printf ( "Usage: %s n\n ", argv [0]);
return -1;
}
else {
n = atoi (argv[1]);
printf ( "Factorial of %d is %d.\n ", n, factorial (n));
}
return 0;
}
-----------------------
利用如下的命令可编译生成可执行文件,并执行程序:
$ gcc -o factorial main.c factorial.c
$ ./factorial 5
Factorial of 5 is 120.
GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。
但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。假设我们有一个如下的 C++ 源文件(hello.C):
#include <iostream.h>
void main (void)
{
cout < < "Hello, world! " < < endl;
}
则可以如下调用 g++ 命令编译、连接并生成可执行文件:
$ g++ -o hello hello.C
$ ./hello
Hello, world!
1.7.2 gcc/egcs 的主要选项
表 1-3 gcc 命令的常用选项
选项 解释
-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,
例如 asm 或 typeof 关键词。
-c 只编译并生成目标文件。
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-E 只运行 C 预编译器。
-g 生成调试信息。GNU 调试器可利用该信息。
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-lLIBRARY 连接时搜索指定的函数库LIBRARY。
-m486 针对 486 进行代码优化。
-o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 禁止使用共享连接。
-UMACRO 取消对 MACRO 宏的定义。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。
#DEMO#
在linux下编译运行c语言程序相关推荐
- Linux环境编译运行C语言程序
linux环境下编译并运行C语言程序 打开安装好的Linux系统(ubuntu18.04) 1.安装编辑器 使用语句:sudo apt-get install vim安装vim,可以在安装前查看是否安 ...
- 在Ubuntu下编译运行C语言程序
目录 实验题目 1 gcc编译 1.1 编译运行hello.c程序 1.1.1 使用vim创建hello.c文件 1.1.2 使用gcc将其转化为可执行文件 1.1.3 运行hello可执行文件 1. ...
- Linux下编写运行C语言程序
1.gcc 1.c -o 1.out && ./1.out 命名 2. gcc -lm 1.c && ./a.out 使用math.h中声明的库函数还有一点特殊之处,g ...
- 怎么在linux的cmd中运行c项目,如何在cmd窗口编译运行c语言程序?
/ 这个很简单,只需要下载一个C/C++编译器,添加一下环境变量,之后就能在cmd窗口中编译运行C语言程序了,下面我简单介绍一下实现过程,主要内容如下: 1.下载C/C++编译器,这里可以下载MinG ...
- linux下软件编译终止,[2018年最新整理]linux下编译运行程序命令大全.ppt
[2018年最新整理]linux下编译运行程序命令大全 1. 项目课题引入 2. Vi编辑器的使用方法 3. Linux中C语言程序的编辑 4. Linux中C语言程序的运行 5. 现场演示案例 课题 ...
- vs的程序在linux下如何运行,在VS下如何运行C语言程序
在VS下如何运行C语言程序 微软后来对VC6.0进行了升级,并更名为Visual Studio(简称VS),支持更多的编程语言,更加强大的功能,不过 Visual Studio 文件很大,有2~3G左 ...
- 在Linux系统中运行C语言程序
正式学习c语言的第一天 2022/1/10 在之前的学习中已经在Windows系统中用Microsoft VC++上实现了C语言程序的运行,现在将在Linux系统上运行C语言程序. 首先明确C语言 ...
- 编好的C语言程序怎么运行,如何在cmd窗口编译运行c语言程序?
在cmd窗口编译运行C语言程序总共分两步:第一步,在编译器目录下执行编译命令:第二步,在编译器目录下运行可执行程序.需要插件?完全没这回事儿!下面用一个例子来说明. 一.经典的C程序代码 最经典的C程 ...
- 在linux中运行c语言程序,linux环境中运行C语言程序
在linux环境下做运行C语言程序 [root@localhost ~]# cat a.c #include main() {int grade; char chgrade; printf(" ...
最新文章
- omnidb数据库web管理工具安装
- 与优秀的人在一起进步:我发起的“乐学”分享活动
- python代码有时候在命令行下和Python Shell中执行的结果不一样?
- 安卓toast文字提示
- 简单的JavaScript互斥锁
- php判断是不是手机端访问
- short_open_tag 惹的问题
- w10计算机,打开win10自带计算器的多种方法
- java数字时钟界面_Java数字时钟实现代码
- 一句话详解常见的心理学效应
- 商城项目 ------ 订单的生成功能(vue实现)
- Flash 控件的安装
- 如何快速删除百度相关搜索中的关键词?
- 小说阅读器,记录上次阅读位子。
- Python_首字母大写
- 枚举算法实践2-切割木棍 c++
- 如何用无人机倾斜摄影采集影像,完成实景三维重建?
- Qt实现计算器(包含算术运算和逻辑运算),纯干货,一步步超详细过程
- LCG(linear congruential generator)伪随机数生成器
- Android 通过基站进行定位
热门文章
- [风云人物]三年挣850万,你也可以复制!
- 使用VideoCapture进行读取时0x00007FF9A1F86A6F (opencv_world440d.dll)处(位于 opencvtest.exe 中)引发的异常
- 由于找不到opencv_world310d.dll,无法继续执行代码。重新安装程序可能会解决此问题。
- 一文多图搞懂KITTI数据集下载及解析
- JAVA测试类注解以及Mock测试
- 几种自动化测试工具的比较
- Android8.0,允许安装未知来源
- python-opencv实现图像超像素分割(SLIC、SEEDS、LSC)
- 用于电车气候测量的无线数据记录仪
- linux下nginx配置SSL证书