- 博客(164)
- 资源 (3)
- 收藏
- 关注
转载 C++内存池的管理
原帖与示例代码地址:http://www.codeproject.com/KB/cpp/MemoryPool.aspx 译者点评:一个简单的内存池实现,附有源码,简单易懂,适合入门。 概述在c/c++中,内存分配(如malloc或new)会使用很多时间。一个程序会随着长时间的运行和内存的申请释放而变得越来越慢,内存也会随着时间逐渐碎片化。特别是高频率
2014-09-26 17:29:26
624
转载 c++内存池实现
原文:http://blog.csdn.net/neustar1/article/details/7478311利用C/C++开发大型应用程序中,内存的管理与分配是一个需要认真考虑的部分。本文描述了内存池设计原理并给出内存池的实现代码,代码支持Windows和Linux,多线程安全。内存池设计过程中需要考虑好内存的分配与释放问题,其实也就是空间和时间的矛盾。有的
2014-09-26 17:26:21
610
转载 内存池的C++实现。
最近在学习c++程序性能优化,读到内存池部分。自己动手写了一个,小小测试了一下应该没有问题。内存块MemoryBlock声明文件[cpp] view plaincopy#pragma once #define USHORT unsigned short #define ULONG unsigned long #inc
2014-09-26 16:53:02
702
转载 常见C++内存池技术
原文出处:http://www.cppblog.com/weiym/archive/2013/04/08/199238.html
2014-09-26 14:07:26
616
转载 C++中一个高效的内存池实现
在高效C++编程中看到一个不错的内存池实现方案,这里共享下,大家看看有什么不足。代码很简单,如下:templateclass CMemoryPool{ public: enum { EXPANSION_SIZE = 32}; CMemoryPool(unsigned int nItemCount = EXPANSION_SIZE)
2014-09-23 17:01:30
781
转载 c++内存分配优先使用内存池
认识一下new和delete的开销:new和delete首先会转调用到malloc和free,这个大家应该很熟识了。很多人认为malloc是一个很简单的操作,其实巨复杂,它会执行一个系统调用,从用户态转到内核态,该系统调用会锁住内存硬件,然后通过链表的方式查找空闲内存,如果找到大小合适的,就把用户的进程地址映射到内存硬件地址中,然后释放锁,返回用户态。delete是一个反过程。相对
2014-09-20 17:01:56
678
转载 Git 使用的简单汇总
1. 配置 git config --global user.name "your name"git config --global user.email mail@box.comgit config --global color.ui truegit config --global core.editor vigit config --global alias.lol
2014-02-25 11:46:13
663
转载 Linux 查看系统硬件信息(实例详解)
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说。cpulscpu命令,查看的是cpu的统计信息.blue@blue-pc:~$ lscpuArchitecture: i686 #cpu架构CPU op-mode(s): 32-bit, 64-b
2013-12-19 19:28:27
699
转载 MPEG Audio Frame Header
MPEG Audio Frame Headerhttp://www.codeproject.com/Articles/8295/MPEG-Audio-Frame-HeaderDownload demo project (binary and source, V2.2) - 225.4 KBDownload source (V2.2) - 21.9 KB
2013-09-06 13:25:12
1656
转载 嵌入式Linux系统图形及图形用户界面综述
嵌入式Linux系统图形及图形用户界面综述 作者:魏永明(ymwei@minigui.org)。 声明:任何人可以以任何方式复制、修改,发布或者转贴这篇文章的部分或全部内容,前提是完整保留这一版权声明。如果要修改本文或者作为其他可发布稿件的部分,请通过电子邮件通知原作者。当然,如果发现其中的任何错误,也请告诉原作者,以便修改更新。目录 1 Linux 图形领域的基础设施
2013-07-26 15:25:50
1080
转载 grep
正则表达式:grepRE 字符意义与范例^word待搜寻的字串(word)在行首!范例∶grep -n '^#' regular_express.txt搜寻行首为 # 开始的那一行!word$待搜寻的字串(word)在行尾!范例∶grep -n '!$' regular_express.txt将行尾为 ! 的那一行
2013-07-17 15:52:04
768
原创 Linux嵌入式移植之——(3)支持DM9000网卡
linux作为网路系统,功能强大之处就在于对网络的支持完善,因此添加网卡驱动使其具有网络功能是非常必要的。此开发板的网卡为DM9000,DM9000在内核是公开通用的,因此添加对它的支持非常简单。在math-th6410.c文件中添加以下1.包含头文件#include 2.设备配置结构体/* add by chenpq at 2013.6.25 ***********/
2013-06-26 09:51:51
939
原创 Linux嵌入式移植之——(2)文件系统制作, initramfs
零.前言上一篇已经完成了内核的基本移植,并且支持NAND FLASH读写,这篇只需要制作保存在NAND FLASH的文件系统,那么一个基本的LINUX系统就建立了。一.准备制作建立根目录,该目录就要我们要移植到目标板上的目录,对于嵌入式的文件系统,根目录下必要的目录包括bin,dev,etc,usr,lib,sbin。用shell脚本创建根文件系统的目录结构首先 touchbu
2013-06-17 17:13:51
873
原创 Linux嵌入式移植之——(1)内核移植
内核版本可通过以下地址获取:Linux Device Drivers: http://lwn.net/Kernel/LDD2/Linux kernel官方网站:http://kernel.org/Linux kernel 一览:https://www.kernel.org/pub/linux/kernel/ 我的环境是:1. 开发板用的是FL-OK6410B(即三
2013-05-30 22:24:56
1858
原创 linux汇编之——(7)反汇编存储及其他
1 数组越界int main(void){ inta[1]; a[0] =2; a[1] =3; return1;}反汇编objdump080483b4 : 80483b4: 55 push %ebp 80483b5: 89 e5
2013-05-24 15:45:05
820
原创 linux汇编之——(6)反汇编条件控制
C语言的条件控制语句,在汇编里说白了就是通过对ZF零标志位进行判断,然后由跳转指令来实现逻辑分支。1 条件语句ifint main(void){ int a; if(a) return 1; else return 0;}反汇编代码如下080483b4 : 80483b4: 55
2013-05-24 15:32:35
746
原创 linux汇编之——(5)反汇编运算样例
1 添加赋值语句赋值int main(void){ int a=1; //a =1; return0;}反汇编如下:(gdb) disas mainDump of assembler code for function main: 0x080483b4 : push %ebp 0x080483b5 :
2013-05-24 15:10:40
917
原创 linux汇编之——(4)最简C代码
在最简代码的基础上进行 反汇编看汇编代码 int main() { return 0; } 编译该程序,产生二进制文件: # gcc test0.c -o test0 # file test0 test0: ELF 32-bit LSBexecutable 80386 Version 1, d
2013-05-24 14:57:15
714
原创 linux汇编之——(3) 汇编基础知识
一、寄存器总共有14个16位寄存器,8个8位寄存器通用寄存器: 数据寄存器: AH(8位) AL(8位) AX(16位) (AX和AL又称累加器) BH(8位) BL(8位) BX(16位) (BX又称基址寄存器,唯一作为存储器指针使用寄存器) CH(8位) CL(8位) CX(16位) (CX用于字符串操作,控制循环的次数,CL用于
2013-05-24 14:43:45
652
原创 linux汇编之——(2)IDA远程调试LINUX文件
拷贝linux-server到linux系统并运行。提示缺少libstdc++.so.5在ubuntu系统下输入:apt-get install libstdc++.so.5或者:apt-getinstall libstdc++5不成功的情况下 在http://packages.ubuntu.com/搜索“libstcc++5”获得下载页面列表如:http://packag
2013-05-24 13:49:13
2015
原创 linux汇编之——(1)ELF:Linux可执行程序文件格式
Windows的应用程序的格式是PE格式文件,LINUX的是ELF(“Executable and Linking Format”)文件格式。 一个手工打造的ELF文件,代码如下: 7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00 02 00 03 00 01 00 00 00 60 00 48 80 34 00 00 00
2013-05-24 13:43:23
1108
转载 Android笔记-Linux Kernel Ftrace (Function Trace)解析
在软体开发时,通常都会面临到系统效能调教的需求,我们希望知道哪些区块的程式码或函式被执行的次数频繁,或是佔据较高的处理器时间,以便藉此优化程式码撰写的行为,或是改善耗CPU时间的算法,以Linux平台来说,OProfile(http://oprofile.sourceforge.net )会是一个大家常推荐的工具,OProfile支持Time-based透过系统Timer中断蒐集当下执行环境资讯,
2013-04-03 16:22:43
2472
转载 android编译全过程
本文主要参考官方文档(http://source.android.com/download)和网上相关资料(http://blog.csdn.net/HKjinzhao/archive/2009/03/18/4002326.aspx,http://www.williamhua.com/2009/04/30/how-to-build-android-15-kernel-image/)。网上的资料对于
2013-04-02 09:31:46
573
转载 Linux 中 x86 的内联汇编
Bharata B. Rao (rbharata@in.ibm.com)IBM Linux 技术中心,IBM 软件实验室,印度简介: Bharata B. Rao 提供了在 Linux 平台上使用和构造 x86 内联汇编的概括性介绍。他介绍了内联汇编及其各种用法的基础知识,提供了一些基本的内联汇编编码指导,并解释了在 Linux 内核中内联汇编代码的一些实例。
2013-03-20 16:36:04
640
转载 Linux 汇编语言开发指南
一、简介作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分。由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发
2013-03-18 16:29:54
663
转载 死锁 android ANR
Android ANR这个错误大家并不陌生,但是从Android 2.2开始出错的ANR信息会自动上传给Google进行系统分析改进,当然了你的应用ANR错误其实保存在一个文件中,在/data/anr/traces.txt文件中,如果你的Android设备没有Root越狱过,可以将你的软件装在模拟器上分析,模拟器可以直接使用Eclipse中的DDMS里的File Explorer来打开,如下图
2013-01-18 17:40:32
1091
转载 浅谈ANR及log分析ANR .
一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型:1:KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应2:BroadcastTimeout(10 seconds)BroadcastReceiver在特定
2013-01-18 17:37:17
747
转载 Android Service與JNI Native Code之關係
【转】Android Service與JNI Native Code之關係2012-02-10 | 阅: 转: | 分享 Android Service與JNI Native Code之關係2011-03-05 22:05
2013-01-11 09:28:09
738
转载 Android 添加系统服务
Android系统本身提供了很多系统服务,如WindowManagerService,PowerManagerService等。下面描述一下添加一个系统服务的具体步骤。1、 撰写一个aidl文件,定义服务的接口,将在编译过程中通过aidl工具生成对应的java接口。一般系统服务的aidl文件都放在framework\base\core\java\android\os目录中。
2013-01-11 09:26:14
592
转载 Android.mk 写法规则
Android编译系统的makefile文件Android.mk写法如下(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。 (2)An
2013-01-10 15:34:29
747
转载 BusyBox 简化嵌入式 Linux 系统
原文出处:https://www.ibm.com/developerworks/cn/linux/l-busybox/ 简介: BusyBox 是很多标准 Linux® 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet(不过它的选项比传统的版本要少);有些人将
2013-01-06 16:57:31
494
转载 vim 命令
Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都
2013-01-06 16:55:35
527
转载 linux下vi命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复f
2013-01-06 15:17:49
340
转载 Linux常用命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui
2013-01-06 09:33:26
407
转载 Windows访问Linux——之nc
nc确实是网络安全以及黑客世界一个非常流行和使用的工具,nc的用法是很多的,这里我们只介绍了几种最常用的用法,并且介绍了在Linux下重新编译nc使得其带有-e参数的方法和技巧,希望对大家有所帮助。 nc是一个命令行工具,在Windows和在Linux下的使用方法查不多(如无特别说明,本文测试的Windows机器为winxp+sp2,Linux为Redhat9.0),我们可以通过nc –h(W
2012-12-20 14:50:59
1859
转载 U-Boot 学习
基于ok6410的uboot移植(基本成功) ( 一)http://zhengxianqing1986.blog.163.com/blog/static/180567261201222681150436/ mini6410移植(arm+linux)全攻略 http://blog.csdn.net/muge0913/article/details/7083052 yan
2012-12-18 16:43:52
491
转载 最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。
最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。学习这几样东西,得先掌握linux的权限系统相关知识。linux的权限系统主要是由用户、用户组和权限组成。用户就是一个个的登录并使用linux的用户。linux内部用UID表示。用户组就是用户的分组。linux内部用GID表示。权限分为读、写、执行三种权限。linux的用
2012-12-18 15:27:03
542
转载 Windows访问Linux——之FTP
实现了Apache多用户的虚拟主机设置,那么一般这些用户都会选择用ftp上传的方式来管理自己的web内容,这就需要我们再为他们开设FTP服务。Ubuntu自带的FTP服务器是vsftpd,好文推荐里也转了两篇这方面的内容,本人通过实践再奉献一篇,呵呵 安装vsftpd,用来实现ftp服务。 sudo apt-get update sudo apt-get dist-upgr
2012-12-18 14:04:57
1380
转载 Windows访问Linux——之VNC
服务器端:1、先安装VNC服务程序: $ sudo apt-get install vnc4-common vnc4server或在新得立软件管理器中搜:VNC-E 也可以安装。删除这个软件也可以在新得立里删除安装完之后是要加入license(许可)vnclicense -add XXXX-XXXX..........(许可号码上网搜)VKQEQ-HTY2P-WN49X-
2012-12-18 11:49:34
704
Qt example codes
2009-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅