<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[flymachine的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/flymachine</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; flymachine]]></copyright><item><title><![CDATA[读万卷书不如行万里路，行万里路不如阅人无数，阅人无数不如名师指路]]></title><link>https://blog.csdn.net/flymachine/article/details/22615649</link><guid>https://blog.csdn.net/flymachine/article/details/22615649</guid><author>flymachine</author><pubDate>Sun, 30 Mar 2014 22:33:03 +0800</pubDate><description><![CDATA[时常听到这样一句话：“读万卷书不如行万里路，行万里路不如阅人无数，阅人无数不如名师指路，名师指路不如自己去悟”。有些人只说到名师指路这儿，有些人是全部说完，似乎没有名师指路或自己去悟人就不能成功，片面地强调某一点。这样就进入一个认识的误区：读书有何用，做的再多有什么用！我认为，这句话应该连起来看。一个人要想取得成就，必须多读书，读好书。“书中自有黄金屋”、“书是人类进步的阶梯”、书是人类智慧的结晶]]></description><category></category></item><item><title><![CDATA[雷军：明年小米手机销量将达1亿台]]></title><link>https://blog.csdn.net/flymachine/article/details/22608537</link><guid>https://blog.csdn.net/flymachine/article/details/22608537</guid><author>flymachine</author><pubDate>Sun, 30 Mar 2014 21:15:04 +0800</pubDate><description><![CDATA[大家好！我们大家都沉浸在刚才院士精彩的发言里。马云的评价是单口相声。邬院士举了小米几个例子，我跟大家简单汇报一下小米的情况。不是为了做广告，是因为很多领导不了解小米的进展。

　　小米是一个非常非常新的公司，四年前创办，10来人，7、8条枪，一起跟着小米闹革命。选择做手机，手机的确是一个红海市场，苹果(536.86, -0.60, -0.11%)、三星赚了110%的利润，其他企业亏了10%。刚]]></description><category></category></item><item><title><![CDATA[Me]]></title><link>https://blog.csdn.net/flymachine/article/details/21469449</link><guid>https://blog.csdn.net/flymachine/article/details/21469449</guid><author>flymachine</author><pubDate>Tue, 18 Mar 2014 16:59:20 +0800</pubDate><description><![CDATA[Recovery.c中能对eMMC进行直接读写，mmc_read/mmc_write.]]></description><category></category></item><item><title><![CDATA[安装MangOS]]></title><link>https://blog.csdn.net/flymachine/article/details/13143701</link><guid>https://blog.csdn.net/flymachine/article/details/13143701</guid><author>flymachine</author><pubDate>Sat, 26 Oct 2013 21:20:55 +0800</pubDate><description><![CDATA[版本问题
mangos目前有三个分支，分别对应wow的不同版本：


主分支对应资料片巫妖王之怒，版本号3.3.5amangos-one对应资料片燃烧的远征，版本号2.4.3mangos-zero对应原版，版本号1.12.1或1.12.2

使用不同分支时，要求客户端的版本号一致，否则无法登录。详见http://getmangos.com/
因为只是研究目的，没必要用最新的版本，所以]]></description><category></category></item><item><title><![CDATA[SigPipe信号]]></title><link>https://blog.csdn.net/flymachine/article/details/12676821</link><guid>https://blog.csdn.net/flymachine/article/details/12676821</guid><author>flymachine</author><pubDate>Sun, 13 Oct 2013 11:29:50 +0800</pubDate><description><![CDATA[Linux平台开发过程中，遇到一个问题：服务方listen，海量客户端端连接上来，当客户端Ctrl+C时，服务方进程会退出，但没有core文件，百思不得其解。
       尝试了很多努力，如在服务方代码中增加日志来跟踪，每次进程退出时日志输出位置不一定，无解。
       后来打算用strace跟踪一下该进程，看看这个进程到底干什么了，一边跟踪一边测试，进程停止时，发现是接收到了SIGPI]]></description><category></category></item><item><title><![CDATA[GDB + CoreDump 调试记录]]></title><link>https://blog.csdn.net/flymachine/article/details/10126665</link><guid>https://blog.csdn.net/flymachine/article/details/10126665</guid><author>flymachine</author><pubDate>Tue, 20 Aug 2013 22:46:04 +0800</pubDate><description><![CDATA[现在说下gdb+coredump的调试流程

      在实机上先打开产生core文件的设置，ulimit -c unlimited  ，这将使程序在遇到断错误的时候保留下当时的堆栈信息，而这个core文件的大小没有进行限制，当然，还可以更改core文件的产生路径，具体可以google下。 之后运行断错误程序，获取产生的core文件。

      运用平台指定的gdb程序  调用arm]]></description><category></category></item><item><title><![CDATA[Linux的锁和条件变量用法 | pthread_mutex_lock | pthread_cond_signal]]></title><link>https://blog.csdn.net/flymachine/article/details/10012987</link><guid>https://blog.csdn.net/flymachine/article/details/10012987</guid><author>flymachine</author><pubDate>Fri, 16 Aug 2013 23:36:17 +0800</pubDate><description><![CDATA[本篇默认读者已经清楚多线程中的锁、互斥锁、条件变量基本概念及作用，本篇只讲怎么在C++里编程调用。互斥锁很简单，条件变量（多用于生产者-消费者模型）则细节较多，本文主要说它。


主要涉及函数
#includepthread.h>

int pthread_mutex_lock(pthread_mutex_t *mptr); //互斥锁加锁

int pthread_mutex_u]]></description><category></category></item><item><title><![CDATA[什么时候mutex不够,还需要condition variable]]></title><link>https://blog.csdn.net/flymachine/article/details/10012959</link><guid>https://blog.csdn.net/flymachine/article/details/10012959</guid><author>flymachine</author><pubDate>Fri, 16 Aug 2013 23:35:35 +0800</pubDate><description><![CDATA[什么时候mutex不够,还需要condition variable?


假设有共享的资源sum,与之相关联的mutex 是lock_s.假设每个线程对sum的操作很简单的,与sum的状态无关,比如只是sum++.那么只用mutex足够了.程序员只要确保每个线程操作前,取得lock,然后sum++,再unlock即可.

每个线程的代码将像这样
add()
{
pthread_mu]]></description><category></category></item><item><title><![CDATA[pthread_cond_wait()函数的理解]]></title><link>https://blog.csdn.net/flymachine/article/details/9991659</link><guid>https://blog.csdn.net/flymachine/article/details/9991659</guid><author>flymachine</author><pubDate>Thu, 15 Aug 2013 22:08:44 +0800</pubDate><description><![CDATA[pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t*mutex)函数

传入的参数mutex用于保护条件，因为我们在调用pthread_cond_wait时，如果条件不成立我们就进入阻塞，但是进入阻塞这个期间，如果条件变量改变了的话，那我们就漏掉了这个条件。因为这个线程还没有放到等待队列上，所以调用pthread_cond_wait前]]></description><category></category></item><item><title><![CDATA[条件变量pthread_cond_t怎么用]]></title><link>https://blog.csdn.net/flymachine/article/details/9991631</link><guid>https://blog.csdn.net/flymachine/article/details/9991631</guid><author>flymachine</author><pubDate>Thu, 15 Aug 2013 22:07:29 +0800</pubDate><description><![CDATA[最近看《UNIX环境高级编程》多线程同步，看到他举例说条件变量pthread_cond_t怎么用，愣是没有看懂，只好在网上找了份代码，跑了跑，才弄明白







[cpp] view
 plaincopy






#include 
#include 
#include 
pthread_mutex_t mutex = PTHREAD_MUTEX_IN]]></description><category></category></item><item><title><![CDATA[服务器进程为何通常fork()两次]]></title><link>https://blog.csdn.net/flymachine/article/details/9973885</link><guid>https://blog.csdn.net/flymachine/article/details/9973885</guid><author>flymachine</author><pubDate>Wed, 14 Aug 2013 23:42:27 +0800</pubDate><description><![CDATA[前几天接到某互联网公司的电话面试，面试官问我两次fork()的作用，我一头雾水，说不知道。知识面还是太窄了。下面就总结下两次fork()的作用。

 

首先，要了解什么叫僵尸进程，什么叫孤儿进程，以及服务器进程运行所需要的一些条件。两次fork()就是为了解决这些相关的问题而出现的一种编程方法。

 孤儿进程

        孤儿进程是指父进程在子进程结束之前死亡(return]]></description><category></category></item><item><title><![CDATA[集中优势兵力，单点突破]]></title><link>https://blog.csdn.net/flymachine/article/details/9798169</link><guid>https://blog.csdn.net/flymachine/article/details/9798169</guid><author>flymachine</author><pubDate>Tue, 06 Aug 2013 21:33:51 +0800</pubDate><description><![CDATA[集中优势兵力，单点突破

    我有时在想，360能走到今天，幸亏我是门外汉，“乱拳打死老师傅”。门外汉没有思维定势，门外汉不会心存敬畏之心。安全行业别人干了20年，他们认为安全就应该这么干，他们也赚了钱。但是我啥也不懂，别人的做法我不会。但是当你从门外汉角度来解决问题的时候，可能有不同的创新。正因为无知无谓，我们就挑了一个点，杀流氓软件。

    相反如果当年我是安全的专家，我肯定规]]></description><category></category></item><item><title><![CDATA[socket error 10053,10054究竟是怎么引起的]]></title><link>https://blog.csdn.net/flymachine/article/details/9635591</link><guid>https://blog.csdn.net/flymachine/article/details/9635591</guid><author>flymachine</author><pubDate>Tue, 30 Jul 2013 23:17:55 +0800</pubDate><description><![CDATA[贴2段能稳定重现10053的代码,下面是客户端：





[cpp] view
 plaincopy






WORD    VersionRequested;  
WSADATA WsaData;  
  
VersionRequested = MAKEWORD(2, 2);  
  
if (WSAStartup(VersionRequested, ]]></description><category></category></item><item><title><![CDATA[socket10053]]></title><link>https://blog.csdn.net/flymachine/article/details/9635311</link><guid>https://blog.csdn.net/flymachine/article/details/9635311</guid><author>flymachine</author><pubDate>Tue, 30 Jul 2013 23:03:45 +0800</pubDate><description><![CDATA[前几天初步解决了困扰许久的socket10053的问题。

 

    现象如下：windows下开发多线程socket通信的系统(采用事件选择WSAEventSelect的方式)，在高并发的情况下send及recv时经常出错（有时是收到错误码不为0的FD_CLOSE事件），错误码为10053。

 

    解决过程：首先看了MSDN，对10053的解释是“软件主动放弃一个连]]></description><category></category></item><item><title><![CDATA[CString转char * ,string]]></title><link>https://blog.csdn.net/flymachine/article/details/9569001</link><guid>https://blog.csdn.net/flymachine/article/details/9569001</guid><author>flymachine</author><pubDate>Sun, 28 Jul 2013 19:16:51 +0800</pubDate><description><![CDATA[CString 头文件#include 

string 头文件#include 

CString 转char *

CString cstr;

char *p = (LPSTR)(LPCTSTR)cstr;

string 转 CString
CString.format(”%s”, string.c_str());

char 转 CString
CString]]></description><category></category></item><item><title><![CDATA[Java面试题（1-46）]]></title><link>https://blog.csdn.net/flymachine/article/details/9566389</link><guid>https://blog.csdn.net/flymachine/article/details/9566389</guid><author>flymachine</author><pubDate>Sun, 28 Jul 2013 14:28:22 +0800</pubDate><description><![CDATA[JAVA相关基础知识

1、面向对象的特征有哪些方面  

1.抽象：

抽象就是忽略一个主题中与当前目标无关的那些方面，以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题，而只是选择其中的一部分，暂时不用部分细节。抽象包括两个方面，一是过程抽象，二是数据抽象。

2.继承：

继承是一种联结类的层次模型，并且允许和鼓励类的重用，它提供了一种明确表述共性的方法。对象]]></description><category></category></item><item><title><![CDATA[Android面试题收集（有详细答案）]]></title><link>https://blog.csdn.net/flymachine/article/details/9566379</link><guid>https://blog.csdn.net/flymachine/article/details/9566379</guid><author>flymachine</author><pubDate>Sun, 28 Jul 2013 14:25:51 +0800</pubDate><description><![CDATA[Android面试题目及其答案

 

1、Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念

 

　　DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行，都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux中的一个进程，所以说可以认为是同一个概念。

 

2、sim卡的EF文件有何作用
]]></description><category></category></item><item><title><![CDATA[71道经典Android面试题和答案,重要知识点都包含了]]></title><link>https://blog.csdn.net/flymachine/article/details/9566193</link><guid>https://blog.csdn.net/flymachine/article/details/9566193</guid><author>flymachine</author><pubDate>Sun, 28 Jul 2013 13:59:29 +0800</pubDate><description><![CDATA[,,面试题
1.        下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存
  B、内存回收程序负责释放无用内存 
  C、内存回收程序允许程序员直接释放内存 
  D、内存回收程序可以在指定的时间释放内存对象 
2.        下面异常是属于Runtime Exception 的是（abcd）(多选)      A、Arithmeti]]></description><category></category></item><item><title><![CDATA[Socket那些事——winsocket日记（1）]]></title><link>https://blog.csdn.net/flymachine/article/details/9564763</link><guid>https://blog.csdn.net/flymachine/article/details/9564763</guid><author>flymachine</author><pubDate>Sun, 28 Jul 2013 10:32:41 +0800</pubDate><description><![CDATA[般来说 碰到的第一个结构体是 WSADATA

 

 



[cpp] view
 plaincopy






#define WSADESCRIPTION_LEN      256  
#define WSASYS_STATUS_LEN       128  
typedef struct WSAData {  
        WORD      ]]></description><category></category></item><item><title><![CDATA[请教：多线程同时写socket是否需要加锁]]></title><link>https://blog.csdn.net/flymachine/article/details/9534633</link><guid>https://blog.csdn.net/flymachine/article/details/9534633</guid><author>flymachine</author><pubDate>Sun, 28 Jul 2013 00:12:10 +0800</pubDate><description><![CDATA[第一种可以，因为Socket是双工的


多线程读写同一Socket的话基本上是会出问题的
想要不出问题的话，除非你的多个线程作用是一样的








在TCP/TP卷2中有这样的结构体
struct sockbuf{


short sb_flags;
..........
}so_recv,so_snd;
其中flag 有这几种标志:
SB_LOC]]></description><category></category></item></channel></rss>