C语言进阶01-程序的执行-编译

本文介绍了C语言进阶知识,讲解了程序的编译过程,包括argc参数的含义,并通过实例展示了在Linux环境下使用gcc进行编译。此外,还探讨了重定向输出的概念及其在不同场景下的应用,如保存程序输出到文件,便于后续查看和比较。通过示例演示了如何使用Linux命令重定向输出到文件。
摘要由CSDN通过智能技术生成

​"C语言进阶-程序的执行"

一直打算开一个C语言的课程, 经过思考打算直接从C语言进阶讲起. 学习本课需要具备基本的C语言知识, 如果在学习中遇到不会的内容, 死活不懂的, 可以去搜索引擎查询. 需要有Linux操作基础, 至少会一些简单的shell命令, vim的简单实用. 下面咱们开始.

01

编译

直接看代码:

#include <stdio.h>
#include <stdlib.h>int main(int argc, char **argv)
{
    int a = 5;
    int b = 17;
    printf("main: a = %d, b = %d, argc = %d\n", a, b, argc);
}

说明:

1、此程序通过调用printf来打印信息. printf是C语言提供的一个函数.

2、使用printf之前要引用stdio.h包. stdio.h是标准化输入输出的一个头文件.

3、C程序中, 起始点是main函数.本程序成功运行后会返回EXIT_SUCCESS.

4、argc表示的是程序运行时参数数量总和.

在linux中我们运行
gcc prog1.c -o prog
进行编译, -o表示将prog1.c编译为名称叫prog的可执行文件.

执行

gcc prog1.c -o prog1.c

可以擦除prog1.c文件.

执行命令

./prog

运行"./"表示本地目录, 咱们多运行几次看看结果:

$./prog
# main: a = 5, b = 17, argc = 1
$./prog 1
# main: a = 5, b = 17, argc = 2
$./prog 1 2
# main: a = 5, b = 17, argc = 3

这里argc是变化的, 验证了上面的第4条

02

重定向输出

从程序中重定向信息并将其保存至一个文件中是很有用的. 下面为几个可能用到的情景:

1、一个程序打印的过多过快, 电脑屏幕显示不了所有内容. 也可以用管道.

2、程序运行的时间长, 稍后再看.

3、检查程序再次运行时的输出是否与之前相同是很有用的. 若程序产生好多行的输出, 一行一行去检查它的输出将是大量的工作.

4、程序可能需要在多台机器上同时运行, 同时去看多个显示器上的输出是不可能的.

那么如何使用重定向输出呢? 看下面:

$./prog 1 2 3 > prog.txt
$ cat prog.txt
# main: a = 5, b = 17, argc = 4

使用">“来重定向, 还有”>>"表追加, "2>&1"将错误输出追加到正确输出的位置, 等等这些是linux基础, 这里不多解释. 关于C语言的第一篇先介绍到这里.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法小筑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值