自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Small Flows

学而时习之,不亦说乎

  • 博客(108)
  • 资源 (1)
  • 收藏
  • 关注

原创 【个人吐槽】:你为什么写

为什么写博客呢

2016-12-31 22:42:20 713

原创 基于Cocos2d-x的迷宫探索演示程序

本文展示了使用cocos2d-x来实现的一个迷宫探索演示程序,一种简单粗暴的寻路算法,算法来自经典的严蔚敏c语言数据结构里的迷宫探索算法,使用栈来实现。

2016-09-30 08:35:50 1528

原创 【Programming In Lua (2E) 笔记】5:使用C++为Lua编写扩展库(macOS上两种动态库格式的坑)

本文记录了在macOS上使用c++为lua编写动态库的过程,分享一个容易翻车的坑

2016-08-31 20:39:29 2960 1

原创 【使用CMake组织C++工程】3:CMake 函数和宏

这篇文章分享一下CMake中函数:function, 和宏:macro的使用。本文先从二者区别说起,由于二者区别很小,所以后文就仅对函数的用法进行讨论,因为函数有作用域的概念,适用范围更广。后文分享一个很实用的递归函数用于包含指定目录的所有子目录。

2016-04-12 09:26:11 10305 4

原创 【使用CMake组织C++工程】2:CMake 常用命令和变量

前面的文章介绍了一个最简单的CMake工程,这篇文章将介绍一个稍微复杂一些的CMake工程,结合这个工程总结一下在组织一个C/C++工程时最为常用的一些CMake命令和变量。对于涉及到的命令和变量,介绍的原则是点到即止,先仅需掌握基本用法即可,让工程跑起来。

2016-04-12 00:22:53 5179 8

原创 Visual Studio环境变量使用实例:使用环境变量来组织工程

前言在前一篇文章Visual Studio中的环境变量(以Visual Studio 2013为例)中介绍了VS中的环境变量,本文将以实际例子说明如何合理使用这些环境变量来组织VC++工程。使用vs环境变量来组织工程通常一个解决方案包含多个项目,这些项目相互之间可能存在依赖关系,以下面这个解决方案为例

2016-03-30 20:42:43 3409 1

原创 Visual Studio中的环境变量(以Visual Studio 2013为例)

本文总结了Visual Studio中常见的环境变量及其在组织解决方案、工程中的作用。注:本文使用的是Visual Studio 2013,由于作者主要从事C/C++开发,所以是以Visual C++的工作环境配置来描述

2016-03-29 22:55:22 42898 2

原创 技术人该怎么通过社群提升自己的技术和影响力?

想起来之前看到的一个笑话,大意是说,一个人跟老板说要涨薪,说自己已经十年经验了,但是他老板说

2016-03-19 21:29:04 2833

原创 使用宏来作为C++单元测试开关

本文介绍了如何使用宏来控制C++单元测试的开启和关闭,本文的单元测试工具指的是google的C++单元测试工具gtest。

2016-01-27 08:03:40 2428

原创 【cocos2d-x 2.x 学习与应用总结】13: 借助CCGLProgram实现自定义绘制

本文总结了如何借助CCGLProgram来实现自定义绘制的节点类,使用自定义的顶点着色器和片段着色器,实现一个绘制彩色矩形的节点类。绘制的效果图如下所示:

2016-01-21 01:42:26 2716

原创 【cocos2d-x 2.x 学习与应用总结】11: 理解CCGLProgram

本文介绍了cocos2d-x中CCGLProgram这个类, 这篇文章假设读者已经了解OpenGL ES程序的基本渲染流程:顶点和片段着色器的源代码的编写、着色器的创建、program的创建、源代码绑定、编译、链接、OpenGL客户端-服务端传值等。CCGLProgram这个类正是对OpenGL ES渲染流程中涉及到着色器的编译、链接、传值等部分的抽象。本文先总起介绍CCGLProgram所做的工作,然后分析其源

2016-01-20 01:09:44 3653

原创 【C++ STL应用与实现】19: 迭代器特性-iterator traits

本文介绍了STL中的迭代器相关的类型和特性,它们用来定义和区分不同的迭代器类型。如iterator tag作为迭代器的“标签”用来区分迭代器的类型;iterator traits定义了所有类型的迭代器都应该有的公共信息。那标准库为什么提供这些东西呢?答案是我们可以根据这些信息来编写泛型代码,在泛型代码里根据iterator traits来判定迭代器的类型以做相应处理、可以自己定义迭代器实现自定义的迭代器操作。

2015-12-30 00:42:31 2180 1

原创 【C++ STL应用与实现】18: 如何使用迭代器适配器

本文介绍了STL中的迭代器适配器(iterator adapter)的概念及其使用方法示例。迭代器适配器可以和标准库中的算法配合使用,达到一些特殊的效果。迭代器适配器分为以下几类:- reverse iterator : 反向迭代器- insert iterator : 插入型迭代器- stream iterator : 流迭代器- move iterator : 移动型迭代器

2015-12-29 01:15:05 1492

原创 【C++ STL应用与实现】17: 如何使用迭代器辅助函数

本文介绍了STL中的迭代器辅助函数的用法及注意事项,这些迭代器辅助函数包括:advance, next (since C++11), prev (since C++11), distance, iter_swap.使用这些辅助函数需要包含头文件:#include <iterator>advance, next, prev, distance这四个辅助函数使得所有迭代器都拥有类似随机访问迭代器的特性,比如adv

2015-12-26 23:33:23 2093

原创 【C++ STL应用与实现】7: 如何使用std::forward_list 单链表 (since C++11)

本文介绍了STL中的序列式容器`std::forward_list`, 从它的名字就能推测出来,它是单向的,只能前进(forward). 确实如此,它其实就是对C语言风格的单链表的封装,仅提供有限的接口,相对于std::list(双向链表,并且定义很多接口)来说它节省了内存,同时又有比list更好的运行时性能;

2015-12-25 23:46:01 5797

原创 【C++ STL应用与实现】5: 如何使用std::array (since C++11)

本文总结了STL中的序列式容器array的用法及注意事项。array的出现代表着C++的代码更进一步“现代化”,就像std::string的出现代替了c风格字符串并且能和STL配合工作一样,array的出现则将取代语言内置的数组以及c风格的数组字符串,它提供了data()接口,使得能够获得内部数组的首地址,它提供了size(), 能够得其固定的长度,使得C++的数组也可以像Java等语言那样知道自己的length;它

2015-12-24 00:52:44 12132 2

原创 【C++ STL应用与实现】26: 如何使用std::for_each以及基于范围的for循环 (since C++11)

本文总结了STL算法中for_each, for_each算法很常用,以致于C++11定义了一个新的语法: `range based for loop`, 也就是基于范围的for循环,直接在语法层面把for_each的功能给实现了。本文给出一些使用`for_each`和rang-based for loops的用法,并说明for loops的实现原理和使用注意事项。

2015-12-23 00:25:23 14268

原创 【C++ STL应用与实现】目录

这篇文章是《STL应用与实现》系列的目录, 也是这系列文章的写作计划。STL的总结主要分成四大块:容器、迭代器、函数对象和算法。每个大块细分成的每个叶子节点就对应着一篇文章,文章标题在目录里以超链接的形式展现,作为一个索引。已经完成的文章,我会在后面加上【完成】标识。跳转不过去的就是未完成的文章,作为写作计划。

2015-12-19 08:07:18 15780 3

原创 【C++ STL应用与实现】0: 感恩STL——STL, ACM和年轻的我们

本文是一篇洗脑文,鼓吹STL的好处, 回忆作者第一次认识STL,并给出STL的学习路线。

2015-12-17 13:50:39 10464

原创 【C++ STL应用与实现】22: 函数组合之1:如何使用std::bind (since C++11)

本文总结了std::bind这个模板函数的用法,给出了std::bind绑定普通函数(函数指针)、lambda表达式、成员函数、成员变量、模板函数、嵌套std::bind等的语法细节及注意的问题。

2015-12-16 07:31:05 15929 3

原创 【C++ STL应用与实现】1: STL概览和分类

本文从整体上对STL的内容和功能做了一个概览,并根据其组成部分功能的不同对STL的组件进行分类。在后续的文章中会对每个分类中的组件进行展开说明。

2015-12-15 22:32:14 8376

原创 【cygwin的包管理器】通过命令行为cygwin添加新package

这两年主力开发环境从mac切回到windows了,最近买了高配PC,在搭建开发环境。本文记录了如何在安装完成的cygwin环境里,通过敲命令添加新的package,而不是重新用setup.exe来重新勾选安装package。本文以在cygwin命令行里安装lua为例。瞬间看完lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-c...

2020-02-15 20:50:14 2773

原创 Mac版Rider加载、编译.Net失败,Unity插件安装失败问题

前言本文记录了mac上解决Rider加载、编译.Net项目失败的问题, 以及Rider的Unity插件安装失败,导致Rider中无法正确加载Unity solution,无代码提示问题。总结出现的问题及原因1). 提示MSBuild无法正确加载 Console Application安装了dotnet sdk,重启Rider , 设置(Build, Executio...

2018-06-16 05:53:16 3264 1

原创 使用git在两台机器间同步代码

本文记录了如何使用git来在两台机器间同步代码,一台机器是linux,另一台是windows

2017-02-06 23:43:08 18745 2

原创 【C++ STL应用与实现】6: 如何使用std::list

list是stl对链表数据结构的一种支持,其通常被实现为双向链表。本文介绍了list的基本用法以及在使用list时需要注意的一些问题。

2017-01-31 19:11:14 929

原创 【C++ STL应用与实现】2: 如何使用std::vector

本文介绍vector容器。vector是STL容器中最为常用的一个,它是序列式容器的代表,是对动态数组的抽象封装。

2017-01-29 23:35:04 1512

原创 【cocos2d-x 学习与应用总结】最近一段时间使用cocos2d-x lua的总结

本文总结了近期使用cocos2d-x lua过程中的一些思考和收获。

2016-12-31 23:04:52 1022

原创 如何使用vsprintf, vsnprintf等函数

在一些c++的框架中,有很多小的util函数,通常每个框架里都会有一个log函数,用法类似于printf(fmt, ...), 比如cocos2d-x的log函数用法大概像下面这样:log("size is %d, %d", w, h);它们的实现就是借助于vsnprintf族函数。本质在于格式化一个字符串。下面通过一个例子来说明如何使用vsnprintf族函数来实现一个字符串格式化函数

2016-12-31 23:01:20 4908

原创 【C++ STL应用与实现】62: 如何使用std::next_permutation

本文介绍STL中的排列算法

2016-12-31 22:37:08 880

原创 【C++ STL应用与实现】72: 标准库里的堆--如何使用标准库的heap算法

本文介绍如何使用STL里的heap(堆)算法。第一次接触heap这种数据结构是在大学的数据结构教材上,它是一棵完全二叉树。在STL中,heap是算法的形式提供给我们使用的。包括下面几个函数:make_heap: 根据指定的迭代器区间以及一个可选的比较函数,来创建一个heappush_heap: 把指定区间的最后一个元素插入到heap中pop_heap: 弹出heap顶元素, 将其放置于区间末尾

2016-11-29 23:41:09 4630 2

原创 C++的 copy-and-swap idiom 是什么

c++里的又一个惯用法or最佳实践 copy-and-swap.

2016-11-29 23:27:25 874

原创 C++的The Big Three and A Half 是什么

你可能知道C++里面的这个梗,但是并不知道英文叫这个。。。

2016-11-29 23:14:46 574

原创 【OpenGL Programming On macOS using glfw 】0: Build a Simple OpenGL Program

OpenGL红宝书第九版已经开始使用glfw作为窗口管理和Context创建工具, 取代了第八版里的freeglut和glew。本文讲解如何使用glfw在macOS上来构建一个OpenGL程序(OpenGL 3.0+)包括以下步骤:从github下载glfw源码使用CMake构建glfw,并运行示例,以确保glfw确实可用编写自己的OpenGL代码,并链接glfw来展示结果

2016-11-18 09:06:15 1644 4

原创 【cocos2d-x 3D实战】开发一款体素游戏--1. 准备工作

最近cocos官网推荐了一款使用cocos2d-x开发的3D游戏,叫《Steps》(信步),是一个乌克兰小伙的作品,是一款休闲小游戏,正是类似MineCraft那种体素(voxel)风格的,看起来效果还不错,于是自己也打算尝试搞一个这样的游戏玩玩。本文是使用c3d开发一款体素风游戏系列的第一篇,记录了开发环境的配置和界面编辑器的选择和实验。引擎:cocos2d-x 3.10体素模型编辑器:Ma

2016-10-31 22:14:41 2765 2

原创 lua function

lua function初学者参考

2016-10-31 21:58:33 1443

原创 macOS 使用经验总结

本文持续更新总结macOS系统的一些操作技巧

2016-10-31 21:48:40 802

原创 【APUE 学习笔记】4: Unix Process Control 进程控制

本文是APUE第8章:进程控制知识点的总结和代码实践的总结。

2016-10-11 23:27:24 589

原创 【APUE 学习笔记】2: Unix文件和目录

本文是APUE第四章:文件和目录知识点的总结和代码实践的总结。

2016-09-30 21:10:50 451

原创 【APUE 学习笔记】1: Unix文件IO

本文总结APUE第三章:文件IO的知识点和对代码实践的总结

2016-09-30 21:07:21 353

原创 【C++ STL应用与实现】95: 如何使用Allocator

本文展示了如何使用Allocator,例子取自《STL源码剖析》里实现的一个简单的Allocator,从中可以看到Allocator最基本的用法。

2016-09-30 20:52:25 1409

Cool Reader 3-1-0 - lib(so)文件压缩包

从git下载Cool Reader源代码没有生成好的libs文件,因此需要手动使用ndk-build来编译native函数。压缩包是编译好的libs文件。 使用时拷贝”libs“文件夹到android项目根目录。

2013-07-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除