- 博客(55)
- 资源 (2)
- 收藏
- 关注
转载 大端 与 小端
转自:http://shuimu98.com/2015/03/Big-Endian-and-Little-Endian/1、高内存地址和低内存地址内存布局大致如下:-----------------------最高内存地址0xffffffff 栈底 栈 栈顶 ----------------------- NULL (空洞) ----------------------
2015-07-17 00:03:16
331
转载 GDB十分钟教程
作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。G
2015-07-16 23:52:24
343
转载 MySQL批量SQL插入性能优化
转自http://tech.uc.cn/?p=634对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。1. 一条SQL语句插
2015-07-16 23:27:54
330
转载 C++中头文件相互包含的几点问题
C++中头文件相互包含的几点问题 一、类嵌套的疑问 C++头文件重复包含实在是一个令人头痛的问题,前一段时间在做一个简单的数据结构演示程序的时候,不只一次的遇到这种问题。假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h中,但是在A中要用到B,B中也要用到A,但是这样的写法当然是错误的: class B; class A { public:
2015-02-04 15:45:14
376
原创 boost::asio 学习
部分引用:http://blog.csdn.net/q601510717/article/details/7732643一、核心概念和功能解析Boost.AsioBoost.Asio 可用于如socket等IO对象的同步或异步操作.在使用Boost.Asio前了解Boost.Asio概念图, 及与应用程序的相互集成是很有帮助的.第一个范例,看看处理soc
2015-01-27 16:43:41
185
转载 应用环境下的TIME_WAIT和CLOSE_WAIT
转自:http://blog.csdn.net/shootyou/article/details/6622226昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状
2015-01-26 16:20:13
322
转载 tcmalloc
经自己测试在对于32K内存以下的内存申请1000*10000次,原生的malloc 1.1s,而tcmalloc需要0.58s。但是对于大于32k的内存相同次数申请malloc 1.1s,而tcmalloc 2.5s.. 而且在使用-ltcmalloc 有时和-ltcmalloc_minimal有很大差别.转载自:http://blog.csdn.net/chosen0
2015-01-21 14:27:07
374
转载 tcmalloc
转载自:http://blog.163.com/cp7618@yeah/blog/static/70234777201251345350339/图片全部看不了http://code.google.com/p/gperftools/downloads/list Tcmalloc通过preload或者直接动态链接的方式对malloc等内存分配和释放函数进行截
2015-01-21 10:47:50
584
转载 multimap 操作lower_bound、 upper_bound、 equal_range
/** * multimap 操作lower_bound、 upper_bound、 equal_range */#include #include #include using namespace std;int main(){ //定义 multimap 对象 author multimap a
2015-01-15 15:06:32
931
转载 Linux进程间通信——使用共享内存
转自:http://blog.csdn.net/ljianhui/article/details/10253345下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物
2015-01-09 14:24:25
313
转载 常用进程间通信
转自:http://www.cnblogs.com/hicjiajia/archive/2011/01/20/1940154.html一、引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果
2015-01-09 14:13:13
318
原创 Linux进程同步之POSIX信号量
部分内容来自:http://blog.csdn.net/anonymalias/article/details/9219945一、概述POSIX信号量有两种:有名信号量和无名信号量,无名信号量也被称作基于内存的信号量。有名信号量通过IPC(Inter-Process Communication,进程间通信)名字进行进程间的同步,而无名信号量如果不是放在进程间的共享内存区中,是不能用来进
2015-01-07 10:43:05
1075
原创 多线程(互斥锁、读写锁、条件变量、信号量、自旋锁)相关
1.互斥锁--保护了一个临界区,在这个临界区中,一次最多只能进入一个线程。如果有多个进程在同一个临界区内活动,就有可能产生竞态条件(race condition)导致错误,其中包含递归锁和非递归锁,(递归锁:同一个线程可以多次获得该锁,别的线程必须等该线程释放所有次数的锁才可以获得)。 2.读写锁--从广义的逻辑上讲,也可以认为是一种共享版的互斥锁。可以多个线程同时进行读,但是写操作必须单独进行,不可多写和边读边写。如果对一个临界区大部分是读操作而只有少量的写操作,读写锁在一定程度上能够降低线程互斥产生
2015-01-06 19:13:10
2419
原创 线程编程相关知识
大部分源于百度百科一、读写锁读写锁 (rwlock)功能特点简介读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的逻辑CPU数。写者是排他性的,一个读写锁同时只能有一个写者或多
2014-12-31 17:07:43
68
转载 Linux--线程编程 c++
转自:http://www.cnblogs.com/forstudy/archive/2012/04/05/2433853.html进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段、代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换 线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, 比创建进程小很多 进程内独
2014-12-30 20:31:20
348
转载 void与void*详解
转自:http://zhengdl126.iteye.com/blog/1739165 void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型; 2. 如果函数无参数,那么应声明其参数为void; 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void * ;
2014-12-30 17:34:49
345
转载 【Boost】boost::function介绍
转自:http://blog.csdn.net/huang_xw/article/details/82492781. 介绍 Boost.Function库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的特性但是又包含了一个调用的接口。一个函数指针能够在能以地方被调用或者作为一个回调函数。boost.function能够代替函数指针并提供更大
2014-12-29 19:54:36
304
转载 【Boost】boost::bind介绍
原文地址:http://hi.baidu.com/silyt/blog/item/9f8479adc577e20c4a36d66a.html Bind头文件: "boost/bind.hpp"Bind 库创建函数对象来绑定到一个函数(普通函数或成员函数)。不需要直接给出函数的所有参数,参数可以稍后给,这意味着绑定器可以用于创建一个改变了它所绑定到的函数的 arity (
2014-12-29 19:43:43
400
原创 CPU 相关知识
从最低的知识看起,大部分摘自百度百科一、CPU主频单位主频:双核是指的1个CPU内有两个物理内核心,并不是“双主频”。CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)CPU的外频,通常为系统总线的工作频率(系统时钟频率),CPU与周边设备传输数据的频率,具体是指CPU到芯片组之间的总线速度。说到处理器外频,就要提到与之密切相关的两个概念:倍频与
2014-12-29 10:35:44
902
转载 进程和cpu的相关知识和简单调优方案
转自:http://www.2cto.com/os/201406/308230.html进程就是一段执行的程序,每当一个程序运行时,对于操作系统本身来说,就创建了一个进程,并且分配了对应的资源。进程可以分为3个类别:1.交互式进程(I/O)2.批处理进程 (CPU)3.实时进程 (REAL-TIME)对于交互式进程来说,一般其占用的cpu时间片很段,但是优先级偏高;批处理进
2014-12-23 18:45:13
764
转载 mount挂载权限问题
转载:http://1300hong.blog.163.com/blog/static/22545921201223091112544/最近一直都是在linux下开发,见识是长了,但是效率还是提不上来,于是想方设法结合windows与linux的优点。 linux做服务器远比windows好,程序最终还是在linux下跑的,况且服务程序在linux与window下速度相
2014-12-09 20:17:46
7790
原创 mac os 安装 boost库
首先我们要在 www.boost.org 的网站上下载新的boost库,我下的是boost_1_57_0.tar.gz:大小70.1MB,解压后300+MB1.解压tar -xzvf boost_1_57_0.tar.gz2.进入文件夹cd boost_1_57_03.运行shell脚本
2014-12-07 12:39:27
753
转载 memcahe mongodb
转自:http://www.cnblogs.com/lovecindywang/archive/2010/05/19/1739025.html先说说自己对Memcache和Mongodb的一些看法,主要是抛砖引玉了,希望看到大家的意见和补充。 Memcache Memcache的优势我觉得总结下来主要体现在:1) 分布式。可以由10台拥有4G内存的机器,构成一个40G的内存
2014-11-21 09:31:41
395
转载 mysql操作
转自:http://www.cnblogs.com/zhangzhu/archive/2013/07/04/3172486.html1、连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用
2014-11-10 21:54:03
364
转载 解决Sublime Text 3中文显示乱码问题(转)
1、打开Sublime Text 3,按Ctrl+~打开控制行,复制粘贴以下python代码,然后回车运行。2. 复制并粘贴如下代码:Python代码 import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0';
2014-10-30 14:39:35
377
转载 全程讲解C++的四种强制转换
转自http://jingyan.baidu.com/article/02027811a1d7d71bcc9ce5f4.htmlC++的强制转换大致分为四种,每一种的作用有哪些?怎么操作?在达内C++培训的课余时间跟大家全程讲解一下。1 static_cast ( expression )用法: 该运算符把expression转换为type-id类型,但没有
2014-09-23 20:08:40
547
转载 结构体(含位域)的sizeof
结构体的sizeof先看一个结构体:http://www.cwba.com.cnstruct S1{ char c; int i;};http://www.shishangmeinv.com.cn sizeof(s1)在VC6中按默认设置得到的结果为8。我们先看看sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数,好吧,
2014-09-23 19:45:03
741
转载 C/C++中volatile关键字详解
转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html1. 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Languag
2014-09-23 19:25:47
316
转载 C++ 智能指针详解
转自:http://blog.csdn.net/xt_xiaotian/article/details/5714477C++ 智能指针详解 一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针
2014-09-23 16:57:47
231
转载 mongo简介——查询(续)
转自:http://www.2cto.com/database/201302/191101.htmlmongo简介——查询(续) mongo简介——查询http://www.2cto.com/database/201302/190196.html 这一篇继续说一些查询相关的问题。上一篇提到的查询都是等值条件查询,但是我们更多的时候
2014-09-16 12:44:10
508
转载 Linux程序编译速度提高方法
转载至: http://www.poluoluo.com/server/201007/89649.html项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情。Research了一下,找到以下可以帮助提高速度的方法,总结一下。 tmpfs 有人说在Windows下用了RAMDisk把一个项目编译时间从4.5小时减少到了5分钟,也许这个
2014-07-21 16:28:44
323
转载 Linux程序编译速度提高方法
转载至: http://www.poluoluo.com/server/201007/89649.html项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情。Research了一下,找到以下可以帮助提高速度的方法,总结一下。 tmpfs 有人说在Windows下用了RAMDisk把一个项目编译时间从4.5小时减少到了5分钟,也许这个
2014-07-21 16:28:21
304
转载 tinyxml 使用指导
转自 http://www.open-open.com/lib/view/open1356255963260.htmlTinyXML是一个简单小巧,可以很容易集成到其它程序中的C++ XML解析器。它能做些什么简单地说,TinyXML解析一个XML文档并由此生成一个可读可修改可保存的文档对象模型(DOM)。XML的意思是“可扩展标记语言“
2014-07-14 20:22:02
445
转载 gdb调试
Linux 包含了一个叫gdb 的GNU 调试程序。gdb 是一个用来调试C和C++程序的强力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值、它使你能设置断点以使程序在指定的代码行上停止执行、它使你能一行行的执行你的代码。在命令行上键入gdb并按回车键就可以运行gdb 了。(Windows需要安装MinGW或者CygW
2014-06-18 20:58:44
403
转载 lua与C++相互调用
C++与Lua的简单交互(1)制作者:蔡立中 制作时间:2012/02/25 以下演示环境基于VS2010平台。1. 环境配置先下载好Lua的库和头文件。接着,新建Windows空的控制台项目。在项目属性里指定库路径和头文件路径。这里我直接把库文件放到了工程目录下面,而头文件路径我在程序里面使用了相对路径。2. 添加一个myLuaScrip.lua文件,
2014-06-18 18:53:43
345
原创 在Windows中配置Rsync同步
Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限、时间、软硬链接。第一次同步时 rsync 会复制全部内容,下次只传输修改过的文件部分。传输数据过程中可以实行压缩及解压缩操作,减少带宽流量。支持scp、ssh及直接socket方式连接,支持匿名传输。支持Linux,Window平台。写本文的时候,window版最新版为4.0.5版官网:htt
2014-06-16 18:49:03
1234
原创 LUA元表、元操作
1.元表、元操作1.1算术元操作Metatables允许我们改变table的行为,例如,使用Metatables我们可以定义Lua如何计算两个table的相加操作a+b。当Lua试图对两个表进行相加时,他会检查两个表是否有一个表有Metatable,并且检查Metatable是否有__add域。如果找到则调用这个__add函数(所谓的Metamethod)去计算结果。Lua
2014-06-08 21:43:03
592
原创 lua学习
1.string.len(s) 返回字符串s的长度;2.string.rep(s, n) 返回重复n次字符串s的串;你使用string.rep("a", 2^20)可以创建一个1M bytes的字符串(比如,为了测试需要);3.string.lower(s) 将s中的大写字母转换成小写(string.upper将小写转换成大写
2014-06-05 11:52:23
84
原创 mongoDB学习
MongoDB创建数据库完全可以使用useuse mydb;这样就创建了一个数据库。这一步很重要如果什么都不操作离开的话 这个库就会被系统删除。 验证-------------------------------然后使用插入语句:db.usr.insert({'name':'tompig'});在使用下列命令查看show co
2014-06-05 11:43:25
426
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人