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

来源:互联网 发布:外文检索数据库 编辑:程序博客网 时间:2024/06/03 22:03

定义---存在

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

调用--使用

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

声明--注册

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


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

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

gcc -c  

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

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

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

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

gcc -o生成

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

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

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

对于一个工程来说

GCC   *.c

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

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


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


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

原创粉丝点击