<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shenfumin的专栏]]></title><description><![CDATA[年纪大了记不住东西了！]]></description><link>https://blog.youkuaiyun.com/shenfumin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shenfumin]]></copyright><item><title><![CDATA[c 指针的指针]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/25882881</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/25882881</guid><author>shenfumin</author><pubDate>Thu, 15 May 2014 13:02:31 +0800</pubDate><description><![CDATA[怎样定义一个指向指针型数据的指针变量呢？如下：
 char**p;]]></description><category></category></item><item><title><![CDATA[浅谈编译器编译地址 ,cpu统一编址的物理地址，程序载入内存的地址。]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/24666603</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/24666603</guid><author>shenfumin</author><pubDate>Mon, 28 Apr 2014 21:03:00 +0800</pubDate><description><![CDATA[程序就是指令和地址的集合。]]></description><category></category></item><item><title><![CDATA[从freeRTOS谈malloc内存是哪里来的？]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/24664041</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/24664041</guid><author>shenfumin</author><pubDate>Mon, 28 Apr 2014 20:30:38 +0800</pubDate><description><![CDATA[从freertos讲一下：
1:内存是从哪里来的。
malloc 很多人都说是从堆上来的。堆又是从哪里来的。
堆是编译器静态编译的（一般的嵌入式操作系统都会开辟一个数组ustack[HEAP_SIZE]）来静态搞定如freeRTOS，uc/os。
任务的栈也是静态的。并且是从这个堆中分配出来的。
一般我们可以通过编译生成的map表来看程序的地址空间分布情况。
图studyrtos p2]]></description><category></category></item><item><title><![CDATA[dbus-python tutorial 学习]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/21452359</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/21452359</guid><author>shenfumin</author><pubDate>Tue, 18 Mar 2014 13:05:13 +0800</pubDate><description><![CDATA[Dbus是IPC进程间调用的简称。目前很多linux版本都支持dbus。可以方便的调用已经注册的service的方法实现自己的应用。尤其是蓝牙应用Bluez编程使用较多。A:  dbus种类：1：session bus 2：system busB: dbus调用其他service的方法：主要分两步：1：获取对象（需要知道对应对象的busname和路径）2：获取对象的接口（需要知道对象和接口名）（d...]]></description><category></category></item><item><title><![CDATA[密钥交换]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/19490943</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/19490943</guid><author>shenfumin</author><pubDate>Wed, 19 Feb 2014 15:55:45 +0800</pubDate><description><![CDATA[DH算法实质是一个通信双方进行密钥协定的协议，它的安全性基于有限域上计算离散对数的困难性。

Diffie-Hellman密钥交换协议如下：

首先，Alice和Bob双方约定2个大整数n和g,其中1，这两个整数无需保密，然后，执行下面的过程

1)   Alice随机选择一个大整数x(保密)，并计算X=gx
 mod n

2)   Bob随机选择一个大整数y(保密)，并计算Y]]></description><category></category></item><item><title><![CDATA[了解网络通信中的加解密]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/19352687</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/19352687</guid><author>shenfumin</author><pubDate>Mon, 17 Feb 2014 21:09:43 +0800</pubDate><description><![CDATA[加解密算法类型：
1）对称加密 ：密钥只有一个，加密解密为同一个密码，且加解密速度快，典型的对称加密算法有DES、AES等；key的分发和安全性存在很大困难。

2）非对称加密 ：密钥成对出现（且根据公钥无法推知私钥，根据私钥也无法推知公钥），加密解密使用不同密钥（公钥加密需要私钥解密，私钥加密需要公钥解密），相对对称加密速度较慢，典型的非对称加密算法有RSA、DSA等。

只有私钥是秘]]></description><category></category></item><item><title><![CDATA[蓝牙音频音质探讨]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/19117613</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/19117613</guid><author>shenfumin</author><pubDate>Wed, 12 Feb 2014 14:16:06 +0800</pubDate><description><![CDATA[本文系转载，原文出处：http://www.cnblogs.com/imouto/archive/2013/03/15/bluetooth-audio-quality-explained.html


简介：

本文简单介绍了蓝牙无线音频技术 A2DP，并从技术角度探讨其音质。

1. 蓝牙 A2DP 简介

我们先从蓝牙核心规范说起，目前支持最广泛的蓝牙
 2.0/2.1 +]]></description><category></category></item><item><title><![CDATA[幼稚是技术人员最大的缺陷]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/19071905</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/19071905</guid><author>shenfumin</author><pubDate>Tue, 11 Feb 2014 11:20:22 +0800</pubDate><description><![CDATA[本文系转载

   原文出处：http://forum.eet-cn.com/BLOG_ARTICLE_19121.HTM?from=home_hudong20131113

   原文作者联系方式 QQ:26033613

这周一，把公司的一位创业元老逼走了，原因是他停止了学习，不愿意改变自己来适应公司的发展，认为自己的能力就这么多了，无法再提高，而他负责的东西，往往有头无尾，有始无]]></description><category></category></item><item><title><![CDATA[c/c++/java，函数调用的参数的传递方法]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18820973</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18820973</guid><author>shenfumin</author><pubDate>Mon, 27 Jan 2014 21:10:38 +0800</pubDate><description><![CDATA[其实不管是c还是c++，java，函数调用的参数的传递方法本质都是一样的。都是要在栈中建立副本。
1: 函数调用的参数的传递方法
传值：   
  函数参数压栈的是参数的副本。   
  任何的修改是在副本上作用，没有作用在原来的变量上。      
传指针：   
  压栈的是指针变量的副本。   
  当你对指针解指针操作时，其值是指向原来的那个变量，所以对原来变量操作。]]></description><category></category></item><item><title><![CDATA[c++，java的区别]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18820779</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18820779</guid><author>shenfumin</author><pubDate>Mon, 27 Jan 2014 21:02:42 +0800</pubDate><description><![CDATA[1：生成对象的方式不一样。
       java 中：
            CTest a；//仅仅是声明一个引用变量。不生成类的对象。
            CTest a=new CTest ();  //通过new 来操作对象，对象有java系统自动回收。
      C++中：
       CTest a   //这里a是一个对象 。  
          CTes]]></description><category></category></item><item><title><![CDATA[c++的引用]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18820683</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18820683</guid><author>shenfumin</author><pubDate>Mon, 27 Jan 2014 20:51:13 +0800</pubDate><description><![CDATA[1：认识一下基本使用
int a; 
int &ra=a;
&在此不是求地址运算，而是起标识作用。
常见错误举例：
int a; 
int &ra=&a; //错误 正确为int &ra=a
或者
void function(string&a)
{
  string s;
  a=&s; //错误 正确为a=s
}
2:引用的本质：
表达式int &ra = a; 将会]]></description><category></category></item><item><title><![CDATA[c++ string c_str()]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18740871</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18740871</guid><author>shenfumin</author><pubDate>Fri, 24 Jan 2014 19:47:19 +0800</pubDate><description><![CDATA[char* c;
string s="1234";
c = s.c_str();
1:c_str函数的返回值是const char*的，不能直接赋值给char* ，所以就需要我们进行相应的操作转化（利用strcpy()函数），或用const char *ch试试
2://c最后指向的内容是垃圾，因为s对象被析构，其内容被处理（纠正：s对象的析构是在对指针c完成赋操作之后进行的，故此处并没有]]></description><category></category></item><item><title><![CDATA[makefile基础]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18255135</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18255135</guid><author>shenfumin</author><pubDate>Tue, 14 Jan 2014 10:24:29 +0800</pubDate><description><![CDATA[1：一个简单规则可以表述为

   规则（rule）目标文件：依赖文件（不同文件以空格分隔）

得到目标文件需要的命令

   规则的常见种类有：
       a:Explicit Rule:         最简单的rule，明确指出了目标和依赖，以及如何有依赖得到目标。       
	Hello.o:hello.cpp

	g++ -c hello.cp
       b]]></description><category></category></item><item><title><![CDATA[makefile---“依赖”之自动依赖]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18223989</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18223989</guid><author>shenfumin</author><pubDate>Mon, 13 Jan 2014 17:02:24 +0800</pubDate><description><![CDATA[前言：     
    makefile 的基本语法是    目标：依赖+命令。 很显然makefile的一个主要工作就是表达目标的依赖性。抓住“依赖”才是抓住makefile的核心。
依赖：
    首先我们看看我们编译过程中的常见依赖关系：
    
 目标（可执行文件或者是库文件）---> .o ----> .c --->.h
    假如有如下：]]></description><category></category></item><item><title><![CDATA[从解耦谈设计模式]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18084435</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18084435</guid><author>shenfumin</author><pubDate>Fri, 10 Jan 2014 15:32:21 +0800</pubDate><description><![CDATA[简介：

   解耦其实软件设计中永恒不变的话题。“部分”设计模式诞生的原因就是为了解耦。如代理模式，工厂模式，监听者模式等。探寻设计模式的本质其实就是探寻软件解耦。 




简单例子说明之：下面是“我要抓小猪”的解耦过程：








如果用编程语言 说就是构造两个类：我和小猪。这样两个类之间存在着很强的耦合关系。如图1.

现在为两个类解耦，或者你根本]]></description><category></category></item><item><title><![CDATA[类与类之间的关系：继承，组合还是聚合？]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18043841</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18043841</guid><author>shenfumin</author><pubDate>Thu, 09 Jan 2014 16:55:21 +0800</pubDate><description><![CDATA[基本概念：
首先了解一下基本概念：
-----------------------------------继承-----------------------------------------------------------------------------------------------------------------------------------------------]]></description><category></category></item><item><title><![CDATA[ppt循环动画的制作]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/18009567</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/18009567</guid><author>shenfumin</author><pubDate>Wed, 08 Jan 2014 20:24:10 +0800</pubDate><description><![CDATA[制作的目标是:3张图片循环播放.
原理是: 用文字的无限循环来做动画 .
步骤:

1:插入文本框，输入下划线文本，文本框中有几个循环的画面，就输入几个下划线。
2:选中所有的下划线，然后选择 格式—文本效果-转换—弯曲—正方形（第一个）。
  这样将下划线变成了一个鼓状的正方形。下面用动画图片来填充每个下划线正方形。 
3: 选中第一个下划线，鼠标右键，选“设置文字效果格式”，
]]></description><category></category></item><item><title><![CDATA[STL泛型编程和设计新思维]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/17614567</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/17614567</guid><author>shenfumin</author><pubDate>Fri, 27 Dec 2013 16:44:45 +0800</pubDate><description><![CDATA[前言 

　　永远记住，编写代码的宗旨在于简单明了，不要使用语言中的冷僻特性，耍小聪明，重要的是编写你理解的代码，理解你编写的代码，这样你可能会做的更好。 
　　　　　　　　　　　　　　　　　　　　     --- Herb Sutter 

　　1998年，国际C++标准正式通过，标准化对C++最重要的贡献是：对“强大的抽象概念”给于更有力的支持，以降低软件的复杂度，C++提供了二种功]]></description><category></category></item><item><title><![CDATA[Makefile中的几种赋值方式]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/17605617</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/17605617</guid><author>shenfumin</author><pubDate>Fri, 27 Dec 2013 09:41:06 +0800</pubDate><description><![CDATA[本文系转载： 原文作者联系方式：李先静 
在Makefile中，对变量的赋值，有好几种方式，它们的意义、使用的场合都各不相同，初学者往往比较迷惑。这里对它们的用法简要介绍一下。
1:   = 递归展开赋值，这是默认的赋值方式。
Makefile是两遍解析的，若一个变量引用另外一个变量，两个变量定义的位置，谁在前谁在后没有任何关系，都能达到同样的效果。如：
SUBARCH=arm
ARCH]]></description><category></category></item><item><title><![CDATA[小心c语言中的无符号类型-尤其是涉及到大小比较]]></title><link>https://blog.youkuaiyun.com/shenfumin/article/details/17564677</link><guid>https://blog.youkuaiyun.com/shenfumin/article/details/17564677</guid><author>shenfumin</author><pubDate>Wed, 25 Dec 2013 21:40:02 +0800</pubDate><description><![CDATA[本文系转载：

原文出处为 http://blog.youkuaiyun.com/max_min_go/article/details/10056955

不多说，说了都是累赘！直接看代码吧！

int>
#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))  
int>
    if( d 
    {]]></description><category></category></item></channel></rss>