<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[我只是一个普通的Coder]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mitu405687908</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mitu405687908]]></copyright><item><title><![CDATA[lua获取当前时间]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/69569699</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/69569699</guid><author>mitu405687908</author><pubDate>Fri, 07 Apr 2017 17:26:33 +0800</pubDate><description><![CDATA[Lua获取当前时间 
local getTime = os.date(“%c”); 
其中的%c可以是以下的一种：(注意大小写) 
%a  abbreviated weekday name (e.g., Wed) 
%A  full weekday name (e.g., Wednesday) 
%b  abbreviated month name (e.g., Sep) 
%B  full mon]]></description><category></category></item><item><title><![CDATA[配置mac版sublime text  lua编译环境]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/69569680</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/69569680</guid><author>mitu405687908</author><pubDate>Fri, 07 Apr 2017 17:24:56 +0800</pubDate><description><![CDATA[Tools->Build System->New Build System… 
复制以下代码保存为lua.sublime-build文件，选择为automatic模式，ctrl + b编译及运行 
 
{ 
"cmd": ["/usr/local/bin/lua", "$file"], 
"file_regex": "^(...*?):([0-9]*):?([0-9]*)", 
"selector"]]></description><category></category></item><item><title><![CDATA[mac 安装lua环境]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/69569586</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/69569586</guid><author>mitu405687908</author><pubDate>Fri, 07 Apr 2017 17:18:29 +0800</pubDate><description><![CDATA[curl -R -O http://www.lua.org/ftp/lua-5.2.3.tar.gz 
tar zxf lua-5.2.3.tar.gz 
cd lua-5.2.3 
make macosx 
sudo make install 
ctrl + c  退出lua环境]]></description><category></category></item><item><title><![CDATA[cocos2d-x 下载图片]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/56282677</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/56282677</guid><author>mitu405687908</author><pubDate>Tue, 21 Feb 2017 14:48:48 +0800</pubDate><description><![CDATA[void HelloWorld::downloadPicture()
{
    HttpRequest *request = new HttpRequest();
    request->setRequestType(HttpRequest::Type::GET);
    request->setTag("downLoad tag 1");
    request->setUrl("http:]]></description><category></category></item><item><title><![CDATA[Cocos2d-x开发--使用CCRenderTexture将矩形图片裁剪成圆形显示]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/54896695</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/54896695</guid><author>mitu405687908</author><pubDate>Mon, 06 Feb 2017 20:36:59 +0800</pubDate><description><![CDATA[日前，自己在做项目的过程中遇到此需求：需要将Facebook好友的方形头像变成圆形头像展示。通过网上的搜罗研究，发现使用CCRenderTexture是个不错的方法，归纳总结之后，形成了下面这个方法。 
其实，用这个方法不仅可以将图片裁成圆形，而是可以裁成任何你想要的形状。关键只在于你使用的是何种形状的蒙版图片而已。 
方法如下： 
[cpp] view plain copy print? 
CCS]]></description><category></category></item><item><title><![CDATA[C++输出文件名、函数名、行号]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/54139383</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/54139383</guid><author>mitu405687908</author><pubDate>Fri, 06 Jan 2017 16:21:55 +0800</pubDate><description><![CDATA[在调试中，控制台输出文件名、函数名、行号是非常有助于调试的std::cout << "file path = %s" << __FILE__;
std::cout << "function name = %s" << __FUNCTION__;
std::cout << "line = %d" << __LINE__;]]></description><category></category></item><item><title><![CDATA[线程同步（互斥量）]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/52984852</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/52984852</guid><author>mitu405687908</author><pubDate>Mon, 31 Oct 2016 18:35:32 +0800</pubDate><description><![CDATA[#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>#define NUM_THREAD 100 // 线程数
pthread_mutex_t mutex; // 互斥量void* thread_increase(void* arg); // 加
void* thread_reduce(void]]></description><category></category></item><item><title><![CDATA[多线程]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/52984829</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/52984829</guid><author>mitu405687908</author><pubDate>Mon, 31 Oct 2016 18:31:54 +0800</pubDate><description><![CDATA[线程创建以及运行#include <pthread.h>
 /* 创建子线程
  * 函数名: pthread_create
  * 参数：
  *     thread  保存新创建线程ID的变量地址值。线程与进程相同，也需要用于区分线程的ID。
  *     attr   用于传递线程属性的参数，传递NULL时，创建默认属性的线程。
  *     atart_routine 子线程开始执行的]]></description><category></category></item><item><title><![CDATA[mac下创建.bash_profile步骤]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51994113</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51994113</guid><author>mitu405687908</author><pubDate>Fri, 22 Jul 2016 13:42:23 +0800</pubDate><description><![CDATA[启动终端Terminal
进入当前用户的home目录 
输入 
cd ~
创建.bash_profile 
输入 
touch .bash_profile
编辑.bash_profile文件 
输入 
open .bash_profile 
在弹出的页面进行编辑
保存文件，关闭.bash_profile
更新刚配置的环境变量 
输入 
source .bash_profile]]></description><category></category></item><item><title><![CDATA[sublime text 快捷键]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51742222</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51742222</guid><author>mitu405687908</author><pubDate>Thu, 23 Jun 2016 11:40:31 +0800</pubDate><description><![CDATA[Sublime Text 2 - 性感的代码编辑器、程序员之必备神器Sublime Text 是一个代码编辑器，也是HTML和散文先进的文本编辑器。Sublime Text具有漂亮的用户界面和强大的功能，例如代码缩略图，Python的插件，代码段等。还可自定义键绑定，菜单和工具栏。SublimeText的主要功能包括：拼写检查，书签，完整的 Python API ， Goto 功能，即时项目切换，多]]></description><category></category></item><item><title><![CDATA[cocos2d-x面试题合集]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51695510</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51695510</guid><author>mitu405687908</author><pubDate>Fri, 17 Jun 2016 00:00:30 +0800</pubDate><description><![CDATA[1、Cocos2d-x是怎样实现跨平台？AppDelegate 作为跨平台程序入口，在这之上做了另一层的封装，封装了不同平台的不同实现。比如我们通常认为一个程序是由 main 函数开始运行，那我们就去找寻，我们看到了在 proj.linux 目录下存在 main.cpp 文件。在main.cpp 中 CCApplication::sharedApplication()–>run();这一句看起，这一]]></description><category></category></item><item><title><![CDATA[TCP/IP、Http、Socket的区别]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51695442</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51695442</guid><author>mitu405687908</author><pubDate>Thu, 16 Jun 2016 23:40:03 +0800</pubDate><description><![CDATA[网络由下往上分为：物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 
通过初步的了解，我知道IP协议对应于网络层，TCP协议对应于传输层，而HTTP协议对应于应用层， 
三者从本质上来说没有可比性，socket则是对TCP/IP协议的封装和应用(程序员层面上)。也可以说，TCP/IP协议是传输层协议，主要解决数据如何在网络中传输，而HTTP是应用层协议，主要解决如何包装数据。关于TCP/]]></description><category></category></item><item><title><![CDATA[TCP连接中的三次握手四次挥手]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51695290</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51695290</guid><author>mitu405687908</author><pubDate>Thu, 16 Jun 2016 23:09:26 +0800</pubDate><description><![CDATA[建立TCP需要三次握手才能建立，而断开连接则需要四次握手。整个过程如下图所示：三次握手首先Client端发送连接请求报文，Server段接受连接后回复ACK报文，并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文，并分配资源，这样TCP连接就建立了。 
四次挥手假设Client端发起中断连接请求，也就是发送FIN报文。Server端接到FIN报文后，意思是说”我C]]></description><category></category></item><item><title><![CDATA[DrawNode绘制几何图形]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51600351</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51600351</guid><author>mitu405687908</author><pubDate>Tue, 07 Jun 2016 00:46:53 +0800</pubDate><description><![CDATA[继承关系 
// 创建一个DrawNode
    Size visibleSize = Director::getInstance()->getVisibleSize();
    DrawNode* drawNode = DrawNode::create();
    drawNode->setPosition(Vec2(visibleSize.width * 0.5f,visibleSize.]]></description><category></category></item><item><title><![CDATA[Cocos2d-x 面试题解]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51590053</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51590053</guid><author>mitu405687908</author><pubDate>Sun, 05 Jun 2016 16:31:15 +0800</pubDate><description><![CDATA[1、Cocos2d-x是怎样实现跨平台?AppDelegate作为跨平台程序入口，在这之上做了另一层的封装，封装了不同平台的不同实现。比如我们通常认为一个程序是由 main 函数开始运行，那我们就去找寻，我们看到了在 proj.linux 目录下存在 main.cpp 文件。在main.cpp 中 CCApplication::sharedApplication()–>run(); 这一句看起，这一]]></description><category></category></item><item><title><![CDATA[多进程和多线程]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51518973</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51518973</guid><author>mitu405687908</author><pubDate>Fri, 27 May 2016 18:38:39 +0800</pubDate><description><![CDATA[我们都知道进程是操作系统资源分配的最小单位，而线程是CPU调度的最小单位。 
先说说多线程的好处： 
(1)可以把占据时间长的任务放到后台去执行； 
(2)比如当用户点击按钮触发一个事件后，可以使用界面的进度条显示处理的进度； 
(3)一个进程中有多个线程的话，可能相对的加快程序的执行；下面来对比一下多进程和多线进程在各方面的优劣： 
(1)数据共享和同步方面： 
进程之间的数据是分开的，因此多进程]]></description><category></category></item><item><title><![CDATA[同步和异步的区别]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51509572</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51509572</guid><author>mitu405687908</author><pubDate>Thu, 26 May 2016 18:15:13 +0800</pubDate><description><![CDATA[在计算机领域，同步就是指一个进程在执行某个请求的时候，若该请求需要一段时间才能返回信息，那么这个进程将会一直等待下去，直到收到返回信息才继续执行下去；异步是指进程不需要一直等下去，而是继续执行下面的操作，不管其他进程的状态。当有消息返回时系统会通知进程进行处理，这样可以提高执行的效率。 
而我们平时经常讨论的同步问题多发生在多线程环境中的数据共享问题。即当多个线程需要访问同一个资源时，它们需要以某种]]></description><category></category></item><item><title><![CDATA[原码、反码、补码详解]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51509397</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51509397</guid><author>mitu405687908</author><pubDate>Thu, 26 May 2016 17:56:14 +0800</pubDate><description><![CDATA[一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式,  叫做这个数的机器数。机器数是带符号的，在计算机用一个数的最高位存放符号, 正数为0, 负数为1.比如，十进制中的数 +3 ，计算机字长为8位，转换成二进制就是00000011。如果是 -3 ，就是 10000011 。那么，这里的 00000011 和 10000011 就]]></description><category></category></item><item><title><![CDATA[计算struct的大小]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51481143</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51481143</guid><author>mitu405687908</author><pubDate>Mon, 23 May 2016 13:51:53 +0800</pubDate><description><![CDATA[结构体中的成员可以是不同的数据类型，成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是，结构体的大小不是所有成员大小简单的相加，需要考虑到系统在存储结构体变量时的地址对齐问题.struct stu1
{
    int i;
    char c;
    int j;
}先介绍一个相关的概念——偏移量。偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的]]></description><category></category></item><item><title><![CDATA[C++保存json文件（使用jsoncpp库）]]></title><link>https://blog.youkuaiyun.com/mitu405687908/article/details/51220149</link><guid>https://blog.youkuaiyun.com/mitu405687908/article/details/51220149</guid><author>mitu405687908</author><pubDate>Fri, 22 Apr 2016 14:46:44 +0800</pubDate><description><![CDATA[首先我们要确定要保存json文件的格式，只有事先确定json文件的格式，才能构造它。{
   "age" : 24,
   "array" : [
      {
         "cancel" : "取消",
         "loginfail" : "登录失败",
         "loginsuccess" : "登录成功",
         "ok" : "确定"
      }]]></description><category></category></item></channel></rss>