GCC 关于声明,定义,调用(使用),类型定义

定义---存在

如果一个变量或者是函数没有定义,那么他就没有实体,即不存在

调用--使用

调用函数,或者是使用变量就意味着这个被使用的对象时有实体的

声明--注册

告知一个使用变量或者调用函数的C文件这个变量是注册的,可以使用(但是注册也可能不存在)


好了  一个工程 有多个.c .h文件组成

=======================编译================================================

gcc -c  

编译命令不会在意被调用的函数是否存在,如果连注册信息都没有(没有声明)就会有警告但是不会报错,

但是变量不行如果没有定义的变量,也没有其为全局变量的声明(没有使用关键字extern)就会报错

类型本身没有实体,要想使用必须有定义在文件之内

========================连接================================================

gcc -o生成

连接是把所有的实体关联起来的过程,这就是说实体本身必须存在,否则一定会错

这个过程的.o文件会找实体

==============================================================================

对于一个工程来说

GCC   *.c

显示编译每个.C文件,对于函数和变量来说不会在意实体到底存在不存在

但是到了链接的阶段连接器会在所有的制定的.o中找实体,如果没有那么会报错


最好的过程是  =存在,注册、通知,调用、使用


但是vc 是不同的vc 要求必须有注册,即函数的声明,才能调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值