C/C++语言语言中的声明和定义浅解
2013-04-11 16:01
330 查看
声明和定义,Declare 和 Define。
很多编写脚本语言的程序员刚接触的时候会比较晕,不知道为什么会有声明的存在。
最近了解了一些编译器的东西,才领悟到,声明主要是让编译器将所声明的变量、函数等添加到符号表中,而这些符号实际的地址就交给链接器取完成。
所以,在很多个源文件的时候,将函数的声明放在一个头文件中。用到这个函数的时候,只要包含这个头文件,编译器就会认为这个外部变量或者函数存在,并将其加入到符号表中。链接器随后去找这个符号的定义,如果找到就把地址“填”到可执行文件中,如果没找到,就会报错。
很多编写脚本语言的程序员刚接触的时候会比较晕,不知道为什么会有声明的存在。
最近了解了一些编译器的东西,才领悟到,声明主要是让编译器将所声明的变量、函数等添加到符号表中,而这些符号实际的地址就交给链接器取完成。
所以,在很多个源文件的时候,将函数的声明放在一个头文件中。用到这个函数的时候,只要包含这个头文件,编译器就会认为这个外部变量或者函数存在,并将其加入到符号表中。链接器随后去找这个符号的定义,如果找到就把地址“填”到可执行文件中,如果没找到,就会报错。
相关文章推荐
- 在C/C++语言中声明和定义的区别
- C/C++开发语言系列之6---C++派生类的声明或定义方式
- C++语言基础 例程 类声明和成员函数定义的分离
- C++语言基础 例程 类的声明和对象的定义
- C++语言之声明与定义
- c++模板函数声明定义分离编译错误详解
- C++ 变量和函数的声明和定义
- C++ 声明和定义辨析
- C++ 单例模式中处理在类中声明一个指向一个自己的指针,在编译时显示定义的指针未定义的处理办法
- c++中的声明和定义的区别,以及关键字extern的作用
- C++ 类的声明和定义
- c++的声明与定义
- c++ 模板类 声明和定义都放在.h文件的原因
- C++全局变量的声明和定义
- 你好,C++(24)好大一个箱子!5.1.1 函数的声明和定义
- What's the difference between declaring and defining something in C and C++?(C和C++中,声明和定义的区别)
- C++全局变量的声明和定义
- C++ : 编译单元、声明和定义、头文件作用、防止头文件在同一个编译单元重复引用、static和不具名空间
- C++中的声明,定义以及linkage
- C++ extern 变量声明与定义的关系