<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yaotinging的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yaotinging</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yaotinging]]></copyright><item><title><![CDATA[linux c++ stl hash_map basic_string 使用]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/46237041</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/46237041</guid><author>yaotinging</author><pubDate>Fri, 29 May 2015 15:42:44 +0800</pubDate><description><![CDATA[stl的hash_map对int 支持良好，但是对string支持不够，经过良久查找，找到linux c++下使用stl 的hash_map 对stl string的用法
#include   

using namespace std;  
using namespace __gnu_cxx; 


namespace __gnu_cxx
{
template
{  
si]]></description><category></category></item><item><title><![CDATA[makefile模板]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/40657823</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/40657823</guid><author>yaotinging</author><pubDate>Fri, 31 Oct 2014 17:18:42 +0800</pubDate><description><![CDATA[######################################################################
# makefile 模版 
#
######################################################################


###################项目路径和程序名称#####]]></description><category></category></item><item><title><![CDATA[socket ip地址]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/39027819</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/39027819</guid><author>yaotinging</author><pubDate>Wed, 03 Sep 2014 15:09:50 +0800</pubDate><description><![CDATA[linux 下用socket 写一个客户端程序，如下]]></description><category></category></item><item><title><![CDATA[用于log系统的变长参数的函数]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/38510867</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/38510867</guid><author>yaotinging</author><pubDate>Tue, 12 Aug 2014 09:47:42 +0800</pubDate><description><![CDATA[总在寻找一种简简单单就能说明问题的方式：


#include 

int Printf(char *pszFormat, ...) 
{
       va_list   pArgList;
       va_start(pArgList, pszFormat);
       int nByteWrite = vfprintf(stdout, pszFormat, pArg]]></description><category></category></item><item><title><![CDATA[linux c++下信号处理]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/38510705</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/38510705</guid><author>yaotinging</author><pubDate>Tue, 12 Aug 2014 09:42:50 +0800</pubDate><description><![CDATA[这个问题在网上搜索很久没有找到一个简单]]></description><category></category></item><item><title><![CDATA[关于stl的find系列]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/38494311</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/38494311</guid><author>yaotinging</author><pubDate>Mon, 11 Aug 2014 16:17:16 +0800</pubDate><description><![CDATA[find 是在对象字符中找一个串，返回能全部匹配的串的]]></description><category></category></item><item><title><![CDATA[NoSQL数据库探讨之一 － 为什么要用非关系数据库？]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/38111823</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/38111823</guid><author>yaotinging</author><pubDate>Fri, 25 Jul 2014 11:27:27 +0800</pubDate><description><![CDATA[http://robbin.javaeye.com/blog/524977]]></description><category></category></item><item><title><![CDATA[海量数据处理之基本方法]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/23610125</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/23610125</guid><author>yaotinging</author><pubDate>Sun, 13 Apr 2014 17:29:31 +0800</pubDate><description><![CDATA[2013年9月18日


针对海量数据的处理，可以使用的方法非常多，常见的方法有Hash法、Bit-map法、Bloom filter法、数据库优化法、倒排索引法、外排序法、Trie树、堆、双层桶法以及MapReduce法。


1．Hash法


Hash一般被翻译为哈希，也被称为散列，它是一种映射关系，即给定一个数据元素，其关键字为key，按一个确定的哈希函数Hash计算出h]]></description><category></category></item><item><title><![CDATA[高性能服务器架构]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/21177353</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/21177353</guid><author>yaotinging</author><pubDate>Thu, 13 Mar 2014 16:41:14 +0800</pubDate><description><![CDATA[引言

本文将与你分享我多年来在服务器开发方面的一些经验。对于这里所说的服务器，更精确的定义应该是每秒处理大量离散消息或者请求的服务程序，网络服务器更符合这种情况，但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题，为了叙述起来简单，下面将简称为“服务器”。

本文不会涉及到多任务应用程序，在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能]]></description><category></category></item><item><title><![CDATA[几个常用的linux命令]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/19971805</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/19971805</guid><author>yaotinging</author><pubDate>Wed, 26 Feb 2014 11:55:58 +0800</pubDate><description><![CDATA[1  根据进程名杀死进程
  kill -9 $(busybox pidof 进程名)
 pidof用于找出正在运行的程序的进程PID


2 查询端口使用情况

netstat -tln 命令是用来查看linux的端口使用情况]]></description><category></category></item><item><title><![CDATA[android native层进程通信]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/19152715</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/19152715</guid><author>yaotinging</author><pubDate>Thu, 13 Feb 2014 10:37:48 +0800</pubDate><description><![CDATA[我们需要在android native层实现两个进程间的通信，这两个进程一个是native c 进程，一个是apk，两者需要传递一张几百K的图片，natice c 程序写该图片，apk读该图片，而且，这个读写的过程是一直持续的


  首先，根据linux提供的几个进程通信的方法一个一个的来看：
1 信号，显然不合适，这个是系统进程和用户进程通信的方法，显然对我们来说不合适
2 管道  ]]></description><category></category></item><item><title><![CDATA[关于向某盒子移植我们的native c程序]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/12035859</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/12035859</guid><author>yaotinging</author><pubDate>Thu, 26 Sep 2013 09:04:37 +0800</pubDate><description><![CDATA[先说下某盒子，该盒子不同于一般的android系统，你不能通过它的界面看到那么多的设置；它完全从用户角度出发，而没有想过开发者用它盒子的感受。
所以，在一般盒子上能解决的adb问题，在它上面成了问题, 我的尝试步骤如下：


1 连接网线，设置静态ip，在ubuntu虚拟机下连接，失败！
2 怀疑是root权限问题在作怪，下了个root大师，完了在虚拟机上adb，依然失败，提示：unab]]></description><category></category></item><item><title><![CDATA[android native C开发时遇到的自定义文件问题]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/10971445</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/10971445</guid><author>yaotinging</author><pubDate>Tue, 03 Sep 2013 11:55:57 +0800</pubDate><description><![CDATA[我们需要将C层的一些配置文件放到机顶盒上，以供apk程序中native层去用它，一开始，手动拷贝到sdcard上，但是最终我们的apk是要给客户安装到别的盒子上去用的，总不能让我们一个一个拷贝上去吧，所以想想办法，经高手指点，思路如下：
        1 我们C层只不过需要一个绝对路径而已
        2 在android层，一开始将我们的配置文件放到assets目录下
       ]]></description><category></category></item><item><title><![CDATA[android native层printf的一个bug]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/10967449</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/10967449</guid><author>yaotinging</author><pubDate>Tue, 03 Sep 2013 11:48:05 +0800</pubDate><description><![CDATA[由于我们的程序是native C层程序，在机顶盒上跑的时候，没有任何的反馈界面，调试只能通过printf或者cout打印，而我们程序本身也慢慢的由两个线程编程3个4个甚至更多；
  两个线程的时候，程序跑个半天左右就会出现卡死现象，4个线程的时候，卡死出现的时间更短了，半个小时，十来分钟就一定会卡死，而我们追踪卡死现象的方法就是添加更多的log，每次卡死的时候，打印的log都非常奇怪，经过查找，]]></description><category></category></item><item><title><![CDATA[native方式获取android4.0鼠标指针速度]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/10965101</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/10965101</guid><author>yaotinging</author><pubDate>Tue, 03 Sep 2013 11:10:07 +0800</pubDate><description><![CDATA[最近有一个需求，需要从native层获取android4.0的一些设置参数（鼠标指针速度），从网上找了下资料，结合自己摸索，得出方法如下;


 static int _sql_callback(void* notused,int arg,char** argv,char** szColName)
{
int ret;
char buf[128];
for(int i=0;i
{]]></description><category></category></item><item><title><![CDATA[linux 鼠标驱动]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/7480464</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/7480464</guid><author>yaotinging</author><pubDate>Fri, 20 Apr 2012 10:38:15 +0800</pubDate><description><![CDATA[USB 总线引出两个重要的链表！
一个 USB 总线引出两个重要的链表，一个为 USB 设备链表，一个为 USB 驱动链表。设备链表包含各种系统中的 USB 设备以及这些设备的所有接口，驱动链表包含 USB 设备驱动程序（usb device driver）和 USB 驱动程序（usb driver）。

 

USB 设备驱动程序（usb device driver）和 USB 驱动程]]></description><category></category></item><item><title><![CDATA[linux 程序里结束进程]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/7106301</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/7106301</guid><author>yaotinging</author><pubDate>Tue, 27 Dec 2011 16:23:46 +0800</pubDate><description><![CDATA[#include 

int main(int argc,char* argv[],char *envp[])
{
        const char* cmd="kill %s";
        char scmd[64];
        sprintf(scmd,cmd,argv[1]);
        //printf(scmd);
        system(sc]]></description><category></category></item><item><title><![CDATA[linux 一个简单的进程创建例子]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/7106001</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/7106001</guid><author>yaotinging</author><pubDate>Tue, 27 Dec 2011 15:42:59 +0800</pubDate><description><![CDATA[初学linux 进程的一些相关东西，做个笔记

1 主程序
该程序创建十个子进程，这个子进程是自己写的另外一个程序，需要传参，主要考虑几个要点：  

->  不能产生僵尸进程（在主进程运行时间很长的情况下）
      在主进程一开始添加下面语句
         //child_end是在子进程结束时候，主进程要调用的函数，这个函数内部对子进程等待，销毁

        i]]></description><category></category></item><item><title><![CDATA[pthread_join/pthread_exit用法实例]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/7091609</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/7091609</guid><author>yaotinging</author><pubDate>Wed, 21 Dec 2011 15:35:54 +0800</pubDate><description><![CDATA[函数pthread_join用来等待一个线程的结束。函数原型为：
　　extern int pthread_join __P ((pthread_t __th, void **__thread_return));
　　第一个参数为被等待的线程标识符，第二个参数为一个用户定义的指针，它可以用来存储被等待线程的返回值。这个函数是一个线程阻塞的函数，调用它的线程将一直等待到被等待的线程结束为止，当函]]></description><category></category></item><item><title><![CDATA[Linux 结束线程]]></title><link>https://blog.youkuaiyun.com/yaotinging/article/details/7091444</link><guid>https://blog.youkuaiyun.com/yaotinging/article/details/7091444</guid><author>yaotinging</author><pubDate>Wed, 21 Dec 2011 15:02:10 +0800</pubDate><description><![CDATA[pthread 线程有两种状态，joinable（非分离）状态和detachable（分离）状态，默认为joinable。

　　joinable：当线程函数自己返回退出或pthread_exit时都不会释放线程所用资源，包括栈，线程描述符等（有人说有8k多，未经验证）。

　　detachable:线程结束时会自动释放资源。

Linux man page said:

When]]></description><category></category></item></channel></rss>