自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 字符串IP和数字转换的杂谈

long ip_to_value(const string& strIP)//低字节在后,高字节在前{ int a[4]; string IP = strIP; string strTemp; size_t pos; size_t i=3; do { pos = IP.find("."); if(pos

2011-12-10 19:47:24 2827

转载 C++箴言:理解inline化的介入和排除

inline 函数——多么棒的主意啊!它们看起来像函数,它们产生的效果也像函数,它们在各方面都比宏好得太多太多,而你却可以在调用它们时不招致函数调用的成本。你还有什么更多的要求呢?   实际上你得到的可能比你想的更多,因为避免函数调用的成本只是故事的一部分。在典型情况下,编译器的优化是为了一段连续的没有函数调用的代码设计的,所以当你 inline 化一个函数,你可能就使得编译器能够对函数体

2011-11-28 22:55:14 512

原创 c++读二进制文件

#include #include const size_t BUF_LEN = 2;int main(){ using namespace std; ifstream sour_file( "s.dat" ); for( char buf[BUF_LEN]; sour_file.read(buf,BUF_LEN), sour_file.gcount(); )

2011-11-16 11:10:12 1062

原创 log4cplus server client模式

在多进程使用log4cplus同时向一个日志文件写的时候,官方的FAQ建议使用SoskcetAppender, 即以server client模式来写日志,保证写日志同步。写了一个小程序,fork出一个server进程,和5个client进程来写日志,当日志大小到达4G的时候做切割。/* * ==============================================

2011-11-15 17:28:22 2780

原创 makefile 小技巧

make的时候有时会出很多的warning和error,但是和一般信息混在一起看起来非常麻烦。这时可以把错误信息重定向到文件中,查看起来就方便多了。make  2> haha

2011-11-15 12:41:25 470

转载 c语言sin函数

double my_sin(double x){   register double ret;   __asm__ (      "fsin"      : "=t" (ret)      : "0" (x)   );   return ret;}//计算x(弧度表示)的正弦值。int main(){   printf("%f/n",sin(0.5)

2011-11-11 14:41:48 4040

原创 sql query error, 1153, Got a packet bigger than 'max_allowed_packet' bytes

MYSQL error: Got a packet bigger than ‘max_allowed_packet’ bytes 在使用 longtext 类型执行数据录入时,有时会抛出这个异常, 从字面理解就是当前包大小超过 mysql 系统设置的包大小无法执行操作。 解释一下包大小这个东西:简单来说就是mysql把当前执行的mysql语句看作是一个包, 而对这个包大小的限制

2011-11-10 15:32:18 935

原创 c++中vector的遍历及元素删除

#include #include using namespace std;int main(){ vector test_vec; for (int i = 0; i<100;i++) { test_vec.push_back(i); } for(vector::iterat

2011-11-09 10:48:16 34220 4

翻译 DNS 101

As stated earlier, DNS is a distributed data base. When you pay a fee to register a domain one of the questions you answer deals with your Name Servers. You have to list two and they have to be regi

2011-11-08 16:09:42 1196 1

转载 MYSQL参数 DELAY_KEY_WRITE说明

本文转自:http://dev.firnow.com/course/7_databases/mysql/Mysqljs/20100603/207726.html  这个参数只对MyISAM引擎表有作用。  DELAY_KEY_WRITE是指在表关闭之前,将对表的update操作指跟新数据到磁盘,而不更新索引到磁盘,把对索引的更改记录在内存。这样MyISAM表可以使索引更新更快。

2011-11-03 20:21:46 572

原创 随笔

代码重构了一下,增加了一张数据表,计算日志的时间减少了接近一半。真神奇。

2011-11-03 20:19:51 301

转载 MySQL中update一张表到另一张表

以下的文章主要介绍的是MySQL 数据库中如何将一个实际应用表的相关数据插入到另外一个表的实际操作方法,此方案看起来很简单但是并非如此,虽然这个实现起来非常简单,但是还是会困扰许多新手,因此专门发一篇文章备查。开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,虽然这个实现起来非常简单,但是还是会困扰许多新手,因此专门发一篇文章备查。如果2张表的字段一致,并

2011-11-03 20:17:42 1913

原创 pstack 看活动的进程内的堆栈

今天写个多线程程序,自己用c写了一个线程池,刚开始还好使,但是跑半个小时左右就会卡死,也不知道卡在哪里,因为多线程的程序,日志也是乱七八糟的,看起来毫无头绪,上网查了一下,发现了pstack,用法如下:pstack 进程号 >stack.txt文件名随便起。顺便提一下,用top查看某个进程的信息,top -p 进程号

2011-11-03 16:08:28 1651

转载 sscanf的详细用法

http://www.cnblogs.com/kex1n/archive/2011/06/09/2076501.html

2011-11-03 16:07:46 379

原创 libcurl

今天遇到两个奇怪的问题,都是关于libcurl的,可能是这个库本身的bug,记下来好了1:int OUtSourceImp(const char * post_url, const char * post_data){CURL *curl;   CURLcode res;   FILE *fptr;   int res_code = 0;……}这样一

2011-11-03 16:06:41 415

转载 c++如何判断一个字符串是否只有可见字符

#include #include#include#include #include using   namespace   std;int   main(){        string   str="Hello   World!1234567890~!@#$%^&*()_+|";        char c = 150;        str += c;

2011-11-03 13:22:21 3987

原创 linux 中的top命令下的VIRT RES

VIRT:1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:1、进程当前使用的内存大小,但不包括swap out2、包含其他进程的共享3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反4、关于库

2011-11-03 11:08:40 1132

原创 linux 下遍历文件夹下的所有文件

linux C 遍历目录及其子目录#include  #include  #include  #include  #include  #include  #include  using namespace std;void listDir(char *path)  {          DIR              *pDir

2011-11-02 10:51:37 2269

原创 c语言中的线程池

c语言中没有线程池,但是项目要用到,于是就从网上找了个代码,根据我的情况改了改,大体可以用了。大概的过程是这样的。1)初始化线程池,指定最大线程数;2)将工作线程添加到线程池的等待队列中;3)创建线程;4)依次执行线程,等待队列中没有线程的话,线程就会彻底退出了;5)等待所有线程结束;6)销毁线程,退出。PS: 下面的代码有轻微的内存泄露,有没有人可

2011-11-01 18:22:27 568

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除