一 
QT的内存管理

1
 QT中的内存管理是QObject来管理的

2
 QT中的内存管理没有cocos2dx中的引用计数


组件能够指定父对象

QTimer *timer = QTimer(this);  
//这里的this实际上强制转换成为了QObject了。


每个对象都有一个deleteLater()方法,

QLineEdit* edit = new QLineEdit(this);

delete edit;  
//这里的delete立即调用析构函数对内存进行释放

Edit->deleteLater();  
deleteLater不是立即释放的,而是发送了一个消息,缓一下。等下一个消息来的时候释放。这样的方式是延时释放。

二 
QT中制作动态库


新建一个库项目

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

项目文件夹结构例如以下:

编写代码

t14library_global.h

#ifndef T14LIBRARY_GLOBAL_H
#define T14LIBRARY_GLOBAL_H
 
#include <QtCore/qglobal.h>
 
#if defined(T14LIBRARY_LIBRARY)
#  define T14LIBRARYSHARED_EXPORT Q_DECL_EXPORT
#else
#  define T14LIBRARYSHARED_EXPORT Q_DECL_IMPORT
#endif
 
#endif // T14LIBRARY_GLOBAL_H

T14Library.h

#ifndef
T14LIBRARY_H

#define
T14LIBRARY_H

#include
"t14library_global.h"

/*这里的T14LIBRARYSHARED_EXPORT就是用来做跨平台的一个宏*/

class
T14LIBRARYSHARED_EXPORT
T14Library

{

public:

T14Library();

//自己编写的函数

void
Encrypt();

};

#endif
//
T14LIBRARY_H

T14Library.cpp

#include "T14Library.h"
#include <QDebug>
 
T14Library::T14Library()
{
}
 
void T14Library::Encrypt()
{
    qDebug() << "Encrypt";
}

点击构建button:

到项目文件夹E:\QT\build-T14Library-Desktop_Qt_5_3_MinGW_32bit-Debug\debug下查看:


加入一个空QT项目来使用QT

编写的代码例如以下:

T15UseLibrary.pro

SOURCES += \
    main.cpp
 
#假设QT mingw版本号,使用动态库方式和Linux没差别(-L,-l)
#假设QT VS版本号。。。使用动态库方式和windows没差别
#假设QT mingw版本号,要调用VC写的动态库。使用一个工具,生成libXXXXXX.文件
# 注意-L后面是dll所在的目录路径。-l后面表示的是动态库的名字
LIBS += -LE:\QT\build-T14Library-Desktop_Qt_5_3_MinGW_32bit-Debug\debug -lT14Library

main.cpp

#include <QCoreApplication>
 
#include "../T14Library/T14Library.h"
 
int main(int argc,char *argv[])
{
    QCoreApplication app(argc,argv);
 
    T14Library d;
    d.Encrypt();
 
    app.exec();
}

执行结果:

三 
编写一个静态库

创建项目:

一直点击,直到完毕。

这里的静态库就如同是一个普通的项目

6.关于QT中的内存管理,动态的制作,动态库的调用,静态库的制作的更多相关文章

  1. Cocos2d-x开发中C++内存管理

    由于开始并没有介绍C++语言,C++的内存管理当然也没进行任何的说明,为了掌握Cocos2d-x中的内存管理机制,是有必要先了解一些C++内存管理的知识.C++内存管理非常复杂,如果完全地系统地介绍可 ...

  2. C语言中的内存管理

    开始陆续的发一下唐老师视频的笔记吧,顺便带一些正冲哥书的的内容.不能一下都发出来,因为内容发多了自己也受不了,而且发的都是学习视频时候的一些笔记,可能会有一些问题不是很清晰. 先说一下C语言中的内存管 ...

  3. JNI中的内存管理(转)

    源:JNI中的内存管理 JNI 编程简介 JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互 ...

  4. javascript中的内存管理和垃圾回收

    前面的话 不管什么程序语言,内存生命周期基本是一致的:首先,分配需要的内存:然后,使用分配到的内存:最后,释放其内存.而对于第三个步骤,何时释放内存及释放哪些变量的内存,则需要使用垃圾回收机制.本文将 ...

  5. Python 中的内存管理

    Python 中一切皆对象,这些对象的内存都是在运行时动态地在堆中进行分配的,就连 Python 虚拟机使用的栈也是在堆上模拟的.既然一切皆对象,那么在 Python 程序运行过程中对象的创建和释放就 ...

  6. Unity游戏开发中的内存管理_资料

    内存是手游的硬伤——Unity游戏Mono内存管理及泄漏http://wetest.qq.com/lab/view/135.html 深入浅出再谈Unity内存泄漏http://wetest.qq.c ...

  7. C++中的内存管理

    在C++中也是少不了对内存的管理,在C++中只要有new的地方,在写代码的时候都要想着delete. new分配的时堆内存,在函数结束的时候不会自动释放,如果不delete我分配的堆内存,则会造成内存 ...

  8. cocos2dx中的内存管理机制及引用计数

    1.内存管理的两大策略: 谁申请,谁释放原则(类似于,谁污染了内存,最后由谁来清理内存)--------->适用于过程性函数 引用计数原则(创建时,引用数为1,每引用一次,计数加1,调用结束时, ...

  9. php中的内存管理的介绍(转)

    本篇文章给大家带来的内容是关于php中的内存管理的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.php内存管理概述——Zend引擎 由于计算机的内存由操作系统进行管理,所以 ...

随机推荐

  1. JY01-KX-01

    复习: 1.a标签跳转 <p id="地址"></p> <a href="#地址"></a> 预习: 1.out ...

  2. linux的comm命令

    http://blog.csdn.net/apache6/article/details/5789669

  3. Xml序列化自引用/循环引用问题1

    1.定义类 public class Student { public int ID { get; set; } public string Name { get; set; } //[XmlIgno ...

  4. php遍历数据库

    数据库 <?php mysql_connect("localhost","root",""); mysql_set_charset(& ...

  5. Oracle 错误码

    Oracle作为一款比较优秀同时也比较难以掌握的大型数据库,在我们学习使用的过程中,不可避免的会遇到一些错误,为此 Oracle 给出了一套完备的错误消息提示机制 我们可以根据Oracle给出的消息提 ...

  6. PHP判断文章里是否有图片

    用preg_match来检查内容里是否有匹配的“<img”,其实我们还用preg_match来判断很多东西,比如邮箱地址里是否有“@”等,下面用一小段代码来演示具体用法. $content=&q ...

  7. 生产环境搭建MySQL复制的教程(转)

    [导读] 网络上有很多关于MySQL复制搭建的步骤和范例,以及手册上有一章完整的篇幅,讲述MySQL复制的原理.搭建步骤.优化等,但依然存在很多刚开始学习MySQL知识或者刚进入DBA行业的朋友咨询, ...

  8. Windows 批处理文件

    窗口自动关闭:批处理文件执行完之后,窗口会自动关闭,若想执行完之后,窗口不自动关闭的话,在文件末尾添加1. 批处理文件执行完之后,窗口会自动关闭2. 若想执行完之后,窗口不自动关闭的话,在文件末尾添加 ...

  9. android中使用PopupWindow实现弹出窗口菜单

    结合上篇android中使用ViewPager实现图片拖动,我们实现了点击“帮助”按钮的功能,这一篇则是接着上一篇,让我们一起来完成“我的”按钮的功能,这一功能,则是使用PopupWindow来实现弹 ...

  10. android数据保存

    永久保存数据的方法:1.Shared Preferences 以键值对的形式存储基本数据类型( booleans, floats, ints, longs, and strings),存储的数据在限制 ...