架构设计与优化
kelsel
这个作者很懒,什么都没留下…
展开
-
各种编码的由来(很通俗)
一直对字符的各种编码方式懵懵懂懂,什么ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Let's go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。原创 2016-10-08 16:43:42 · 2680 阅读 · 0 评论 -
Handling oprofile sample buffer overflows
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W51a7ffcf4dfd_4b40_9d82_446ebc23c550/page/Handling+oprofile+sample+buffer+overflowsHandling oprofile sample buffer overflows原创 2016-10-08 16:54:39 · 458 阅读 · 0 评论 -
RC4加密解密
调用RC4函数时,会修改密钥。因此需要两组密钥,一组用来加密,一组用来解密。 #include openssl/rc4.h> #include stdio.h> #include stdlib.h> #include string.h> sta原创 2016-10-08 16:54:42 · 4473 阅读 · 0 评论 -
4 Linux Commands To View Page Faults Statistics
4 Linux Commands To View Page Faults Statistics by NIXCRAFT on NOVEMBER 5, 2012 · 1 COMMENT· last updated at NOVEMBER 6, 2012 How do I view minor and major page fa原创 2016-10-08 16:54:45 · 397 阅读 · 0 评论 -
加入LINUX内核邮件组
http://vger.kernel.org/vger-lists.html列出了linux内核的邮件列表,点击"subscribe / unsubscribe 管理员在2009年8月13日编辑了该文章文章。 --> -->原创 2016-10-08 16:54:47 · 1332 阅读 · 0 评论 -
CPU处理数据流程
http://en.wikipedia.org/wiki/Instruction_cycleThe circuits used in the CPU during the cycle are: Program counter (PC) - an incrementing counter that keeps track of the memory address of th原创 2016-10-08 16:54:50 · 1682 阅读 · 0 评论 -
LIBC小记
libc是Linux下的ANSI C的函数库。ANSI C是美国国家标准协会(ANSI)对C语言发布的标准C89,http://ishare.iask.sina.com.cn/f/12194542.html?sudaref=www.google.com.hk&retcode=0C99,http://ishare.iask.sina.com.cn/f/7751242.html原创 2016-10-08 16:54:53 · 231 阅读 · 0 评论 -
三元光栅操作
From: http://www.vckbase.com/document/viewdoc/?id=509 本文列出了供BitBlt、PatBlt和StretchBlt函数使用的三元光栅操作码。三元光栅操作码定义了如何合并源位图和目的位图的位。 每一光栅操作码都提供了一个布尔操作,也就是如何合并源位图中的象素、选中的画刷和目的位图中的象素。下面是原创 2016-10-08 16:55:02 · 4046 阅读 · 0 评论 -
逆波兰表达式,后缀表达式
表达式 逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式。这个知识点在数据结构和编译原理这两门课程中都有介绍,下面是一些例子: 正常的表达式 逆波兰表达式 a+b ---> a,b,+ a+(b-c) ---> a,b,c,-,+ a+(b-c)*d ---> a,b,c,-,d,*,+原创 2016-10-08 16:55:12 · 1549 阅读 · 0 评论 -
Linux应用程序性能优化教程
1.1 参考资料 《嵌入式Linux性能详解》,史子旺 https://perf.wiki.kernel.org/index.php/Main_Page,perf主页 http://www.docin.com/p-619608212.html,Linux 的系统级性能剖析工具-perf (一) - 淘宝内核组 http:/原创 2016-10-08 16:55:15 · 2123 阅读 · 0 评论 -
XWindow的程序性能及改善
http://blog.163.com/hbu_lijian/blog/static/1261291532012429104043353/XWindow系统应用程序性能 应用程序遇到的与XWindow相关的性能问题:1) 画图/刷新速度. 有些应用程序需要在屏幕上绘画大量图形.2) 响应用户输入. 能在期待的时间能内做出响应3) 应用程序启动/初始化. 包含大量窗体的程原创 2016-10-08 16:55:27 · 865 阅读 · 1 评论 -
测试小结
1.定义场景2.根据场景编写自动化测试脚本,明确给出“开始测试”,“结束测试"的标志,PYTHON,按键精灵3.保留原始测试数据测试完所有场景对数据进行深加工,整理成EXECL等格式。 管理员在2009年8月13日编辑了该文章文章。 -->原创 2016-10-08 16:55:40 · 478 阅读 · 0 评论 -
设计模式——观察者模式
/**----------------------------------------------------------------------------- * @file main.cpp * * @author @.com.cn * * @date原创 2016-10-08 16:58:42 · 289 阅读 · 0 评论 -
调试BUG之打印输出,但是没输出
1. 添加了一行代码。 fprintf(stderr, "xx");2. 确定这行代码所在的文件是哪个,是动态库,静态库还是直接在二进制里面。3. 如果代码编译成库,则确认二进制是否链接到那个库。(ldd ) 管理员在2009年8月13日编辑了该文章文章。 -->原创 2016-10-08 17:02:39 · 948 阅读 · 0 评论 -
安装使用oprofile
1)安装oprofile依赖库:popt,bfd,liberty#./configure --with-kernel=/usr/src/linux/ --with-kernel-support#make#make DESTDIR=`pwd`/_install install如果不能编译,替换掉系统的库文件2)内核支持OPROFILE,修改.confi原创 2016-10-08 16:54:29 · 927 阅读 · 0 评论 -
CFI support for GNU assembler (GAS)
http://www.logix.cz/michal/devel/gas-cfi/CFI support for GNU assembler (GAS) Modern ABIs don't require frame pointers to be used in functions. However missing FPs bring difficulties when doing原创 2016-10-08 16:54:26 · 420 阅读 · 0 评论 -
关于C++ code coverage tool 的研究(2)—GCOV 实现原理
http://www.taobaotesting.com/blogs/qa?bid=8451 1、背景介绍GCOV是一个GNU的本地覆盖测试工具, 伴随GCC发布,配合GCC共同实现对C或者C++文件的语句覆盖和分支覆盖测试。是一个命令行方式的控制台程序。需要工具链的支持。LCOV由 IBM 开发,由 Linux Test Project 维护的开放原创 2016-10-08 16:52:37 · 1845 阅读 · 1 评论 -
关于C++ code coverage tool 的研究(4)—coverage validator使用
http://www.taobaotesting.com/blogs/qa?bid=8592Coverage validator1. 简介2. 原理简介3. 使用4. 优缺点 1. Coverage validator简介Coverage validator(原创 2016-10-08 16:52:46 · 2233 阅读 · 0 评论 -
关于C++ code coverage tool 的研究(3)—gcov使用实例
http://www.taobaotesting.com/blogs/show/14281. 使用说明 使用GCOV进行代码覆盖率统计,需要注意:1) 在编译时不要加优化选项,因为加编译选项后,代码会发生变化,这样就找不到哪些是自己写的热点代码。2) 如果代码中使用复杂的宏,原创 2016-10-08 16:52:49 · 1710 阅读 · 0 评论 -
GPROF 统计函数执行时间
gprof的基本用法:1. 使用 -pg 选项编译和链接你的应用程序 ,在gcc编译程序的时候,加上-pg选项,如果是大项目,就在makefile里面修改编译选项,-pg放在那里都行。例如: gcc -pg -o test test.c 2. 执行你的应用程序使之生成供gprof 分析的数据,运行刚才的程序: ./test, 这样就生成了一个gmon原创 2016-10-08 16:52:55 · 2525 阅读 · 0 评论 -
编译GLIBC
1.下载内核2.make mrproper3.make headers_checkmake INSTALL_HDR_PATH=dest headers_installcp -rv dest/include/* /tmp/k_include/1.下载GLIBC-2.10.1.TAR.BZ22.tar -jxf GLIBC-2.10.1.TAR.BZ2 && cd glib原创 2016-10-08 16:53:04 · 1238 阅读 · 0 评论 -
google proftools
cpu profile依赖文件:1)perl5,2)dot,Graphviz - Graph Visualization Software, http://www.graphviz.org/ 没有moc-qt4, ln -s /usr/bin/moc /usr/bin/moc-qt43)xaw3d,下载,解压$cd /xc/lib/Xaw3d$vi Imakefi原创 2016-10-08 16:53:14 · 662 阅读 · 0 评论 -
位图之屏蔽位图
图标也就是位图,用矩形定义。显示图标时,我们只想改变该矩形中的某些像素。我们想改变的区域称为不透明区域,剩下的区域称为透明区域。屏蔽位图,不透明的区域用的是黑色(0),透明区域用的是白色(1)。 管理员在2009年8月13日编辑了该文章文章。 -->原创 2016-10-08 16:53:27 · 436 阅读 · 0 评论 -
WIRESHARK之SSL解密
本文介绍在Wireshark网络协议分析仪中如果解密SSL和TLS流量 要求 以下基本知识: ? 网络追踪 ? 网络,TCP/IP和SSL/TLS协议 ? 证书和公私钥的使用 ? Wireshark网络协议分析仪 Wireshark 软件原创 2016-10-08 16:53:33 · 7497 阅读 · 0 评论 -
memcpy性能测试
存在的问题 1。测试结果以微秒为单位,明显不靠谱2.gettimeofday精度不足,对高精度需要用汇编改写3.存在cache缓存,建议测试时尽量模拟真实环境至少存在以上三个问题,不知道为什么会被搞成“推荐文章”,1。堆、栈中的内存区别不同点:堆内存是malloc分配的,直到程序结束或用free释放栈内存是函数局部变量或参数,函数结束则自动释原创 2016-10-08 16:53:36 · 3152 阅读 · 0 评论 -
缓存小结
L1 cache,一级缓存(数据Cache(I-Cache)和指令Cache(D-Cache))L2 cache,二级缓存CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中原创 2016-10-08 16:53:38 · 365 阅读 · 0 评论 -
快速理解设计模式之创建型设计模式(上)
http://www.cnblogs.com/programmerblog/archive/2013/04/22/designPattern.html导语:本文将教大家一个快速理解设计模式的方法,以及如何自己通过日常生活来体会设计模式。 前言: 虽然这个方法有让大家为了用设计模式而学习设计模式的嫌疑,或者不能让你完全意义上的理解设计模式,但是我认为先要学会用然后在把它变原创 2016-10-08 16:53:48 · 240 阅读 · 0 评论 -
GCC编译优化指南
GCC编译优化指南 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明。原创 2016-10-08 16:54:11 · 481 阅读 · 0 评论 -
GCOV 用法
CFLAGS="-fprofile-arcs -ftest-coverage"LIBS="-lgcov"1。GCOV(1) 编译 CFLAGS CXXFLAGS LDFLAGS += "-fprofile-arcs -ftest-coverage -g -O0 -fPIC" gcc -fprofile-arcs -ftest-coverage -g -O0 -o te原创 2016-10-08 16:54:13 · 3756 阅读 · 0 评论 -
概要设计思路
概要设计文档:文档内的每个结构是对同一事物的不通侧重基本流程:实现的流程整体框图:划分为多少模块,模块间如何协作时序图:不通类协作的时机与方法1. 确定要实现哪些功能,一个一个列出; 有功能点才有目标,不然乱作一通2. 搜集资料,分析实现这些功能的方法,给出流程,给出方案,分析可行性 较详细的原理和可行性分析3. 确定方案对外提供的接口 接原创 2016-10-08 17:37:17 · 3263 阅读 · 0 评论