水下功夫做透,水上才能顺风顺水。

几中常考概念区别

一. 静态库与动态库的区别

静态库的代码在编译过程中已经被载入可执行程序,故不依赖库文件,体积较大。有改动需要重新编译整个解决方案。

动态库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。有改动是只需要重新生成动态库,便于升级。

二. TCP和UDP的区别

TCP提供面向连接的、可靠数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。

TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报

TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。

三. 进程和线程的区别

在引入线程的操作系统中

定义:

进程是操作系统进行资源分配的基本单位。进程可执行的实体。

线程是独立运行的基本单位,因而也是独立调度和分派的基本单位。

关系:

一个进程可以包含多个线程,但至少包含一个线程。

调度和切换:

线程上下文切换比进程上下文切换要快得多。

通信:

进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信。

四.指针和引用的区别

相同点:

二者都指向一块内存,都可以作函数形参。

不同点:

1.引用是一个变量的别名,与其指向的变量共享内存;

指针是一个存放地址的变量,有自己的内存空间。

2.引用在声明时必须初始化,且以后不能改变;

指针在运行时可以改变其所指向的值。

3.引用访问变量是直接访问,指针是间接访问;存在指针的指针,不存在引用的引用。

五.#include<>和#include""的区别

#include<>用来引用标准库头文件,编译器从标准库目录开始搜索。

#include""用来引用非标准库头文件,编译器用户工作目录(对VS来说是工程文件所在目录)开始搜索。

posted @ 2015-04-18 19:04  北方寒士  阅读(115)  评论(0编辑  收藏  举报