Tag: C/C++
All the articles with the tag "C/C++".
QSortFilterProxyModel排序不正确
Published: at 12:34 AMQSortFilterProxyModel排序不正确 客户端遇到的问题是当频繁的更新model时发现table上的行排序不正确,默认使用的是setDynamicSortFilter为true的方式。 在排除排序逻辑没有问题的情况下,能想到的方法是在model changed之后手动调用一下sort方法再重新排一下,但是这...
Qt什么时候用activateWindow
Published: at 09:00 AMQt什么时候用activateWindow 通常我们使用show来显示窗口,使用raise将窗口显示在最前面。 遇到的问题是,当在主窗口中打开一个子窗口时,如果这个窗口之前已经创建好了,它只是不在最前面被遮挡了,这时候要把它显示在前面使用show和raise是可以的。但是会带来一个问题,...
解决多线程处理相同产品造成的数据错乱问题
Published: at 03:18 AM目前场景是大概有十几万产品,每个产品用一个ID号表示,它有很多个属性,收到消息后主要是对产品进行增、删、改操作。 服务端有多个线程,收到一个消息后就分配一个线程去处理,问题是当某个产品ID同时被多个线程操作的时候中间会出现数据错乱的问题。由于是老系统处理一个消息时...
C++保证函数能在超时时间内返回
Published: at 10:39 AM使用这两个接口就可以了 功能:保证某个操作能在超时时间内返回 说明:sharedfromthis保证在退出作用域的时候智能指针不被释放,在线程退出的时候再自动销毁。 每执行一次execTimeout都会启动一个新线程,在线程退出后自动回收所有资源,注意T类型需要能...
C、C++ 跨平台获取当前进程内存
Published: at 05:20 AMThe "Resident set size" ("Working set size" on Windows) is the amount of physical memory (RAM) used by a process's code and data. Monitoring size changes is an important way to find memory leaks and improve performance, but methods to get this data d...
STL容器循环erase迭代器失效
Published: at 01:42 AMSTL容器循环erase迭代器失效 下面以stdmap作为例子其他容器类似,给出两种写法一种C++11的一种C++03的 // 初始化 stdmap<int, int> mp; for (int i = 0; i < 10; i++) { mpi + 1 = i + 1; } // 删除value为偶数的 ...
qpid笔记
Published: at 10:57 AM查看所有队列包括消息的信息 qpid-stat -q 查看指定队列信息 qpid-stat -q grep pingpong 查看连接信息,连接数、时间、消息数等 qpid-stat -b 删除指定队列 qpid-config del queue pingpong 如果队列不为空删除会失败,但是可以强制...
qpid-cpp Windows编译
Published: at 05:26 AMqpid-cpp Windows编译 > 先要安装boost,cmake,python2.7,ruby 下载qpid-cpp源码 http//mirrors.hust.edu.cn/apache/qpid/cpp/1.39.0/qpid-cpp-1.39.0.tar.gz 解压之后打开CMake(cmake-gui)工具 Browse Source选择:F/qpid-cpp-1.39.0 Browse Build...
Qt 客户端应用程序多开要注意的问题
Published: at 09:24 AMQt 客户端应用程序多开要注意的问题 很多客户端程序同一台电脑只允许开启一个进程,这个是很有必要的。那将一个原本单开的程序改为允许多开要注意些什么呢? 本地配置 如果多个进程读写同一个配置会造成混乱(只读的配置除外),所以要控制同一个目录不允许开两个。 ...
bug修复,浮点型计算
Published: at 06:17 AMbug修复,浮点型计算 注意: 遇到浮点型计算、转型的时候一定要小心!!! 遇到浮点型计算、转型的时候一定要小心!!! 遇到浮点型计算、转型的时候一定要小心!!! 请看一下代码: double a = 5000.11; int b = a 100; double c = a 100; b和c它们的值是...