人人都能学会的编程入门课
胡光
原百度高级算法研发工程师
立即订阅
953 人已学习
课程目录
已更新 15 讲 / 共 32 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (1讲)
开篇词 | 别闹了,学编程 ≠ 学语言
免费
语言基础篇 (13讲)
01 | 学习编程,我到底该选择哪门语言?
02 | 第一个程序:教你输出彩色的文字
03 | 判断与循环:给你的程序加上处理逻辑
04 | 随机函数:随机实验真的可以算 π 值嘛?
05 | 数组:一秒钟,定义 1000 个变量
06 | 字符串:彻底被你忽略的 printf 的高级用法
做好闭环(一):不看答案可能就白学了
07 | 指针系列(一):记住,指针变量也是变量
08 | 指针系列(二):记住,指针变量也是变量
09 | 函数:自己动手实现低配版 scanf 函数
10 | 预处理命令(上):必须掌握的“黑魔法”,让编译器帮你写代码
11 | 预处理命令(下):必须掌握的“黑魔法”,让编译器帮你写代码
做好闭环(二):函数是压缩的数组,数组是展开的函数
测试篇 (1讲)
期中测试 | 给语言基础篇交一份满分答卷,去迎接新的挑战!
人人都能学会的编程入门课
登录|注册

10 | 预处理命令(上):必须掌握的“黑魔法”,让编译器帮你写代码

胡光 2020-01-28
你好,我是胡光,欢迎回来。今天是大年初四,春节的气氛依然很浓厚,春节玩得开心吗?但也别忘了咱们的继续学习哦。今天还在看专栏,依旧没有忘记学习的你,我必须赞叹一声:学会编程,非你莫“鼠”!
之前我们学习的编程知识,都是作用在程序运行阶段,也就是说,当我们写完了一段代码以后,只有编译成可执行程序,我们才能在这个可执行程序运行后,看到当初我们所写代码的运行效果。而你有没有想过,存在一些编程技巧,是作用在非运行阶段的呢?这就是我们今天要学习的内容。
今天呢,我们将来讲解整个语言基础篇的最后一部分:预处理命令。那么什么是预处理命令呢?它又为什么被称为程序设计中的“黑魔法”呢?让我们开始今天的学习吧。

任务介绍

这次这个任务呢,我们将分成两节来讲解,这是因为,想要掌握程序设计中的这门“黑魔法”,真的急不来,咱得慢慢来。
本次这个任务呢,和输出有关系:请你实现一个打印“漂亮日志格式”的方法。你可能想用 printf 直接打印,别着急,听我详细说完这个打印日志的功能介绍以后,你可能就知道什么叫做“魔法般的方法”了。
首先我们先说“日志”的作用,程序中的“日志”,通常是指在程序运行过程中,输出的一些与程序当前状态或者数据相关的一些信息。这些信息,可以帮助程序开发人员做调试,帮助运营人员做数据分析,帮助管理人员分析日活等等。总而言之,一份合理的日志信息,是非常有价值的数据。而我们今天呢,接触一种最简单的日志形式,就是程序运行过程中的调试信息。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《人人都能学会的编程入门课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(3)

  • 一步
    有没有什么办法可以看到 预处理阶段后的 待编译源代码的内容?

    作者回复: 可以的,如果使用Linux环境的话,编译的时候,gcc -E 源文件,用这个命令就可以看到预处理以后的代码。

    2020-01-29
    2
  • Geek_Andy_Lee00
    对对象文件的理解:待编译源码是高级语言,经过编译器编译之后就变成了等效的的汇编代码,也就是机器可以执行的机器指令。

    作者回复: 如果要是能从『定义』和『声明』的角度来解释的话,就完美了。

    2020-01-30
  • 一步
    像文章所说 预处理命令 #include 会把 include 的内容拷贝到#include 处,如果所有文件都这样处理,那么每个文件就会出现好多重复的代码,想知道C语言预处理阶段是怎么处理这样的问题的?

    作者回复: 往后看,看后面的条件编译。^_^

    2020-01-29
收起评论
3
返回
顶部