替代微软Visio的开源免费软件DIA Diagram Editor

DDIA Diagram Editor,功能强大和跨平台特性,原生支持简体中文界面。与Visio相比,DIA Diagram Editor安装包仅不足20MB,可以放在网盘或U盘中随身携带。初用者可能觉得Dia用法比较繁琐而麻烦,但是无法否认,它仍然是综合性能最佳的免费替代方案。

DIA Diagram Editor支持导出的流程图格式如下:EPS、SVG、DXF(Autocad格式)、CGM、WMF、PNG、JPEG、VDX(Microsoft Visio格式)。

dia_screenshot

项目地址:http://sourceforge.net/projects/dia-installer/

 

使用CMake(windows vs2015)

学习使用CMake,简单记录一下学到的东西:

CMake使用自己的语法对工程进行配置,方便在各个平台编译。

windows上,安装了CMake后,有gui界面,操作起来很方便。

1.打开gui,选择源码目录(对应${PROJECT_SOURCE_DIR})

2.选择生成目录,最好是${PROJECT_SOURCE_DIR}/build,防止生成文件跟源码搞到一起。

点击configure,偶尔需要两次。configure完工后,去build目录下已经可以看到VS工程文件,打开就可以慢慢调了。

 

CMake要求不多,编译目录下需要有CMakeList.txt,CMake根据CMakeList酌句执行。

这里贴一个用到的CMakeList.txt,并简单注释(目前理解还不够,仅仅是配置对应了vs的哪一项)

下面是一篇极好的CMake学习文档,CMake practice

 

Sqlite常规操作 add update select

用到了数据库,花了好长时间才搞定,把遇到的问题记录一下,sqlite语法:

select,最简单的语句

select * from table where condition

add

add中有两个需求

1.没有表的时候创建表

create table if not exists

2.如果存在则更新,不存在就插入

insert or replace into table ()values()

这里需要配合 primary key,用unique会报错

3.update

update table set x = x where condition

 

多次遇到 near syntax error,这些肯定是语法拼写错误,请仔细检查。

 

小米Note(MIUI V7)查看程序访问网络流量排行

小米Note(MIUI V7) 连接上WIFI后,显示网络下载一直很高,不清楚是哪个应用在访问网络,网上搜索了一下,找到如何查看网络流量的方法。

  • 桌面上点击“安全中心”

desktop

  • 选择“流量剩...”这个水滴状的按钮

safe_center

  • 选择“流量排行”

flow_list

  • 点击右上角的切换图标来显示WIFI跟3G,4G上网排行

select_network

  • 详细的流量访问,排行信息

net_app_lists

常用数学符号希腊字母表

 

希腊字母表
序号
大写
小写
英文注音
国际音标注音
中文读音
意义
1
Α
α
alpha
a:lf
阿尔法
角度;系数
2
Β
β
beta
bet
贝塔
磁通系数;角度;系数
3
Γ
γ
gamma
ga:m
伽马
电导系数(小写)
4
Δ
δ
delta
delt
德尔塔
变动;密度;屈光度
5
Ε
ε
epsilon
epsilon
艾普西龙
对数之基数
6
Ζ
ζ
zeta
zat
截塔
系数;方位角;阻抗;相对粘度;原子序数
7
Η
η
eta
eit
艾塔
磁滞系数;效率(小写)
8
Θ
θ
thet
θit
西塔
温度;相位角
9
Ι
ι
iot
aiot
约塔
微小,一点儿
10
Κ
κ
kappa
kap
卡帕
介质常数
11
Λ
λ
lambda
lambd
兰布达
波长(小写);体积
12
Μ
μ
mu
mju
磁导系数微(千分之一)放大因数(小写)
13
Ν
ν
nu
nju
磁阻系数
14
Ξ
ξ
xi
ksi
克西
数学上的随机变量
15
Ο
ο
omicron
omikron
奥密克戎
16
Π
π
pi
pai
圆周率=圆周÷直径=3.14159 26535 89793
17
Ρ
ρ
rho
rou
电阻系数(小写)
18
Σ
σ
sigma
sigma
西格马
总和(大写),表面密度;跨导(小写)
19
Τ
τ
tau
tau
时间常数
20
Υ
υ
upsilon
jupsilon
伊普西龙
位移
21
Φ
φ
phi
fai
佛爱
磁通;角
22
Χ
χ
chi
phai
西
23
Ψ
ψ
psi
psai
普西
角速;介质电通量(静电力线);角
24
Ω
ω
omega
o`miga
欧米伽
欧姆(大写);角速(小写);角

Source Insight添加.cc文件

在导入代码时, 发现Souce Insight只导入了.h文件,.cc文件没有导入. Source Insight对C++项目的导入,其文件过滤没有包含*.cc文件, 需要自己手动设置导入:

  1. options->document options->在document type中选择C++ Source->在右边的File Filter里加上*.cc文件
  2. 重新添加项目文件: project->Add and Remove Project files

具体操作如图所示

1.选择“Document Options”
Source_Insight_Document_Options

2.选择 “Document Type”Source_Insight_Document_Type

3.选择“C++”

Source_Insight_Document_Type_Sel

4.增加 “*.CC”

Source_Insight_C_Plus_Add_CC

小米音箱连接到Intel Wireless Bluetooth 7260 音质非常差的解决

最近买了个小米音箱,如下图所示。连接到手机,连接到 DELL笔记本的蓝牙上面都是正常的,但是一旦连接到 Intel Wireless Bluetooth 7260 上面,立即就会音质非常差了。纠结了好久终于找到原因。
T1gCJgB_dT1RXrhCrK!430x430

 

首先看看音质非常差的原因,按照下图操作

20150315131426

可以看到下图的显示,此时,音频处于单声道的8000采样,这个音频质量太差,没办法听音乐的,失真严重。而且没办法选择。

20150315131743

怎么处理呢?如下操作

20150315132238

然后

20150315132535

关闭语音服务,连接音乐服务。

20150315132839

点击后的结果如下所示即可

20150315133032

此时再次观察合成器的属性

20150315131426

观察高级属性

20150315133227

此时大家听音乐的时候,就会效果非常好了。

总结一下原因:

Intel的蓝牙,默认连接了小米的语音电话功能,这个功能按理说在蓝牙通信的时候,音箱应该声明自身没有电话通信功能的,可是小米的音箱错误的声明自己支持语音通话,造成了蓝牙协议栈把音箱当成了电话,导致默认音频异常。

VLC 2.1 在Windows下字幕和OSD中文显示方框问题

VLC播放器2.0,2.1版本在Windows下字幕中文(或其他非拉丁)字体存在BUG。

如果一个字体的名称是非拉丁/非ASCII字母但是登录项是拉丁/ASCII字母,那么这个字体不能选择用作VLC的字幕字体。

比如你的Windows的系统区域是中国大陆简体中文,你将用不了宋体、微软雅黑等拥有中国大陆简体中文名的字体,只得使用没有中国大陆简体中文名的字体如DFKai-SB,Microsoft JhengHei等(Windows 10下建议选择Microsoft JhengHei)。繁体和日文等也有类似情况。

因此进行如下设置,然后一定要重启 VLC

OSD_Image_VLC_2_1_Simple_Chinese

小米2 32G开发版 无损分区调整

最近小米2 总是报告系统空间不足,一般的应用的安装,升级都搞不定了,网上搜索了一下,找到了无损分区的调整办法,本文对于步骤进行了精简,原文有些过于繁琐了。

    • 准备工作环境工作环境

1.下载Mi2 Repartition 解压到“C:\Mi2 Repartition”下(D盘也可以)。其中含Android命令行工具、WinHex十六进制编辑软件、userdata分区挂载可使用空间调整工具resize_data,以及处理过程中的backup备份文件夹。(精简了DiskGenius,因为实际上是用不到的,原文过于折腾了

2.下载高通 Qualcomm HS-USB QDLoader设备驱动 Qualcomm_HS-USB_QDLoader_Driver 之所以不用小米的 MiFlash ,原因在于驱动里面的qcCoInstaller.dll 经常莫名奇妙的丢失,导致驱动安装不上,一直报错。(注意目前这个驱动已经可以通过Windows Update正常获得,因此不再需要

3.下载支持Linux Ext4格式无损调整分区(前移后挪双向均支持)的软件:Paragon Hard Disk Manager 14 Pro (原作者的百度网盘分享),如果不能正常下载可以使用本站下载

4.如果是64位系统,则重启机器,启动时候按住 F8,选择“禁用驱动程序签名强制”(注意目前这个驱动已经可以通过Windows Update正常获得,因此不再需要禁用驱动签名,更新一下驱动即可正常使用了)

2014072209105448067

5.确保手机电池电量充足,最好是满电状态。

  • 开始调整分区

    1.正常开机状态下,在“设置-其他高级设置-开发者选项”中打开“USB调试”。电脑端按键盘Win+R(限Windows系统。Mac OS请出门左转),输入cmd回车,打开命令行窗口,输入cd C:\Mi2 Repartition回车。然后按顺序运行下图中的三条命令。注意运行命令时手机屏幕上是否提示操作权限,请给予允许:
    #注释:运行命令时手机必须已获得完整root权限。开发版自带完整 root权限,如运行命令时手机屏幕上提示有程序被禁用root权限,进入“安全中心-权限管理-ROOT权限管理”中允许给予root权限再重新运行命 令。稳定版需自行处理获得完整root权限。稳定版系统如何获取完整root权限的方法请论坛自学

如下图所示032535z2tw2pvuvc7w5gzg.png.thumb.jpg

2.关机,按住音量-键,再短按开机键,进入fastboot启动环境。然后运行以下命令:

#注释:本命令在fastboot状态下擦除手机aboot逻辑区块中的数据
#注释:去掉aboot模块后,重开机才能已Qualcomm MMC Storage模式在PC上加载手机内部存储器</span

032536p17x96die67z6n11.png.thumb.jpg

然后长按开机键约10秒,听到USB设备断开并重新加载的声音后松开电源键。此时会安装并加载Qualcomm HS-USB QDLoader设备驱动,让设备进入MMC Storage内部存储模式

#注释:需安装小米手机驱动(MiFlash线刷工具软件中集成),否则无法安装Qualcomm HS-USB QDLoader设备驱动

#注释:如安装Qualcomm HS-USB QDLoader驱动后,在Windows设备管理器中发现此设备前有黄色感叹号无法启动的情况,需在设备管理器中禁用此设备,断开并重新连接USB后, 在设备管理器中启用此设备,即可正常加载。此问题是PC系统驱动环境引起。

3.打开Paragon Hard Disk Manager 14,首次运行出现如下画面,选择箭头指向的按钮点击即可。Paragon_Hard_Disk_Manager_14_First

为了规避出现软件报告调整分区时发现cross-link files而拒绝操作报失败的情况,请按下图所示操作,强制让软件忽略文件系统完整性检查,即可顺利调整分区大小(图为HDM 15版本,与教程中使用的14版操作上无区别)

235012tjjd7zpjpzjqe7qj.png.thumb.jpg

开始调整分区,划出用来合并到系统分区的空闲分区

Paragon_Hard_Disk_Manager_14_Split_Free_Space

然后执行合并系统分区的操作(下图是网络图片,跟上图有些差别,分区信息仅仅作为示意图

Paragon_Hard_Disk_Manager_14_Change_System

同样点击 "Apply"之后等待合并空闲分区完成。

4.打开WinHex,在软件主界面按Ctrl-D打开硬盘克隆功能,严格按下图操作,然后确认写入操作。写入完毕后aboot分区数据即已恢复,可长按电源键约10秒正常开机进入系统了
#注释:“357410”是aboot分区在MMC存储器中的起始扇区号。这个aboot分区起始扇区号357410可在DiskGenius软件中选中aboot分区,在分区参数中看到,可自行验证。2和2S所有型号都相同,都填这个数

WinHex_Disk_Clone

032605j3se0riip6r93dj3.png.thumb.jpg

5.将之前放进sdcard中的resize_data文件移动到根目录/system/bin/,试验中发现,/system 是只读的,无法拷贝进入,此时可以拷贝到 /目录下面也可以,两者分区相同,因此理论上面调整起来应该是一样的。(注意,目前尝试的小米2的特殊版本,到Android 5.0之后,已经不需要这个程序,系统启动后会自动调整分区

参考链接


Mi2(S)系列全机型无差别无损无痛不丢数据重分区教程

Windows机器上程序崩溃dump(UMDF Crash Dump)

最近接到用户的投诉,在Windows 7 32位的机器上,UMDF驱动频繁崩溃,关键是SetUnhandledExceptionFilter 设置的异常过滤竟然一丁点用都没有,查询了半天,才注意到UMDF框架把UnhandledException接管了,你完全是无力反抗。

然后去MSDN上查询,根据Determining Why the Reflector Terminated the Host Process微软文档,WER会在“%windir%\system32\LogFiles\WUDF”目录下面生成DUMP文件,测试之后发现,是否生成完全依赖WER的心情,捣鼓到后来,干脆完全不生成DUMP文件了,另外他偶尔生成的也都是MiniDump ,作用有限。“Users\All Users\Microsoft\Windows\WER\ReportQueue”目录下面的报告数据,也是时有时无,阴晴不定。

继续Google,微软文档 Collecting User-Mode Dumps 设置如下的注册表

这样设置之后,正常的应用都可以在D:\Temp 下面生成崩溃记录,但是WUDFHost.exe 就是不能生成崩溃DUMP,貌似是WUDFHost.exe 用其他低权限用户账户运行,导致没办法生成转储文件。

继续Google,ProcDump进入视野,着实是个好的工具软件,非常好用。于是写了个批处理文件来跟踪WUDFHost.exe的异常。

应用崩溃的时候,会在当前目录下面生产对应的.dmp文件。

本地下载

下面为简单的用法例子