wheezy安装笔记

安装规划

用途: 稳定的图形/服务器开发环境
机器环境:Y470P (i5-2450M/8G/HD7690M)
Linux使用磁盘总额: 90G
磁盘分配:

|—2G /
|—2G /tmp
|—30G /usr
|—10G /var
|—10G /swap
|—36G /home

桌面环境:Gnome3

解决CocosStudio动画编辑器取消补间动画在程序中加载后无效问题

开发环境

库版本: Cocos2d-x 3.0
编辑器版本: Cocos Studio 1.6.0

异常描述

取消补间动画后,在编辑器中看到已经没有了补间动画,但是将动画导出后加载到程序中还是有补间动画的。

CocosStudio-001

用记事本打开导出的Json文件,发现存在属性 "tweenFrame": false。 可以看到导出的信息是完整的。那么问题就在程序上,跟踪程序,发现成员变量isTween一直是true。 继续跟踪,发现CCDatas.cpp中FrameData::copy函数没有对isTween进行拷贝。所以在函数中加上isTween的拷贝过程就好。

通过重编译icu替换icuxxxx.dll减少QT5发布体积

应用背景

最近需要使用QT写一个程序,选择了比较新的QT5.3以获得更多特性进行快速开发。但是QTCreator编译出来的程序是动态链接版本,接着就头痛了,自己程序很小,但是所需要携带的动态链接库却很大,即使是发布版本,依然需要携带一个庞大的qt库,那么如何减小发布体积呢?(ps:开源版本的qt,其lib文件夹下的*.lib文件不是真正意义上的静态库文件,其装载的是dll的入口地址等信息)

大概有这么两种方案:

  1. 重编译qt生成真正的静态链接版本,然后以静态链接方式生成程序。(这方案理论效果应该是最好的,毕竟在编译前,还可以去掉qt中你用不到的模块,可惜静态编译过程复杂,而且容易出错)

  2. 继续使用动态版本,但是想办法重编译qt或者部分qt,通过裁减qt减小依赖的dll体积。

这里决定从第二种方案入手。

真值表在线计算器

truth-table-online-calculator

C系编程语言变量命名(表达式至少要有一个变量),常量只能是01,与*,或+,非!
运算符优先级:! > * > + ,支持圆括号更改优先级。样例输入: !a+(b+c)*d*1

界面随手布置的,功能上可能也存在一些BUG,发现BUG希望能即时反馈。

详情见该页面: 传送门

Cutting Sausages

题目

Cutting Sausages

题目大意

有n根一样的香肠要切成若干段,现在要分给m个人,使每个人得到的一样多,至少切几刀?

解题思路

首先,将所有香肠串在一起,可以知道至多切m-1刀(可以看成是两把刻度不同等长的尺子,求上门有多少个刻度对上了)。
假设每根长l,那么总长就是n*l,每人得到n*l/m。
设,切q根后正好得到了p个人的份,q*l=p*n*l/m,化简后得到p*n=q*m。
关于p和q有若干组解,这里要求最小的一组,可以发现p*n=q*m=LCM(n,m)。
接着可以得到q=n/GCD(n,m),q的整数倍都可能是一个解,将公式化简为n/q=GCD(n,m)。
那么就知道已经有GCD(n,m)-1处是已经断开的(刻度对上的)。

Graphivz中文乱码的解决过程

我在Windows上装了Graphivz,当我将中文输入进Dot文件中,并运行指令dot grep.dot -Tpng -o grep.png

试图生成例图时发现中文无法正常显示。
于是首先就想到了Windows对新建的文本文档保存默认是用ANSI(GBK)编码的,并且给出了警告Warning: Invalid 2-byte UTF8 found in input of graph G - treated as Latin-1\. Perhaps "-Gcharset=latin1" is needed?

于是,我试图将文档编码改为UTF8,于是我用notepad.exe打开文档另存为,然后编码选择UTF8,重新运行指令,得到如下警告Warning: grep.dot: syntax error in line 1 near '锘縟igraph'。