C++ 随笔

来源:互联网 发布:码农 大数据 编辑:程序博客网 时间:2024/05/21 11:28

1、开发框架:应用框架指的是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。

                        使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。

2、断言(assert):其实就相当于一个if语句,但频繁的调用会极大的影响程序的性能,增加额外的开销。

示例代码:

 #include "assert.h"
void assert( int expression );

可以通过在包含#include 的语句之前插入 #define NDEBUG 来禁用assert调用,示例代码如下: 

#include
#define NDEBUG
#include

3、动态链接库与静态链接库。

     动态链接库:这种库包含了可由多个程序同时使用的代码和数据。

                          优点:节省内存和代码重用;模块化。

                          缺点:DLL Hell(1、版本冲突;2、版本兼容,但函数内容不同导致出错)

     lib:分为静态lib和动态lib

            静态lib:将导出声明和实现均放到lib中,编译后所有代码都嵌入到宿主程序中去。

            动态lib:当于一个h文件,编译后只是将导出声明部分编译到宿主程序中,运行时需要相应的DLL文件的支持。

4、C++ 报错:Debug Assertion Failed!

     原因:野指针、内存泄漏。

     解决方法:在Debug模式下打开call stack,找到出错的函数调用。

                       或者参考:http://www.xuebuyuan.com/1708920.html