
C++进阶
文章平均质量分 87
C++的进阶用法
软软kk
这个作者很懒,什么都没留下…
展开
-
C++进阶5:动态库与静态库--类篇
C++进阶5:动态库与静态库--类篇0.前提(文件内容)(1)test.h(2)test.cpp(3)main.cpp1、静态库的制作与使用1.1 创建(1)编译源文件(2)生成静态库1.2 使用(1)链接静态库(2)测试(3)结果2、动态库的制作2.1 创建(1)编译目标文件(2)生成静态库2.2 使用(1)生成可执行文件(2)测试(3)结果3、动态链接库的制作3.1 创建(1)修改test.h(2)修改test.cpp(3)修改main.cpp(4)编译动态加载库3.2 使用(1)编译主程序(2)测试(原创 2022-05-17 20:42:45 · 819 阅读 · 0 评论 -
C++进阶4:动态库与静态库--函数篇
前言1、作用(1)分离编译(2)代码重用2、分类分类作用后缀静态库一个或多个.o目标文件归档在一个文件中.a共享库没有main函数的可执行文件.so动态加载库没有main函数的可执行文件,接口复合API.so...原创 2022-05-17 20:26:19 · 642 阅读 · 0 评论 -
C++进阶3:Makefile入门
0、作用Makefile文件告诉Make怎样编译和连接成一个程序。1、Makefiile基本语法与执行1.1 示例编译一个单文件HelloWorld.cpp(1)编写MakefileHelloWorld : HelloWorld.cpp g++ HelloWorld.cpp -o HelloWorldclean : rm HelloWorld(2)编译make(3)清空make clean1.2 构成Makefile主要由多条规则构成,每条规则由三部分构成:目标(ta原创 2022-04-19 23:03:05 · 1965 阅读 · 0 评论 -
C++进阶2:重载
函数重载:在相同作用域中的多个函数,具有相同的名字而形参表不同不能仅仅基于不同的返回类型而实现函数重载。返回值是不影响函数签名的。C++函数重载底层实现原理是C++利用name mangling(倾轧)技术,来改名函数名,区分参数不同的同名函数。编译器通过函数名和其参数类型识别重载函数。为了保证类型安全的连接(type-safe linkage),编译器用参数个数和参数类型对每一个函数标识符进行专门编码,这个过程有时称为“名字改编”(name mangling)或“名字修饰”(name decora原创 2022-04-18 21:35:41 · 238 阅读 · 0 评论 -
C++进阶1:xxx_cast类型转换
类型转换隐式类型转换显式类型转换语法xxx_cast <类型> (表达式)1、static_cast用于非多态类型之间的转换,不提供运行时的检查来确保转换的安全性。主要有如下:(1)基本数据类型转换(2)int转换成enum(3)基类和子类之间指针和引用的转换上行转换:把子类的指针或引用转换成父类,这种转换是安全的(通常使用默认转换)。下行转换:把父类的指针或引用转换成子类,这种转换是不安全的,也需要程序员来保证(通常使用dynamic_cast)。1.1 基本数据类原创 2022-04-18 21:30:42 · 1054 阅读 · 0 评论