2021秋知识点以及补足记录(随缘更新)

不能太懒了,不记下来逼自己一把我看是不中了,来吧加油!



静态库链接时搜索路径顺序:

1. ld会去找GCC命令中的参数-L
2. 再找gcc的环境变量LIBRARY_PATH
3. 再找内定目录 /lib /usr/lib /usr/local/lib 这是当初compile gcc时写在程序内的

动态链接时、执行时搜索路径顺序:

1. 编译目标代码时指定的动态库搜索路径
2. 环境变量LD_LIBRARY_PATH指定的动态库搜索路径
3. 配置文件/etc/ld.so.conf中指定的动态库搜索路径
4. 默认的动态库搜索路径/lib

5. 默认的动态库搜索路径/usr/lib

TCP与UDP的区别

(1)TCP是需要连接的传输协议(长连接),UDP是不需要连接的传输协议;
(2)TCP对系统资源要求较多,UDP要求较少;
(3)TCP的程序结构较复杂,UDP程序结构较简单;
(4)TCP是流模式,UDP是数据报模式 ;
(5)TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

new和malloc

(1)都可用来申请动态内存和释放内存,都是在堆(heap)上进行动态的内存操作
(2)malloc和free是C语言的标准库函数,new和delete是C++的运算符

(3)new会自动调用对象的构造函数,delete 会调用对象的析构函数, 而malloc返回的都是void指针

内存分配方式

  • 方法一:

    从静态存储区域分配。

    内存在程序编译的时候就已经分配好,这块内存在程序的整个 运行期间都存在。例如全局变量,static变量。

  • 方法二:

    在栈上创建。

    在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执 行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高, 但是分配的内存容量有限。

  • 方法三:

    从堆上分配,亦称动态内存分配。

    程序在运行的时候用malloc或new申请任意多少的内 存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由程序员决定,使 用非常灵活,但如果在堆上分配了空间,就有责任回收它,否则运行的程序会出现内存泄漏 ,频繁地分配和释放不同大小的堆空间将会产生堆内碎块。

HTTP与HTTPS的区别

一、HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费。
二、HTTP是超文本传输协议信息是明文传输,HTTPS则是具有安全性的ssl加密传输协议。
三、HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

五、在OSI 网络模型中,HTTP和HTTPS都工作于应用层。

const在*左侧表明指针指向不可改,右侧表明指针本身不能改。






全部评论

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务