Delphi部分 type  TGuardInfo=record    Lock: Integer;  end;  PGuardInfo = ^TGuardInfo; TGuardShareMem=class  private    FHandle: THandle;    FGuardInfo: PGuardInfo;  public    constructor Create;    destructor Destroy; override;    function GetGuardInfo…
先了解Qt: Qt一直以来,分为商业.开源两个版本,商业版本为用户提供了二级制的动态库,直接安装既可以使用,但是需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态库文件.自从诺基亚公司放弃Meego.遣散Qt开发团队以后,Qt商业版本的网站移到了qt.digia.com,而开源版本则放到了qt-project.org 以下将介绍开源版本的安装. Qt开发,首先要安装Qt library和Qt Creator Qt library为Qt程序提供头文件…
qt编程:windows下的udp通信 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:win7 开发环境:qt 功能: 用udp进行收发通信 界面: 源代码: LssHost.pro: #------------------------------------------------- # # Project created by QtCreator 2013-09-22T09:36:44 # #------------------…
Windows进程间共享内存通信实例 抄抄补补整出来 采用内存映射文件实现WIN32进程间的通讯:Windows中的内存映射文件的机制为我们高效地操作文件提供了一种途径,它允许我们在WIN32进程中保留一段内存区域,把硬盘或页文件上的目标文件映射到这段虚拟内存中.注意:在程序实现中必须考虑各进程之间的同步问题. 在Windows操作系统下,任何一个进程不允许读取.写入或是修改另一个进程的数据(包括变量.对象和内存分配等),但是在某个进程内创建的文件映射对象的视图却能够为多个其他进程所映射,这些进…
Windows中利用共享内存来实现不同进程间的通信 一.msdn详细介绍 https://docs.microsoft.com/zh-cn/windows/win32/memory/sharing-files-and-memory 二.实现思路讲解: 在A进程,我们通过 CreateFileMapping()函数来创建一个文件映射对象(使用 INVAILD_HANDLE_VALUE 来不指定文件句柄),然后调用MapFileOfView()函数来将文件映射对象映射到本进程中,利用copymemo…
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器和调试器的信息如图所示: http://qt-project.org/doc/qtcreator-3.0/creator-debugger-engines.html (Home | Docs | Qt Creator 3.0 | Debuggingand Analyzing | Setting Up…
软件是在linux上写的,然而搬到windows上来遇到了好多问题.... 想跪.... 首先就是压根编译不了的问题....这个问题困扰我好久了....一直报错undefined reference to RInside和deplicate section.... 如贴:http://www.qter.org/forum.php?mod=viewthread&tid=6071&extra= 后来终于解决了,原来是qt版本的问题……原来是在5.7或5.8上编译的,换成5.6就好了... 呸…
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器和调试器的信息如图所示: http://qt-project.org/doc/qtcreator-3.0/creator-debugger-engines.html (Home | Docs | Qt Creator 3.0 | Debuggingand Analyzing | Setting Up…
从QT官网可以得知其支持的平台.编译器和调试器的信息如图所示: http://qt-project.org/doc/qtcreator-3.0/creator-debugger-engines.html (Home | Docs | Qt Creator 3.0 | Debuggingand Analyzing | Setting Up Debugger) 本篇主要讲解QT在Windows操作系统下的三种编程环境搭建. 方案 编程环境 编译器 调试器 一 Qt Creator MinGW GCC…
 当你利用QT编译了一个可执行程序,需要将这个可执行程序拷贝到别人的电脑上运行,这个时候除了这个可执行程序外,还需要支持的库才可用运行.一般来说通过下面的方法可以实现.     首先,需要看你用的是什么版本编译的,有的安装环境可能有两个版本,我安装的windows下的QT包括4.7.4和4.8.1两个版本. 当确定了版本后(假设为4.7.4),找到安装程序下的D:\Qt\2010.05\qt\bin目录.从该目录下拷贝QtCore4.dll.libgcc_s_dw2-1.dll.mingwm10…
http://blog.csdn.net/stpeace/article/details/39534361 进程间的通信方式有很多种, 上次我们说了最傻瓜的“共享外存/文件”的方法. 那么, 在本文中, 我们即将学习“共享内存”的方式实现进程间的通信, 这是IPC最快的方法.有的地方又把这种“共享内存”的方式叫做“内存映射文件”方式. 我们首先来看看进程A对应的程序: #include <iostream> #include <windows.h> using namespace…
共享内存的方式原理就是将一份物理内存映射到不同进程各自的虚拟地址空间上,这样每个进程都可以读取同一份数据,从而实现进程通信.因为是通过内存操作实现通信,因此是一种最高效的数据交换方法. 共享内存在 Windows 中是用 FileMapping 实现的,从具体的实现方法上看主要通过以下几步来实现: 1.调用 CreateFileMapping 创建一个内存文件映射对象: HANDLE CreateFileMapping( HANDLE hFile, // handle to file to ma…
享内存的方式原理就是将一份物理内存映射到不同进程各自的虚拟地址空间上,这样每个进程都可以读取同一份数据,从而实现进程通信.因为是通过内存操作实现通信,因此是一种最高效的数据交换方法. 共享内存在 Windows 中是用 FileMapping 实现的,从具体的实现方法上看主要通过以下几步来实现: 1.调用 CreateFileMapping 创建一个内存文件映射对象: HANDLE CreateFileMapping( HANDLE hFile, // handle to file to map…
1.概述 在Windows下微软给我们提供了一个十分强大的C/C++运行时库,这个运行时库中包含了很多有用的功能.而众多强大功能之一就是内存泄露的检测. C/C++提供了强大的内存管理功能,不过随之而来的却是内存管理的复杂问题.内存泄露.踩内存等问题随之大量产生.要完全杜绝这些问题是比较困难,不过一个高效有用的工具却可以将内存泄露的问题第一时间发现并处理掉. VS的C/C++运行时库中内存管理系统的基础就是调试堆,调试堆和普通的堆不同之处就在于每一块分配的内存前后都有一些额外的信息.下面就是每块…
三个模块 1,game.exe,三个方法,控制台输入指令('A','B','R')分别控制三个方法的调用: 2,WGDll.dll,要注入到game进程中的dll文件: 3,myconsole.exe,用来注入dll文件的程序: 先开启game进程,然后用myconsole把dll注入到game,dll模块和myconsole模块利用共享内存实现进程通信,在myconsole的控制台输入指令,dllmokuai接受指令,调用game模块的方法,达到控制game的目的 game模块 #includ…
上一节讲到了worker进程的共享内存,它利用丰富的指令使数据的缓存操作变得非常简单,但它也存在一些缺点. 1.worker进程之间会有锁竞争,在高并发的情况下会增加性能开销.2.只支持Lua布尔值.数字.字符串和nil类型的数据,无法支持table类型的数据.3.在读取数据时有反序列化操作,会增加CPU开销. 共享内存在Ngx_Lua中作为缓存工具还是非常出色的.笔者在生产环境中,曾多次使用lua_shared_dict的各种特性,并未感受到存在明显的性能问题.但如果读者还是介意这些缺点或需要…
好久没更新博客了,最近几个月一直在忙项目,现在终于有时间进一步学习了.这次记录的是unix环境中共享内存的使用方法.  在我理解,共享内存就是在内存中开辟一段空间,各个毫不相干的进程就可以通过访问这段内存中的资源,从而达到进程间通信的效果.由于是对同一块内存进行操作,没有涉及到资源的复制等操作,所以在IPC对象中共享内存速度和效率都是很高的.      使用共享内存过程中需要的函数      1.shmget      该函数通过键值向内核申请一块共享内存      函数原型:int  shmg…
前文已经交待了从源码编译Qt自定义版本.现在可以开始配置一下开发与调试程序并写个Hello World了. 1. IDE 虽然Qt官方有VS插件使我们可以在VisualStudio中开发Qt应用,但我的感觉是那样的体验不太好,我还是喜欢使用清爽的Qt Creator来开发. QtCreator的下载地址:http://download.qt-project.org/official_releases/qtcreator/3.3/3.3.0/qt-creator-opensource-window…
默认情况下,用Qt新建一个控制台程序,运行时会弹出CMD窗口.如何把窗口去掉呢? *.pro文件默认是这样的: TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt SOURCES += main.cpp 我们只需要把”CONFIG += console“注释掉即可. 最后,注意一点,当你在Qt Creator的IDE点击Ctrl+R,运行exe程序时,仍然看得见CMD窗口.不要担心效果没有起到,请你打开Debug所…
QPixmap originalPixmap = QPixmap::grabWindow(QApplication::desktop()->winId()); QString format = "png"; QString initialPath = QDir::currentPath() + tr("/untitled.") + format; QString fileName = QFileDialog::getSaveFileName(this, tr(…
原文地址:https://www.cnblogs.com/wdpnodecodes/p/8036333.html 由于服务器上放的tomcat太多,造成内存溢出. 常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space 一.java.lang.OutOfMemoryError: PermGen space PermGen space的全称是Permane…
一.内存 注: jdk1.8中废弃了-XX:PermSize和-XX:MaxPermSize的持久态(存放常量.静态变量区)配置, 多了一个元数据区(Metadata Space:默认为内存的0.2%):所以设置元数据区大小的参数也变成对应的MetaspaceSize和MaxMetaspaceSize了. set JAVA_OPTS=-server -Xms2048M -Xmx2048M -Xss2m -XX:MetaspaceSize=256m -XX:MaxNewSize=1024m 开启t…
<?php /** * Created by PhpStorm. * User: 25754 * Date: 2019/5/4 * Time: 13:42 */ class SystemInfoWindows { /** * 判断指定路径下指定文件是否存在,如不存在则创建 * @param string $fileName 文件名 * @param string $content 文件内容 * @return string 返回文件路径 */ private function getFilePa…
在conf里面的server-user文件里添加 <tomcat-users> <role rolename="admin-gui"/> <user username="admin" password="1234" roles="manager-gui"/> 然后输入路径+端口/manager/status查看…
有时候我们希望将dll嵌入到程序内部,以提高程序的安全性,这里我写的一个开源memorydll模块. 首先 go get github.com/nkbai/go-memorydll 然后在需要的时候 import "go-memorydll"即可, 使用起来也非常简单,这里从test例子中摘取. testdll,_:=base64.StdEncoding.DecodeString(testdllbase64)dll,err:= memorydll.NewDLL(testdll,&quo…
1.打开TOMCAT目录 E:\备份\apache-tomcat-8.5.50-windows-x64\apache-tomcat-8.5.50\bin catalina.bat---------------------文本方式打开 2.修改配置文件 set CLASSPATH=set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m 解释:最大内存使用512m,最小内存使…
普及  之  windows下qt的安装及配置   qt介绍 : Qt,分为商业.开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态库文件.       所以以下介绍开源版本(原因嘛,,自然是因为免费): Qt开发需要安装qt library 和 qt creator    qt library为Qt的程序提供头文件.静态链接库   和动态链接库   qt creator 是用于编程的IDE ,提供GUI界面绘制.代码编写.程序…
Qt Windows下链接子系统与入口函数(终结版) 转载自:http://blog.csdn.net/dbzhang800/article/details/6358996 能力所限,本讨论仅局限于MSVC的cl编译器和MinGW的gcc编译器. 第一部分:不涉及Qt(理清链接子系统和入口函数) 第二部分:Qt的链接子系统和入口函数(与第一部分完全对应上) 第三部分:QtTest模块出现控制台的原因与方案 第四部分:Graeme Gill 给出的很有意思的代码. 再探 链接子系统 在  浅谈Co…
Qt  版本:5.1.0 32bit 代码部分,参考1即可.配置发行时,需要将NPSWF32放在项目的plugins\目录中. 否则,可能找不到,导致无法运行. QWebSettings *settings = QWebSettings::globalSettings(); settings->setAttribute(QWebSettings::PluginsEnabled, true); settings->setAttribute(QWebSettings::JavascriptEnab…
qt在windows下的使用方式有两种: 1.将qt内置在vs下,例如,内置在vs2010下,使用vs的编译器及调试器. 2.在windows下,使用qt creator以及MingW作为编译器的使用. 当然两种方式也可以共存. 一.现在讲解第一种方式,qt4.8.5内置在vs2010下: 下载:1.“qt-win-opensource-4.8.5-vs2010.exe” 注意为安装版,不需要编译. 2.“qt-vs-addin-1.1.7.exe” 直接安装就可以,安装后,运行VS2010,菜…