My_A 发表于 2019-4-3 21:36:06

关于“#include <stdio.h>”的发问

#include <stdio.h>
#include <stdlib.h>

// 在这个里面是把stdio.h、stdlib.h里的所有函数和宏定义都包含进程序里面吗

jackz007 发表于 2019-4-3 21:41:10

      没错,完全正确!

Croper 发表于 2019-4-3 21:42:47

是这样的,对程序来说,相当于你把stdio.h里的内容在这个地方全部抄了一遍

My_A 发表于 2019-4-3 21:50:24

Croper 发表于 2019-4-3 21:42
是这样的,对程序来说,相当于你把stdio.h里的内容在这个地方全部抄了一遍

那程序不是会很大吗,可不可以只包含自己所用的

Croper 发表于 2019-4-3 21:59:37

能有多大,就算有10000行代码,每行代码100个字符,文本量也就才1M
更何况许多头文件里大部分都是各种宏,在编译期间就把该执行的执行了,真正生成的程序大小还要比文本量小得多

一般来说,程序占空间的根本不是代码,各种素材(声音,贴图,模型)一类的才是占空间的

记得星际2刚出来的时候,把里面一个几个g大小的data文件一删,一个几个g的游戏好像就剩下不到100M了,然后还能正常进入,开图,打爆电脑,只是单位全部变成了圆球,贴图全部变成了没有

Croper 发表于 2019-4-3 22:04:57

My_A 发表于 2019-4-3 21:50
那程序不是会很大吗,可不可以只包含自己所用的

另外,因为头文件里有大段的宏定义。你的要求在一定程度上是可以的,
比如说在#include <windows.h>之前 #define WIN32_LEAN_AND_MEAN ,
据给出的注释的说法,就可以”从 Windows 头文件中排除极少使用的内容”,不过这些东西都要经过平时的慢慢积累,才知道哪些地方可以定义哪些宏

My_A 发表于 2019-4-3 23:44:35

Croper 发表于 2019-4-3 22:04
另外,因为头文件里有大段的宏定义。你的要求在一定程度上是可以的,
比如说在#include 之前 #define WI ...

哦哦,懂了,谢谢
页: [1]
查看完整版本: 关于“#include <stdio.h>”的发问