一
QT的内存管理
1
QT中的内存管理是QObject来管理的
2
QT中的内存管理没有cocos2dx中的引用计数
3
组件能够指定父对象
QTimer *timer = QTimer(this);
//这里的this实际上强制转换成为了QObject了。
4
每个对象都有一个deleteLater()方法,
QLineEdit* edit = new QLineEdit(this);
delete edit;
//这里的delete立即调用析构函数对内存进行释放
Edit->deleteLater();
deleteLater不是立即释放的,而是发送了一个消息,缓一下。等下一个消息来的时候释放。这样的方式是延时释放。
二
QT中制作动态库
A
新建一个库项目
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 #define #include /*这里的T14LIBRARYSHARED_EXPORT就是用来做跨平台的一个宏*/ class { public: T14Library(); //自己编写的函数 void }; #endif |
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下查看: |
B
加入一个空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中的内存管理,动态的制作,动态库的调用,静态库的制作的更多相关文章
-
Cocos2d-x开发中C++内存管理
由于开始并没有介绍C++语言,C++的内存管理当然也没进行任何的说明,为了掌握Cocos2d-x中的内存管理机制,是有必要先了解一些C++内存管理的知识.C++内存管理非常复杂,如果完全地系统地介绍可 ...
-
C语言中的内存管理
开始陆续的发一下唐老师视频的笔记吧,顺便带一些正冲哥书的的内容.不能一下都发出来,因为内容发多了自己也受不了,而且发的都是学习视频时候的一些笔记,可能会有一些问题不是很清晰. 先说一下C语言中的内存管 ...
-
JNI中的内存管理(转)
源:JNI中的内存管理 JNI 编程简介 JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互 ...
-
javascript中的内存管理和垃圾回收
前面的话 不管什么程序语言,内存生命周期基本是一致的:首先,分配需要的内存:然后,使用分配到的内存:最后,释放其内存.而对于第三个步骤,何时释放内存及释放哪些变量的内存,则需要使用垃圾回收机制.本文将 ...
-
Unity游戏开发中的内存管理_资料
内存是手游的硬伤——Unity游戏Mono内存管理及泄漏http://wetest.qq.com/lab/view/135.html 深入浅出再谈Unity内存泄漏http://wetest.qq.c ...
-
C++中的内存管理
在C++中也是少不了对内存的管理,在C++中只要有new的地方,在写代码的时候都要想着delete. new分配的时堆内存,在函数结束的时候不会自动释放,如果不delete我分配的堆内存,则会造成内存 ...
-
cocos2dx中的内存管理机制及引用计数
1.内存管理的两大策略: 谁申请,谁释放原则(类似于,谁污染了内存,最后由谁来清理内存)--------->适用于过程性函数 引用计数原则(创建时,引用数为1,每引用一次,计数加1,调用结束时, ...
-
php中的内存管理的介绍(转)
本篇文章给大家带来的内容是关于php中的内存管理的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.php内存管理概述——Zend引擎 由于计算机的内存由操作系统进行管理,所以 ...
-
Android中的内存管理机制以及正确的使用方式
概述 从操作系统的角度来说,内存就是一块数据存储区域,属于可被操作系统调度的资源.现代多任务(进程)的操作系统中,内存管理尤为重要,操作系统需要为每一个进程合理的分配内存资源,所以可以从两方面来理解操 ...
随机推荐
-
ListView和Adapter数据适配器的简单介绍
ListView 显示大量相同格式数据 常用属性: listSelector listView每项在选中.按下等不同状态时的Drawable divider ...
-
ionic 接触的第一个Hybrid项目
最近需要维护一个Hybird项目,使用的是ionic,由于是第一个Hybrid项目,在这里记录下基本的知识. 先看一下ionic的最基本介绍: http://my.oschina.net/u/2275 ...
-
(一) ARM 内存SDRAM 讲解
2.SDRAM内存工作原理 上面产生的误解关于 Bank ,这个bank 不是 和 S3C2440 芯片有关系(RAM 自身有bank , SDRAM 自身也有bank ,就像书 有 好几章节一样) ...
-
java-cef系列视频第二集:搭建开发环境
上一集我们介绍了如何从官方代码编译java-cef. 本视频介绍了如何使用eclipse搭建java-cef二次开发环境. 下一集我们将给java-cef添加flash支持. 本作品采用知识共享署名- ...
-
Linux中查看各文件夹大小命令du -h --max-depth=1
http://blog.csdn.net/ouyang_peng/article/details/10414499 du -h --max-depth=1
-
二、IRIG_B解码AC信号
AC-----过零检测(MAX913ESA)---1khzB码信号(以0v为界大于0为高,小于0为低,的 方波信号) AC-----信号放大(TLE2022ID--mv到5v) ---系统电压转换(M ...
-
tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable
linux 下 启动tomcat 报: Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least o ...
-
Mac os 进行Android开发笔记(2)
Mac OS X 下开发 Android 1> MAC OS Android环境搭建: 2>MAC OS 配置 Andoid ADB: 3>MAC OS 上进行Android真机 ...
-
CentOS安装KVM步骤虚拟机,绝对实用!
KVM(Kernel-based Virtual Machine)速记.这是rhel5.4最新的虚拟化技术启动,现在只支持红帽64位rhel5.4在执行KVM,硬件必须支持同一时间VT技术,网上找 ...
-
大数据应用日志采集之Scribe演示实例完全解析
大数据应用日志采集之Scribe演示实例完全解析 引子: Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它能够从各种日志源上收集日志,存储到一个*存储系 ...