- 博客(66)
- 资源 (8)
- 收藏
- 关注
原创 Postgres-XL 测试benchmarksql报错 Failed to get pooled connections
1个gtm, 4个node, 没有slave, 手动控制台可以执行任何跑benchmarksqlcat prog.pguser=benchmarksqlpassword=abc建用户, 建数据库#create user benchmarksql with encrypted password 'abc';#create database benchmarksql...
2019-03-21 14:59:43 2226
原创 Ceph 集群定期死机
装了个5点ceph集群, 每天自动重启1,2次,后来模拟,上复杂任务, 10分钟即可重启问题排查/var/log/message里没有有用信息在/var/crash里看kdump信息发现死机栈和网上https://bugzilla.redhat.com/show_bug.cgi?id=1665248一致点开后看原来是redhat的bug, 触发这个bug的条件是1. red...
2019-03-12 10:39:51 527
转载 屏蔽gdb的signal信息
原文:http://peeterjoot.wordpress.com/2010/07/07/avoiding-gdb-signal-noise/A quick note for future reference (recorded elsewhere and subsequently lost).Suppose your program handles a signal t
2017-03-16 15:37:23 2999
原创 给svn目录做符号链接
在svn上有的目录可能需要在多个地方引用, 以前我的做法是复制一份这样做的坏处显而易见: 需要维护2份今天整理了一份用tortoises建立符号链接的方法,一处更新多处同步假设文件夹结构为:base目录下有2个文件夹1,2, 在1里有src文件夹,里面有2个txt如果想做2里建立一个链接2/dest,指向1/src,做法是在base点击svn->
2016-12-13 00:57:09 2699
原创 linu下编程70条经验总结
最近从事linux下的开发, 遇到的问题在网上逐个搜索, 这里把他们总结罗列了一下,方便日后查阅文中主要涉及 linux命令, 脚本, c++开发等内容内容虽然多,但不难, 大多可在网上查到- ------------VIM ------------1. 让vim为某个用户单独支持显示行号 新建~/.vimrc, 加入一行 set nu, 然后 source
2016-10-22 14:20:45 1573
原创 多线程程序何时需要加锁
简单的说三条:多人读,不需要一读一写要加多人写要加常见错误1读1写没事,读写的内存约多,越容易出事,因为不是原子操作对int/int64/char型是原子操作, 可不加锁, 其实没人保证这一点的, 要不c++1x还出个原子模板类干什么常用实例vector的[]操作是安全的, 如一个线程里 buf[0]++, 另一个buf[1]--是安全的, 因为
2016-06-12 14:01:20 8574 1
原创 中西医与算法之间的联系
中西医的特点网上有很多讨论,概括起来就是西医治病,中医不治病这个观点有部分道理,但不全对中医落后的原因有很多,但如果能用计算机的算法改进一下应该有很大提升比如翻译,比如路线规划,比如信号识别在很多领域,现在的方法都是用大数据分析或拟合,而不是分析原始的特征信息中医也一样,不要和西医比具体的治病原理,而是建立一个大数据库,只要吃这个能治感冒他就是感冒药,别管是橘子
2014-12-17 23:21:47 762
原创 std::string 不支持back
string s = "abc";if ( s.back() == 'c' ) ....编译报错, 不支持back, 但用VS2010就没事后来发现, string的back/front是c++11才加进去的, 所以gcc4.4不行于是gcc4.9, 发现也不行, 必须加 -std=c++11才行
2014-09-03 11:38:08 1563
原创 unlocked a not-locked lock
Valgrind报错在一个程序里, 在构造里 pthread_mutex_init在析构里 pthread_mutex_destroy中间不停地pthread_mutex_lock pthread_mutex_unlock本来是没问题的, 但发现手误, 将pthread_mutex_destroy 写成了pt
2014-03-01 10:24:29 728
原创 Win7 开机后3分钟内硬盘等狂闪解决办法
开机后如果运行一般软件没问题, 如果立即恢复 VMWare映像, 会造成本来10s的时间变为半小时解决方法:关闭 superfetch, searchindex 服务前者是建立类似 ramdisk的东西, 把常用文件映射到内存后者是建立磁盘索引
2013-11-29 16:47:18 1653
原创 Illegal instruction 原因
大部分是因为lib版本不匹配, 即编译程序的lib和当前根文件系统的lib版本不一致以前一直不确定是否
2013-11-19 14:09:18 2840
原创 valgrind使用心得
1. definitely lost有的时候实际上应该是still reachable~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2. uninitialised value(s)如 int c = GetC();if ( c > 3 )问题不出在c, 实际是在GetC里的东西没初始化的~~~~~~~~~~~~
2013-09-23 16:18:09 765
原创 linux 控制台使用技巧
1. 键盘无响应可能是按下ctrl+s, 此时按下scroll即可解锁2. 想看上一屏的信息shift+pageup3. 打印的信息和错误信息区分普通信息, 用printf, cout打印的, 用 > 重定向错误信息, 用perr打印的, 用 2> 重定向4. 驱动信息无法打印执行 klogd -c 8
2013-09-04 13:09:02 854
原创 OMAPL138 ARM与DSP冲突
一. NAND与SDRAM冲突从OMAPL138的架构上看 EMIF总线上连接着NAND和SDRAM也就是说这2个设备是不能同时访问的假设NAND上的文件系统是yaffs2, 128page/block, 2kB/page, 如果 DSP程序正在访问SDRAM时进行下面的操作1. ARM写NAND, 此时会100%造成磁盘坏块, 这些个坏块用 flase
2013-08-27 10:03:20 3414
转载 linux 内核早期打印
转自:http://blog.csdn.net/ropenyuan/article/details/6753641此文章直接重载了printk , 只改一处即可===========================================Uncompressing Linux..........................................
2013-06-27 14:40:15 1525
转载 深入讨论C++的enum
http://www.linuxsky.org/doc/dev/200802/248.htmlenum的秘密:enum是“用户自定义类型”呵呵,enum在实际中应用比较少,所以你会忽略它。但是,在这里,我告诉你,enum 和 struct、class一样,都是用户自定义类型。对呀!enum是用户自定义类型,他有数据成员,还有成员函数!For example:
2013-05-28 23:20:33 621
转载 Pure Virtual Function Called
http://www.cnblogs.com/whjiang/archive/2007/10/22/932880.html
2013-05-27 11:08:45 646
原创 常用3500个汉字的unicode编码
0x4e00,0x4e01,0x4e03,0x4e07,0x4e08,0x4e09,0x4e09,0x4e0a,0x4e0b,0x4e0d,0x4e0e,0x4e10,0x4e11,0x4e13,0x4e14,0x4e16,0x4e18,0x4e19,0x4e1a,0x4e1b,0x4e1c,0x4e1d,0x4e22,0x4e24,0x4e25,0x4e27,0x4e2a,0x4e2
2013-03-07 11:05:26 8114 2
原创 error: forming reference to void
/* 出错日期: 20130301出错信息: error : “abstract declarator”: 非法使用“void”类型 error: forming reference to void原因:模板类的构造函数里, 若带函数对象,不能参数类型不一致*///*******************出错代码template class CFunObj
2013-03-01 12:56:57 2425
原创 虚拟机暂停后起不来的问题解决
虚拟机暂停后, 由于异常断电等原因,导致映像文件错误, 启动时会在中途异常退出解决方法:在虚拟机映像目录找到扩展名为vmss的文件, 删除它, 再点击回复, 虚拟机会自动冷启动
2012-10-19 09:50:37 2946
原创 本地x86可以, 放到arm上就不行的几种可避免的情况
1. 内存不够, 本地x86通常的内存远大于嵌入式arm里面的, 这个用top -m命令可以查2. 变量未初始化, c/c++标准并没有规定变量会自动初始化为0, 而在x86的gcc里, 通常(没遇到过 不通常 )会默认0, 而在arm交叉编译后就没这么幸运了, 虽然99%的情况也是0, 可是仍然有1%的可能不是, 我估计这1%出现的原因也是嵌入式设备中的内存碎片,导致不能分配连续的0
2012-08-11 11:27:30 1171
原创 不用属性页方法实现 上一步 下一步 对话框功能
1. 新建VS2010 MFC dlg工程 Test, 会自动生成 Test.cpp TestDlg.cpp2. 在资源管理器里新建对话框 Dlg2, 为其添加类Dlg23. 在StdAfx.h添加const int ID_END_DLG_PRE = 100; //打开起始对话框const int ID_END_DLG_NEXT = 101; //信号源对话框3. 在T
2012-04-20 10:47:13 1027
原创 嵌入式设备 网络间歇性ping不通的解决办法
嵌入式设备上有个固定IP, 比如192.168.0.2windows主机有个固定IP, 比如192.168.0.3有时windows ping 设备就不通, 让设备先ping一下windows就可以了经判断, 发现问题:设备的mac地址变了(多台设备共用1个ip), IP没变, windows就不识别了解决方法:1. 让windows等足够长的时间, 比如
2012-03-30 09:55:26 3073
原创 将bmp图片批量转png
网上的工具大多是png转bmp的,其实转png更简单新建一个word2007文档, 把所有bmp文件拖进去,保存然后用7 zip打开docx文件, 把media文件夹拷贝出来就可以了, 分辨率和原始图片一样,都是png了
2012-02-28 17:16:28 1848
原创 3点法触摸屏的校准
理论知识:* 触摸屏实际是在普通的lcd上贴了一个触摸膜, 没有原生的触摸屏校准公式X液晶 = ax + by + c x,y是触摸屏Y液晶 = dx + ey + d公式原理X,Y的公司类似, 这里就已X液晶的公式为例先说a首先, 液晶和触摸膜的分辨率通常是不一样的, 如液晶分辨率 640*480, 触摸膜分辨率 1024 * 768,
2012-02-20 15:17:22 3281 1
原创 linux启动图片与内核分离
首先说一下环境:2.6.33-rc4, arm9运行, 640*480基本思想就是将静态的ppm文件从内核中删除, 将生产的数组放到内存里, 步骤如下1. 解压内核后, 修改 drivers/video/logo/Makefile 将 obj-$ 打头的只保留 obj-$(CONFIG_LOGO) += logo.o 这样做的目的是去掉生成 xxx_logo_xxx.c的过程,
2011-12-27 15:56:32 2433 3
原创 g++ 莫名错误: malloc():memory corruption(fast)
用g++写了一个程序, 其中有一段是for( i = 0 ; i push_back();这段代码被调用了N次, 当调用一定次数后, 执行到push_back时报上面的错误, 用gdb挨个看, 最终进入 malloc.c里, 报错如下malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &
2011-12-12 14:51:26 5223
原创 gb2312与utf8的手动转换
在有些系统,系统函数无法提供转换功能, 比如有的gcc版本的iconv函数里就不支持gb2312,这种情况下只能手动转换这里的gb是代码页936的, 下面的文章只负责处理汉字和基本字符.首先将gb2312里所有的汉字都写到一个文件里FILE *fp = fopen ( "d:\\22.txt", "w+b" );for ( unsigned char i =
2011-11-16 13:22:00 675
原创 stdout, stderr的区别
以前看到有人写程序不用 printf, 非要用 perror之类的东西, 运行起来也没什么区别, 不解今天发现, 如果用printf写的程序,输出到 stdout, 用 > 可以重定向到一个文本文件里, 而perror的输出不能拦截最后发现 用 2> 可以
2011-08-26 15:21:27 894
原创 git报错Connection refused
git报错git fatal unable to connect a socket (Connection refused)在linux下用git下载文件时报的错,防火墙关了,也没有用代理,最后发现是网址最后要写/如git clone git://git.aaa.com/而不要写
2011-07-26 22:54:59 7164
原创 OMAP L138系统移植之一 环境搭建
软件:VMWare7.0.1 + Fedora Core 12 安装完毕后要做的事情:1. 安装vmtools, 不然每次暂停后时间都不会与宿主机同步, 过程略2. 关防火墙和selinux, selinux在图形界面下关比较简单点一下就行了3. 安装tftp服务器在调试阶段需要用到TFTP连接OMAPL138的板子.约定在PC上的虚拟机为主机(host),开发板为目标板
2011-06-07 16:16:00 1566
原创 C compiler cannot create executables解决办法
<br />编译gutenprint时, 执行 ./configure --LDFLAGS=staitc --host=arm-none-linux-gnueabi<br />把LDFLAGS去掉即可
2011-05-06 14:01:00 1404 1
原创 在FrameBuffer中使用鼠标
<br />以前做过很多次, 最后等失败放弃了, 最近又想弄了, 突然发现很简单,<br /> <br />如果你用的是发行版<br /> kill 掉 gpm进程 就可以了<br /> <br />如果是自己编译的系统放到板子上<br /> 通常什么都不做就可以了<br /> <br />这样只要截获鼠标事件, 再写个字节的画图程序就可以了, 移动是系统就不会擦除framebuffer背景了<br />
2011-02-16 14:22:00 1470 1
原创 调试segment fault
<br />写程序的时候经常遇到 segment fault<br />当程序很大时不好调试, 于是使用 core-dump 调试<br /> <br />用ulimit -c 打印当前coredump大小, 默认是0<br />于是用 ulimit -c unlimited 或 ulimit -c 1024 其中1024代表1024k , 通常这个数值大于程序运行时的内存就可以了<br />把编译选项加 -g重编<br /> <br />按理说应该再出现错误时会出现一个core文件了, 可是没有, 再
2010-12-14 12:12:00 860
原创 为OMAP L138增加uboot启动画面
本文列出了我在OMAPL138上移植UBOOT启动画面的过程, 先说了2条失败的方法, 第3个方法成功, 最后付出了一副开机流程图(以LCD角度看uboot)
2010-12-08 15:42:00 4526 3
原创 bool 类型的简单重载
<br />bool 在vector中用时会有些限制, 比如<br /> <br />vector<bool> m;<br /> <br />bool *p = &m[0];<br /> <br /> <br /> <br />这种使用指针或者引用的地方就会出错, 原因是在vector里会自动将8个bool拼成1个以节省空间.<br /> <br /> <br />这个不知道做STL的那些人怎么想的.为了解决这个问题,实现了一个模拟bool的类, 可以使用vector了<br /> <br /> <br /
2010-08-23 14:14:00 2037
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人