Skip to content

Instantly share code, notes, and snippets.

## If you have a prefix inculde header (says precompile.h) for all module of your project,
## then together with Cotire, do set(GLOBAL PROPERTY COTIRE_CXX_PREFIX_HEADER_INIT_DEFAULT precompile.h)
## and then add_cotire(target_module)
function (add_cotire _target)
get_property(_pch_target GLOBAL PROPERTY COTIRE_CXX_PCH_TARGET)
get_property(_pch_header GLOBAL PROPERTY COTIRE_CXX_PREFIX_HEADER_INIT_DEFAULT)
if("${_pch_target}" STREQUAL "")
set_target_properties(${_target} PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT ${_pch_header})
@lyarbean
lyarbean / draft
Created September 20, 2015 10:55
Qt Graphics View Framework 实践
Qt Graphics View Framework 简介
Qt Graphics View Framework (以下简称GVF)是一套成熟的基于Qt Widgets的框架,为大量二维物件的交互提供了优化的管理方法和渲染机制。 这个框架内建了专用事件传递架构,使得物件可以处理键盘时间和鼠标时间,从而允许被选取,移动和旋转等。 此外这个框架提供了BSP(Binary Space partitioning)树索引模式,以快速地定位物件,从而也加速了区域的渲染,为实时显示提供了支持。
GVF首次亮相于Qt 4.2,替换了QCanvas。
架构
GVF由三部分组成,场景、视图和物件, 类似于Model View Framework中的模型、视图和代表元。
@lyarbean
lyarbean / list_unique_merge
Last active December 27, 2015 08:49
list_unique_merge
#include <stdio.h>
#include <stdlib.h>
struct node_t {
struct node_t* next;
int value;
};
typedef struct node_t node_t;
typedef struct {
node_t* head;
@lyarbean
lyarbean / q35-pcie.xml
Created October 18, 2013 05:44
q35-pcie.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit x32
or other application using the libvirt API.
-->
<domain type='kvm'>
<name>x32</name>
<uuid>858082e2-3cee-445b-9aa5-f805906cac78</uuid>
@lyarbean
lyarbean / gist:5941959
Created July 7, 2013 01:55
Draw IOzone and dd result
#!/bin/bash
function izone_Rarray ()
{
echo "A <- array(0,dim=c(8,14))" > $2
grep 10485760 $1 | grep -P '1024|4096|8192|16384' | sed 's/ */,/g' | sed 's/,10485760,//g' | awk '{print "A[" NR ",] <- c(" $0 ")"}' >> $2
echo "write(t(A),file='${2/R/out}',ncolumns=14,sep='&')" >> $2
cat >> $2 << EOF
d <- data.frame(iter = seq(1, 8),
#reclen = A[,1],
write = A[,2],