<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[true11false的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/true11false</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; true11false]]></copyright><item><title><![CDATA[临界区，互斥量，信号量，事件的区别(线程同步)]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38294553</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38294553</guid><author>true11false</author><pubDate>Wed, 30 Jul 2014 10:30:54 +0800</pubDate><description><![CDATA[四种进程或线程同步互斥的控制方法
1、临界区:通过对多线程的串行化来访问公共资源或一段代码，速度快，适合控制数据访问。 
2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 
3、信号量:为控制一个具有有限数量用户资源而设计。 
4、事 件:用来通知线程有一些事件已发生，从而启动后继任务的开始。 
临界区（Critical Section）
保证在某一时刻只有一个线程能访问数据的]]></description><category></category></item><item><title><![CDATA[多线程编程]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38279209</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38279209</guid><author>true11false</author><pubDate>Tue, 29 Jul 2014 22:23:11 +0800</pubDate><description><![CDATA[#include "stdafx.h"

#include   
#include   

using namespace std;  

static int g_iCnt = 100;
CRITICAL_SECTION g_CriticalSection;

DWORD WINAPI Thread1(LPVOID lpParmeter);  
DWORD WINAPI Thread2(LPVO]]></description><category></category></item><item><title><![CDATA[VC 运行时库 /MD、/MDd 和 /MT、/MTd]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38278583</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38278583</guid><author>true11false</author><pubDate>Tue, 29 Jul 2014 21:43:48 +0800</pubDate><description><![CDATA[有段时间在写cuda程序是出现过

error LNK2005: _exit 已经在 MSVCRTD.lib(MSVCR71D.dll) 中定义 等类似错误
原因应该是在vs2010 工程属性中 c/c++的代码生成（code generation)中的设置与cuda c/c++ Host Runtime library不一样导致的。
后来在写opencv程序中的 findcontour(]]></description><category></category></item><item><title><![CDATA[STL系列十一 随机三趣题——随机重排，文件中随机取一行，生成N个随机数]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236913</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236913</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 21:07:50 +0800</pubDate><description><![CDATA[2014-07-14 00:02 
8人阅读 评论(0)
收藏 
举报

目录(?)[+]


本文将介绍三个有趣的随机问题，分别是随机重新排列、从文件中随机取一行数据、生成N个随机数。
 
一．随机重新排列
将一个序列打乱并对其进行随机的重新排列，关键在于每种序列的被选择概率要一样，不然有失“公平”。现在让我们来寻找如何保证每种序列被选择的概率一样大的算法。
首先假设这个]]></description><category></category></item><item><title><![CDATA[STL系列之十 全排列(百度迅雷笔试题)]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236899</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236899</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 21:06:56 +0800</pubDate><description><![CDATA[2014-07-13 23:59 
9人阅读 评论(0)
收藏 
举报

目录(?)[+]


全排列在笔试面试中很热门，因为它难度适中，既可以考察递归实现，又能进一步考察非递归的实现，便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了，因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处，欢迎大家指出。
首先来看看题目是如何]]></description><category></category></item><item><title><![CDATA[STL系列之九 探索hash_set]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236887</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236887</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 21:06:14 +0800</pubDate><description><![CDATA[Title:        STL系列之九 探索hash_set
Author:     MoreWindows
Blog:       http://blog.youkuaiyun.com/MoreWindows
E-mail:     morewindows@126.com
KeyWord:   C++ STL set hash_set 哈希表 链地址法
 
本文将着重探索hash_set比s]]></description><category></category></item><item><title><![CDATA[STL系列之七 快速计算x的n次幂 power()的实现]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236863</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236863</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 21:04:16 +0800</pubDate><description><![CDATA[计算x的n次幂最简单直接的方法就是相乘n次，很容易写出程序：


[cpp] 
view plaincopy


//计算x^n 直接乘n次 by MoreWindows( http://blog.youkuaiyun.com/MoreWindows )  int power1(int x, unsigned int n)  {      int result = 1;      while (]]></description><category></category></item><item><title><![CDATA[STL系列之八 slist单链表]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236875</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236875</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 21:03:04 +0800</pubDate><description><![CDATA[微软的VS208所使用的PJ STL（注1）中的list是双链表，但在某些场合，一个轻量级的单链表会更加合适。单链表非常常见，这里就不去细说了，本文的slist（single linked list）单链表实现了链表的基本功能，如有需要，以后还会扩充的。slist单链表（带头结点）的示意图如下所示：

完整的C++代码如下：



[cpp] 
view plaincopy

]]></description><category></category></item><item><title><![CDATA[STL系列之六 set与hash_set]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236847</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236847</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 21:02:30 +0800</pubDate><description><![CDATA[STL系列之六 set与hash_set
set和hash_set是STL中比较重要的容器，有必要对其进行深入了解。在STL中，set是以红黑树（RB-tree）作为底层数据结构的，hash_set是以Hash table（哈希表）作为底层数据结构的。set可以在时间复杂度为O(logN)情况下插入、删除和查找数据。hash_set操作的时间复杂度则比较复杂，这取决于哈希函数和哈希表的负载情况。]]></description><category></category></item><item><title><![CDATA[STL系列之三 queue 单向队列]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236813</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236813</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 21:00:26 +0800</pubDate><description><![CDATA[queue单向队列与栈有点类似，一个是在同一端存取数据，另一个是在一端存入数据，另一端取出数据。单向队列中的数据是先进先出（First In First Out,FIFO）。在STL中，单向队列也是以别的容器作为底部结构，再将接口改变，使之符合单向队列的特性就可以了。因此实现也是非常方便的。下面就给出单向队列的函数列表和VS2008中单向队列的源代码。单向队列一共6个常用函数（front()、ba]]></description><category></category></item><item><title><![CDATA[STL系列之二 stack栈]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236805</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236805</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 20:59:53 +0800</pubDate><description><![CDATA[栈（statck）这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的（First In Last Out, FILO）。栈只有一个出口，允许新增元素（只能在栈顶上增加）、移出元素（只能移出栈顶元素）、取得栈顶元素等操作。在STL中，栈是以别的容器作为底部结构，再将接口改变，使之符合栈的特性就可以了。因此实现非常的方便。下面就给出栈的函数列表和VS2008中栈的源代码，在STL中栈一共就5个]]></description><category></category></item><item><title><![CDATA[STL系列之五 priority_queue 优先级队列]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236837</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236837</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 20:59:16 +0800</pubDate><description><![CDATA[priority_queue 优先级队列是一个拥有权值概念的单向队列queue，在这个队列中，所有元素是按优先级排列的（也可以认为queue是个按进入队列的先后做为优先级的优先级队列——先进入队列的元素优先权要高于后进入队列的元素）。在计算机操作系统中，优先级队列的使用是相当频繁的，进线程调度都会用到。在STL的具体实现中，priority_queue也是以别的容器作为底部结构，再根据堆的处理规则]]></description><category></category></item><item><title><![CDATA[STL系列之一 deque双向队列]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236795</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236795</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 20:59:01 +0800</pubDate><description><![CDATA[deque双向队列是一种双向开口的连续线性空间，可以高效的在头尾两端插入和删除元素，deque在接口上和vector非常相似，下面列出deque的常用成员函数：

 
deque的实现比较复杂，内部会维护一个map（注意！不是STL中的map容器）即一小块连续的空间，该空间中每个元素都是指针，指向另一段（较大的）区域，这个区域称为缓冲区，缓冲区用来保存deque中的数据。因此deque在随机]]></description><category></category></item><item><title><![CDATA[STL系列之四 heap 堆]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38236823</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38236823</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 20:58:41 +0800</pubDate><description><![CDATA[下面再介绍STL中与堆相关的4个函数——建立堆make_heap()，在堆中添加数据push_heap()，在堆中删除数据pop_heap()和堆排序sort_heap()：
头文件 #include 
下面的_First与_Last为可以随机访问的迭代器（指针），_Comp为比较函数（仿函数），其规则——如果函数的第一个参数小于第二个参数应返回true，否则返回false。
建立堆
ma]]></description><category></category></item><item><title><![CDATA[STL中map、set的数据结构及底层实现]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38232193</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38232193</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 16:16:53 +0800</pubDate><description><![CDATA[摘要：本文列出几个基本的STL map和STL set的问题，通过解答这些问题讲解了STL关联容器内部的数据结构，最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题，并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说，有一定的参考价值。
 
vector（向量）——STL中标准而安全的数组。只能在ve]]></description><category></category></item><item><title><![CDATA[【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上：游戏引擎导论]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38231995</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38231995</guid><author>true11false</author><pubDate>Mon, 28 Jul 2014 16:11:49 +0800</pubDate><description><![CDATA[看到在留言中很多朋友提到不太清楚DirectX与游戏引擎的区别的问题，在这里浅墨就专门把自己对游戏引擎的一些理解写成一篇文章，作为我们《Visual C++游戏开发》专栏的游戏引擎导论，也希望能通过这篇文章，能让大家有所启发，对游戏引擎，对渲染流水线的概念有更深刻的认识。
文章首先分析了学习游戏引擎的必要性，然后介绍了游戏引擎的概念和相关知识，接着介绍了几款最具人气的开源游戏引擎，然后对市面上存]]></description><category></category></item><item><title><![CDATA[LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38167837</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38167837</guid><author>true11false</author><pubDate>Sun, 27 Jul 2014 09:59:35 +0800</pubDate><description><![CDATA[终极解决方案：
VS2010在经历一些更新后，建立Win32 Console Project时会出“error LNK1123” 错误，解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可，但是没新建一个项目都要这样设置一次。
在建立VS2010 Win32 Project项目时，按照上面解决方案依然发生了“error LNK1123”错误，经过上网查资]]></description><category></category></item><item><title><![CDATA[Unicode字符集和多字节字符集关系]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38151047</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38151047</guid><author>true11false</author><pubDate>Sat, 26 Jul 2014 22:25:18 +0800</pubDate><description><![CDATA[Unicode字符集和多字节字符集关系
在计算机中字符通常并不是保存为图像，每个字符都是使用一个编码来表示的，而每个字符究竟使用哪个编码代表，要取决于使用哪个字符集(charset)。
在最初的时候，Internet上只有一种字符集——ANSI的ASCII字符集，它使用7 bits来表示一个字符，总共表示128个字符，其中包括了英文字母、数字、标点符号等常用字符。之后，又进行扩展，使用8 bi]]></description><category></category></item><item><title><![CDATA[Debug与Release版本的区别]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38150939</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38150939</guid><author>true11false</author><pubDate>Sat, 26 Jul 2014 22:15:50 +0800</pubDate><description><![CDATA[由于最近搞了个项目，Debug版本下程序可以正常运行退出，而给QA的Release版本则不能正常的运行退出，调试release版本时，发现Code并没有问题，结果将Release版本的优化选项关闭掉，问题就解决了。本文主要包含如下内容：
1. Debug和 Release编译方式的本质区别
2.哪些情况下 Release版会出错
2.怎样"调试"
 Release版的程序
-------]]></description><category></category></item><item><title><![CDATA[STL 算法]]></title><link>https://blog.youkuaiyun.com/true11false/article/details/38146973</link><guid>https://blog.youkuaiyun.com/true11false/article/details/38146973</guid><author>true11false</author><pubDate>Sat, 26 Jul 2014 16:53:12 +0800</pubDate><description><![CDATA[STL算法概述
简介:
STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件，对于数值算法须包含，中则定义了一些模板类，用来声明函数对象
注意:
编译器无法检测出所传递的迭代器是一个无效形式的迭代器,当然也无法给出算法函数错误的提示,因为迭代器并不是真实的类别,它只是传递给函数模板的一种参数格式而已
算法的一些限制：
1、保证迭代器有效
2、区间必须有足够的空]]></description><category></category></item></channel></rss>