<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[juniway的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/juniway</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; juniway]]></copyright><item><title><![CDATA[对象析构与线程安全]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/50448705</link><guid>https://blog.youkuaiyun.com/juniway/article/details/50448705</guid><author>juniway</author><pubDate>Sat, 02 Jan 2016 16:40:02 +0800</pubDate><description><![CDATA[对象析构与线程安全


本文从C++程序设计的角度分析对象在析构的时候存在的线程安全问题，并以观察者模式的实现为例，提出了不同的解决办法。

线程安全问题的暴露


如果将一个对象的指针注册到另一个对象的成员函数回调中，那么在多线程环境下就存在竞态条件，以观察者模式的实现为例说明，在Observer的基类中，保存了被观察者的指针subject_，用于在本观察者对象析构的时候，从观察]]></description><category></category></item><item><title><![CDATA[黑客文化的精髓]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/50444521</link><guid>https://blog.youkuaiyun.com/juniway/article/details/50444521</guid><author>juniway</author><pubDate>Fri, 01 Jan 2016 10:51:02 +0800</pubDate><description><![CDATA[黑客文化的精髓
听说“黑客文化”这个词，就像在昨天。想起它，眼前就出现一些头发蓬乱，穿黑色道袍的人。最早的时候，他们努力地向人们澄清：“黑客”不是贬义词，不是指那些入侵电脑网络的罪犯。当人们明白过来之后，他们开始告诉人们如何成为一个黑客，并且把黑客与画家相提并论。当人们受到鼓舞，决心成为黑客之后，他们开始向这些人灌输黑客的“行为守则”，“提问的艺术”等等。总之就是说，你得显示出一些非常重要的特征]]></description><category></category></item><item><title><![CDATA[多线程队列的算法优化]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/50359602</link><guid>https://blog.youkuaiyun.com/juniway/article/details/50359602</guid><author>juniway</author><pubDate>Sat, 19 Dec 2015 20:50:02 +0800</pubDate><description><![CDATA[多线程队列的算法优化
多线程队列?oncurrent Queue）的使用场合非常多，高性能服务器中的消息队列，并行算法中的Work Stealing等都离不开它。对于一个队列来说有两个最主要的动作：添加（enqueue）和删除（dequeue）节点。在一个（或多个）线程在对一个队列进行enqueue操作的同时可能会有一个（或多个）线程对这个队列进行dequeue操作。因为enqueue和dequ]]></description><category></category></item><item><title><![CDATA[Ubuntu 中文输入法安装 ibus]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/48791987</link><guid>https://blog.youkuaiyun.com/juniway/article/details/48791987</guid><author>juniway</author><pubDate>Mon, 28 Sep 2015 22:40:12 +0800</pubDate><description><![CDATA[Ubtuntu 12.04 中自带了中文输入法，在英文系统中同样已经预装了ibus，只需要下载一下简体中文语言包，即可通过Ctrl+Space进行输入法到切换。


如何安装简体中文语言包？
依次选择 Sytem Setting --> Language Support --> Install/Remove Languages后，将出现如下图所示窗口：



将右侧 Install]]></description><category></category></item><item><title><![CDATA[如何在C++中调用 C 函数？]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/47989849</link><guid>https://blog.youkuaiyun.com/juniway/article/details/47989849</guid><author>juniway</author><pubDate>Wed, 26 Aug 2015 00:06:45 +0800</pubDate><description><![CDATA[C＋＋和C是两种完全不同的编译链接处理方式，如果直接在C＋＋里面调用C函数，会找不到函数体，报链接错误。要解决这个问题，就要在 C＋＋文件里面显示声明一下哪些函数是C写的，要用C的方式来处理。
1.引用头文件前需要加上 extern “C”，如果引用多个，那么就如下所示
extern “C”
{
#include “ a1.h”
#include “a2.h”
#include “a3]]></description><category></category></item><item><title><![CDATA[纯线性同余随机数生成器]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/41461239</link><guid>https://blog.youkuaiyun.com/juniway/article/details/41461239</guid><author>juniway</author><pubDate>Tue, 25 Nov 2014 00:21:11 +0800</pubDate><description><![CDATA[纯线性同余随机数生成器




线性同余随机数生成器介绍：


古老的LCG(linear congruential generator)代表了最好最朴素的伪随机数产生器算法。主要原因是容易理解，容易实现，而且速度快。 

LCG 算法数学上基于公式：

X(n+1) = (a * X(n) + c) % m

其中，各系数为：

模m, m > 0
系数a, 0]]></description><category></category></item><item><title><![CDATA[glfw can't get window]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/41429187</link><guid>https://blog.youkuaiyun.com/juniway/article/details/41429187</guid><author>juniway</author><pubDate>Mon, 24 Nov 2014 01:07:33 +0800</pubDate><description><![CDATA[window = glfwCreateWindow( WIN_WIDTH, WIN_HEIGHT, "", NULL, NULL );]]></description><category></category></item><item><title><![CDATA[offscreen rendering]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/38171905</link><guid>https://blog.youkuaiyun.com/juniway/article/details/38171905</guid><author>juniway</author><pubDate>Sun, 27 Jul 2014 15:08:14 +0800</pubDate><description><![CDATA[offscreen rendering
how to render stuff to a file or]]></description><category></category></item><item><title><![CDATA[Steps to set up toolkits Libraries for your OpenGL applications]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/38170495</link><guid>https://blog.youkuaiyun.com/juniway/article/details/38170495</guid><author>juniway</author><pubDate>Sun, 27 Jul 2014 13:08:14 +0800</pubDate><description><![CDATA[You forgot to compile gl3w.

Assuming that you already:


grabbed python script
ran it: python
 gl3w_gen.py
found gl3w.h glcorearb.h and gl3w.c files
 generated

There are two ways:

Firs]]></description><category></category></item><item><title><![CDATA[FreeType 字体库使用 （简易的字形装载和实际应用）]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/32367901</link><guid>https://blog.youkuaiyun.com/juniway/article/details/32367901</guid><author>juniway</author><pubDate>Thu, 19 Jun 2014 22:46:13 +0800</pubDate><description><![CDATA[FreeType是一个用C语言实现的宁体光栅化引擎制作的一个函式库.它可以用来将字符栅格化并映射成位图以及提供其它字体相关业务的支持.FreeType也是一个跨平台的字体库,下面实例以 Windows环境加DX9.0实现.
       接下来讲一下简易的字形装载,包括以下内容
* 初始化库 
* 通过创建一个新的 face 对象来打开一个字体文件 
* 以点或者象素的形式选择一个字符大小]]></description><category></category></item><item><title><![CDATA[Read a whole file into a string in C++]]></title><link>https://blog.youkuaiyun.com/juniway/article/details/26141225</link><guid>https://blog.youkuaiyun.com/juniway/article/details/26141225</guid><author>juniway</author><pubDate>Sun, 18 May 2014 12:32:54 +0800</pubDate><description><![CDATA[How to read in a file in C++

Posted by insane
 coder at Tuesday,
 November 22, 2011






So here's a simple question, what is the correct way to read in a file completely in C++?

Vario]]></description><category></category></item></channel></rss>