基础概念知识
来源:互联网 发布:indesign cc mac下载 编辑:程序博客网 时间:2024/05/22 05:22
001、动态链接库与静态链接库的区别
静态链接库是.lib格式的文件,一般在工程的设置界面加入工程中,程序编译时会把lib文件的代码加入你的程序中因此会增加代码大小,你的程序一运行lib代码强制被装入你程序的运行空间,不能手动移除lib代码。
动态链接库是程序运行时动态装入内存的模块,格式*.dll,在程序运行时可以随意加载和移除,节省内存空间。在大型的软件项目中一般要实现很多功能,如果把所有单独的功能写成一个个lib文件的话,程序运行的时候要占用很大的内存空间,导致运行缓慢;但是如果将功能写成dll文件,就可以在用到该功能的时候调用功能对应的dll文件,不用这个功能时将dll文件移除内存,这样可以节省内存空间。
002、指针与引用的区别
相同点:1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
区别:
1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;
3. 引用只能在定义时被初始化一次,之后不可变;指针可变;
4. 引用没有 const,指针有 const;
5. 引用不能为空,指针可以为空;
6. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;
7. 指针和引用的自增(++)运算意义不一样;
8.从内存分配上看:程序为指针变量分配内存区域,而引用不需要分配内存区域。)
003、进程与线程的区别
①从概念上:
进程:一个程序对一个数据集的动态执行过程,是分配资源的基本单位。线程:一个进程内的基本调度单位。
线程的划分尺度小于进程,一个进程包含一个或者更多的线程。
②从执行过程中来看:
进程:拥有独立的内存单元,而多个线程共享内存,从而提高了应用程序的运行效率。
线程:每一个独立的线程,都有一个程序运行的入口、顺序执行序列、和程序的出口。但是线程不能够独立的执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
③从逻辑角度来看:(重要区别)
多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但是,操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理及资源分配。)
4、函数调用入栈出栈的过程
C++函数调用过程深入分析:http://blog.csdn.net/dongtingzhizi/article/details/6680050
函数调用栈 剖析+图解:http://blog.csdn.net/wangyezi19930928/article/details/16921927
C/C++函数调用过程分析: C/C++函数调用过程分析http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601204.html
5、c++对象模型与虚表
6、c与c++中static关键字区别
7、c与c++中const关键字区别
- 基础概念知识
- CSS基础概念知识
- J2EE等基础概念知识
- 数据库的基础概念知识
- 金融知识入门之基金基础概念
- 前端知识学习(1) 基础概念和相关知识
- J2EE学习笔记三:EJB基础概念和知识
- J2EE学习笔记三:EJB基础概念和知识 收藏
- 汇编学习笔记001——基础概念和知识
- 人工神经网络基础概念、原理知识(补)
- Json学习一(基础概念知识学习)
- 统计学习基础(概念,基本思想,先验知识)
- 一、VueJs 填坑日记之基础概念知识解释
- C#面向对象 基础概念二十五个 (很基础,必须掌握的知识)
- 基础概念
- 基础概念
- 基础概念
- 基础概念
- 使用supervisor提高nodejs调试效率
- 真机调试得问题
- Log4j的入门学习(转)
- Json字符串转换为java对象的各种实现方法
- 创建jar并引入第三方包
- 基础概念知识
- IOS基础知识之数据库及多线程编程
- 【jsp案例】通过select查询父类子类数据表
- 2015年中国手机市场最值得期待的十件大事预测
- IP控件
- unity网络编程学习(3)与javaWeb的http通信
- 中划线与下划线的区别
- 项目中对证书的选择
- iOS 如何给UIViewController瘦身