成风的blog

成风的blog
  • g+ + 的-O1优化的问题 - [c++]

    2012-05-18

    昨天编译代码时发现一个奇怪的问题;某一段代码带-g 参数编译后,运行结果错误,带-O3编译时,运行结果正确了;后经debug发现是如下一段代码导致:

    //b.cpp

    if(getName() == "name")

    {

    xxxx

    }

    而getName的定义在另外一个文件里:

    //a.cpp

    #define NAME ...

    Tag:编译 -O3优化
    matao13992 发表于09:03:00 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 有关linux 下C/C++ 开发的一些工具 - [c++]

    2012-05-11

    readelf:显示elf 类型可执行文件相关信息

    objdump:显示目标文件信息

    size:显示文件代码段,数据段,BSS段等大小

    file:显示文件类型;

    ldd:列出依赖的链接库

    nm:列出目标文件的符号表

    Tag:
    matao13992 发表于09:05:00 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • Gossip 协议--分布式系统状态同步协议 - [分布式算法]

    2012-02-01

    Gossip  是一种被用在分布式的非强一致性系统中用来同步各节点状态的方法。它是一个最终一致性算法。

    Gossip被设计成低 CPU开销和低网络带宽占用。因此非常适合大型的 P2P 网络。Gossip周期地随机地选择一个节点并发起一轮 Gossip会话.

    两个节点(A、B)之间...

    Tag:gossip 分布式一致性
    matao13992 发表于09:11:00 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • gcc连接的顺序 - [c++]

    2012-01-21

    使用g++做编译连接时:

    1. 查找需要连接的符号名是从前向后找,根据-L 制定的路径顺序查找;

    2. 不同目录下的同名的库,只取第一个(从前向后),后面同名库被忽略;

    3. 查找依赖关系时,只找其后面的库里定义的符号名,不找前面的库;

    示例1:libx.a 在 /lib1 ...

    Tag:g++ 连接顺序
    matao13992 发表于13:37:00 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 一个奇怪的coredump - [c++]

    2011-09-06

    如下一段简单的程序为何会coredump呢,先记录下来,以后再查!
    有明白人也请指点一下。
    #include
    #include 
    #include 

    #define MAX 17
    using namespace std;

    bool cmpt(int&nb...

    Tag:coredump stl sort C++程序
    matao13992 发表于18:38:00 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 关于单元测试 - [单元测试]

    2011-09-06

    单元测试用例设计:

    1.       验证返回值;

    2.       验证对类成员变量的影响;

    3.       验证边界条件;

     

    问题:

    1.      ...
    Tag:单元测试 边界条件
    matao13992 发表于18:37:00 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 优化之箴言 - [项目管理]

    2010-06-01

    1.        程序程序的首要原则:不要优化。—— Michael A. Jackson

    2.        程序优化的第二原则——只为专家准备:还是不要优化。   —— Michael A. Jackson.

    3....

    Tag:性能优化 高效
    matao13992 发表于15:37:02 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 优秀项目经理的七个习惯 - [项目管理]

    2010-03-21

    (1)确定项目目标,坚持不懈地向团队传达并达成目标
    (2)崇拜质量,质量监控。BVT
    (3)每天都和项目成员聊上两句,跟踪遇到的问题,
     从中发现风险存在的蛛丝马迹。
               观察细节,适时机的鼓励和表扬。
    (4)敢于说不,慎于说不。需求变更?设计变更?
    (5)帮助项目成员解决困难,而不是帮他干活。
    &nbs...
    Tag:项目经理 习惯
    matao13992 发表于23:13:09 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • vector<int>().swap(v); 和clear() 的差异 - [STL]

    2010-02-11

    #include <iostream>
    #include <vector>
    #include <string>

    using namespace std;
    int
    main(int argc, char *argv[])
    {
     vector<int> v;
     cout<<"begin..."<<endl;
    ...
    Tag:stl vector swap clear
    matao13992 发表于16:46:56 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 二维vector的reserve操作引起coredump - [c++]

    2010-02-10

      #include <iostream>

      #include <vector>

     

      using namespace std;

      int

      main(int argc, char *argv[])

      {

    ...
    Tag:c++ vector sizeof reserve
    matao13992 发表于17:39:11 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • linux 内存初探 - [linux 内存]

    2010-02-02

    VIRT= RES+SWAP
    RES != CODE +DATA

    普通读取文件不会让进程的内存有变化;只是操作系统的cache可能会有变化;
    但是读取mmap则不一样了:
        mmap打开之后,VIRT会增加mmap file的大小;
        但RES不会变化;DATA和CODE也不会变化;真正开始读mmap内的数据后,RES会开始增长,但是VIRT不会变了;
    ...
    Tag:linux 内存 RES,DATA,SWAP,VIRT,malloc
    matao13992 发表于10:48:52 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • linux进程间通信之使用信号传递附加信息 - [c++]

    2009-01-23

    =========signalRecv.cpp==========

    #include <iostream>
    #include <signal.h>

    using namespace std;

    #define SIZE 10
    char g_res[SIZE];
    int g_signum=-200;
    int g_error=-200;
    int g_code...

    Tag:linux 信号 进程间通信 sigaction sigqueue
    matao13992 发表于16:09:38 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 使用STL中容器的erase()函数一个易犯的错误 - [c++]

    2008-08-27

    使用STL中容器的erase()函数一个易犯的错误 问题由来:你能看出以下程序的一个致命性错误吗?/******************************************************************** 函数功能:首先打印1~12,然后要求用户输入一个1到12 间的整数i, *           去除1~12中是i倍数的数,最后打印结果。**************...

    Tag:vector erase STL 容器 C++
    matao13992 发表于10:03:43 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 一个让Linux系统立即宕机的shell - [linux shell]

    2008-08-27

    这是一个典型的通过不停的fork子进程,使得系统资源耗尽让系统宕机的方法:

    (这个简单的shell不是我自己写的,引自其他文章) 

    :() { :|:& }; :  

    :函数名叫做冒号

    ()表示定义一个函数

    {};表示定义的函数体

    :|:& 递归调用该函数并在后台运行

    最后一个冒号表示调用该函数...
    Tag:linxu 宕机 fork shell 函数
    matao13992 发表于09:53:38 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • unix系统下date命令的使用差别 - [linux shell]

    2008-08-27

    linux:
    date -d "-1 day" "+%Y%m%d"
    date -d "-1 hour" "+%H"
    date +[%Y-%m-%d\\ %H:%M:%S]
    freeBSD:
    /bin/date -v -10M "+%Y%m%d%H%M"

    Tag:date linux freeBSD
    matao13992 发表于09:50:39 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 利用python检查C++的so动态库文件是否编译完全 - [c++]

    2008-08-27

    经常linux/unix下的动态链接库so文件编译能通过,但是运行时会报链接错,说缺少xxx。可以利用python简单检查缺少哪些东西; 

    利用python检查C++的so动态库文件是否编译完全:
    python
    import dl

    dl.open("动态库路径名");例如:
     dl.open("./bid_b2bkw.so");
     
    &...
    Tag:
    matao13992 发表于09:47:37 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • apache module 调试方法 - [c++]

    2008-08-27

    apache调试:
    gdb /usr/local/apache2/bin/httpd
    b ap_process_request
    run -X -d /usr/local/apache2 -f /apapche/conf/file/path/httpd.conf

    在需要的地方设置断点:

    b filename:lineno thread # if condition

    Tag:apache 调试
    matao13992 发表于09:41:59 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 【转】一段mmap示例代码 - [c++]

    2008-02-03


    /*-------------map_normalfile1.c-----------*/ #include #include #include #include

     typedef struct{ char name[4]; int age; }people;

    main(int argc, char** argv) // map a normal file as shared mem:
    {
      in...
    Tag:mmap
    matao13992 发表于09:29:45 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • src.rpm包的安装方法

    2008-01-24

    今天需要给xml包升级,下载了一个src.rpm的包。遂查了一下如何应用该类型的包: 

    补充一下src.rpm包的安装方法(假定使用root账户):

    第一种方法 -- 将src.rpm包转换成rpm包再进行安装
    代码:1. rpmbuild --rebuild filename.src.rpm #生成rpm包 2. cd /usr/src/redhat/RPMS/i386 #在该目录找到生成的rpm包 3. rpm -Uvh filen...
    Tag:src.rpm包 rpm包 安装
    matao13992 发表于11:31:44 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • ip地址和十进制数的转化 - [c++]

    2007-12-29

    这几天单位一个同事测试,需要不停的将十进制数转化为ip地址,做法就是用Windows附件里的“计算器”工具,把十进制数输入,转化为2进制数,在四位四位的改写成人可读的四段ip地址;看她不厌其烦的重复着这么复杂的劳动;而且又是在测试我写的程序,真是于心不忍。遂写了个简单的ip地址和十进制数的转化工具。

    源码: intToIP程序源代码
    Tag:ip地址 十进制数 转化
    matao13992 发表于20:12:31 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 动态连接库的创建与应用 - [c++]

    2007-12-19

    1. 编写正确的.h头文件,以便用户可以引用。
    2. 编译时需要带 -share 选项
    3. 编译的动态连接库名字要符合如下规则:libxxx.so.[version]
    4. 修改配置文件--/etc/ld.so.conf,加入生成的so文件的路径
    5. 拷贝动态链接库到系统共享目录下,或在系统共享目录下为该动态链接库建立个连接(硬连接或符号连接均可,常用符号连接). 或者 将动态链接库所在目录名追加到动态链接库配置文件/etc/ld.so.conf中....
    Tag:动态连接库,ldconfig ,编译
    matao13992 发表于09:48:19 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 女朋友经典语录

    2007-09-28

    某日遇到问题郁闷中,女朋友安慰说:“别郁闷了也没用”!  还解释说得益于英语里的从句语法。我晕!
    Tag:
    matao13992 发表于15:47:31 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 一个不错的blog

    2007-09-20

    一个不错的blog,主要是关于前端开发的:

    http://www.lewislv.org

    Tag:
    matao13992 发表于16:46:46 | 阅读全文 | 评论 0 | 编辑 | 分享 0
  • 关于通马桶的问题

    2007-09-08

    马桶每天都要清!

    c++缓冲区溢出;

    freebsd和linux编译环境的差别

    笔记本呢丢了,郁闷!

    Tag:
    matao13992 发表于20:30:39 | 阅读全文 | 评论 0 | 编辑 | 分享 0
共1页 1

个人资料

matao13992

日历

搜索

文章分类

  • 分布式性算法[0]
  • 分布式算法[1]
  • 单元测试[1]
  • 项目管理[2]
  • STL[1]
  • linux 内存[1]
  • linux shell[2]
  • c++[12]
  • 默认分类[0]

Tag

  • stl[3]
  • vector[3]
  • linux[3]
  • c++[2]
  • -O3优化[1]
More..

最新日志

  • g+ + 的-O1优化的问题
  • 有关linux 下C/C++ 开发的一些工具
  • Gossip 协议--分布式系统状态同步协议
  • gcc连接的顺序
  • 一个奇怪的coredump
  • 关于单元测试
  • 优化之箴言
  • 优秀项目经理的七个习惯
  • vector<int>().swap(v); 和clear() 的差异
  • 二维vector的reserve操作引起coredump
全部日志>>

最新评论

    链接

    • 灵猫的blog
    • 赵婉萍的blog

    存档

    • 2012-05[2]
    • 2012-02[1]
    • 2012-01[1]
    • 2011 [2]
    • 2010 [5]
    • 2009 [1]
    • 2008 [7]
    • 2007 [5]

    点击左侧有你喜欢的东西哟



    280 元
    衣本式韩国进口荷叶边高贵衬衫【冲二钻,优惠价卖】
    衣本式韩国进口荷叶边高贵衬衫【冲二钻,优惠价卖】

    • 访问统计:
    • RSS 什么是RSS?
      用IM提醒我内容更新
      订阅到QQ邮箱
      订阅到鲜果阅读器
      订阅到Google阅读器
      订阅到抓虾阅读器
    • 《城客》第四期:创意之城
      博客大巴
      博客大巴使用指南
      博客大巴模板中心
      免费注册博客大巴
      一键博客搬家工具
      中文互动杂志城客
    Copyright © 2002-2012 BlogBus.com, All Rights Reserved. 博客大巴 版权所有
    博客大巴模板设计:乌镇·印象I | 作者: 饭团