什么是CRunTime?
3个回答
展开全部
运行期库是一个广泛的概念,可以认为是一套系统级的函数库,这些函数要么在后台被使用,比如进行程序的初始化和清理操作,要么是我们会直接调用到的,比如内存管理中的malloc、数学计算中的sqrt等,所谓运行期,就是在程序运行时使用,离开了它,我们的程序寸步难行.
在Windows平台下,C Runtime Library 的情况如下:
动态连接库 导出库文件 静态连接库
Release msvcrt.dll msvcrt.lib libc.lib(单线程), libcmt.lib(多线程)
Debug msvcrtd.lib msvcrtd.lib libcd.lib(单线程),libcmtd.lib(多线程)
CRuntimeClass是MFC实现的RTTI(运行时类型信息),MFC中的很多类需要由框架动态创建(比如文档、视图、框架窗口类等等),所以从CObject继承的类如果需要这种能力,必须实现它的CRuntimeClass,包括CreateObject静态方法(这个方法简单调用new CMyClass)。而做到这个很简单,使用DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏就自动拥有这个特性,看看这两个宏的定义就能理解其原理。
CRuntimeClass在MFC中定义为一个数据结构,在文件AFX.H中声明,它是用来串起MFC从COBJECT继承下来的所有类(相当于一根绳,只要你牵住绳的一头你就可以得到绳上的所有数据),你也可以把你自己写的类加入这根绳。
每个从CObject中派生的类都有一个CRuntimeClass对象同它关联以完成在运行时得到类实例的信息或者是它的基类。
在Windows平台下,C Runtime Library 的情况如下:
动态连接库 导出库文件 静态连接库
Release msvcrt.dll msvcrt.lib libc.lib(单线程), libcmt.lib(多线程)
Debug msvcrtd.lib msvcrtd.lib libcd.lib(单线程),libcmtd.lib(多线程)
CRuntimeClass是MFC实现的RTTI(运行时类型信息),MFC中的很多类需要由框架动态创建(比如文档、视图、框架窗口类等等),所以从CObject继承的类如果需要这种能力,必须实现它的CRuntimeClass,包括CreateObject静态方法(这个方法简单调用new CMyClass)。而做到这个很简单,使用DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏就自动拥有这个特性,看看这两个宏的定义就能理解其原理。
CRuntimeClass在MFC中定义为一个数据结构,在文件AFX.H中声明,它是用来串起MFC从COBJECT继承下来的所有类(相当于一根绳,只要你牵住绳的一头你就可以得到绳上的所有数据),你也可以把你自己写的类加入这根绳。
每个从CObject中派生的类都有一个CRuntimeClass对象同它关联以完成在运行时得到类实例的信息或者是它的基类。
亚远景信息科技
2024-12-11 广告
2024-12-11 广告
上海亚远景信息科技有限公司是国内汽车行业咨询及评估领军机构之一,深耕于ASPICE、敏捷SPICE、ISO26262功能安全、ISO21434车辆网络安全领域,拥有20年以上的行业经验,专精于培训、咨询及评估服务,广受全球车厂及供应商赞誉,...
点击进入详情页
本回答由亚远景信息科技提供
展开全部
运行期库是一个广泛的概念,可以认为是一套系统级的函数库,这些函数要么在后台被使用,比如进行程序的初始化和清理操作,要么是我们会直接调用到的,比如内存管理中的malloc、数学计算中的sqrt等,所谓运行期,就是在程序运行时使用,离开了它,我们的程序寸步难行.
在Windows平台下,C Runtime Library 的情况如下:
动态连接库 导出库文件 静态连接库
Release msvcrt.dll msvcrt.lib libc.lib(单线程), libcmt.lib(多线程)
Debug msvcrtd.lib msvcrtd.lib libcd.lib(单线程),libcmtd.lib(多线程)
在Windows平台下,C Runtime Library 的情况如下:
动态连接库 导出库文件 静态连接库
Release msvcrt.dll msvcrt.lib libc.lib(单线程), libcmt.lib(多线程)
Debug msvcrtd.lib msvcrtd.lib libcd.lib(单线程),libcmtd.lib(多线程)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-_-~体力活
看一下RTTI相关
看一下RTTI相关
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询