一、#pragma 常用语法:
- #pragma comment(lib,“XXX.lib”)
表示链接XXX.lib这个库,和在工程设置里写上XXX.lib的效果一样。 - #pragma comment(linker,"/ENTRY:main_function")
表示指定链接器选项/ENTRY:main_function - #pragma once
表示这个文件只被包含一次 - #pragma warning(disable:4705)
表示屏蔽警告4705 - #pragma message。在标准输出设备中输出指定文本信息而不结束程序运行
- #pragma pack。用来改变编译器的字节对齐方式。
- #pragma execution_character_set(“utf-8”)。指示编译器将源代码中的窄字符和窄字符串文本编码为可执行文件中的 utf-8。(已过时?)
二、QT进程间通信-共享内存QSharedMemory
- QSharedMemory类对象的创建,利用QSharedMemory类创建实例对象时,必须为该共享内存指定关键字(即为该共享内存起一个名字)。
创建方法:a、通过构造函数QSharedMemory::QSharedMemory ( const QString & key, QObject * parent =0 )为实例对象传入关键字;
b、通过构造函数QSharedMemory::QSharedMemory (QObject * parent = 0 )构造实例对象,之后调用setKey()函数为该实例对象设置关键字。 - 创建共享内存:bool QSharedMemory::create ( int size, AccessMode mode =ReadWrite ),为实例对象创建一个空间大小为size的共享内存。
- 关联共享内存:bool QSharedMemory::attach ( AccessMode mode =ReadWrite )。将以关键字key命名的共享内存和当前程序进行关联。
- 分离共享内存:bool QSharedMemory::detach ()。
- 锁定/解锁共享内存:
bool QSharedMemory::lock () //锁定共享内存
bool QSharedMemory::unlock () //解锁共享内存