自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jakcymay的博客

探索事物背后的本质

  • 博客(22)
  • 收藏
  • 关注

原创 java面向对象编程

对象软件中的“对象”由状态和行为组成。并且这些“对象”通常可以和现实世界中的对象对应上。如:人,动物。类类是一个对象的创建样板。对象的生成都是参照类来生成。或者说类是读对象的描素。这个有点类似xml schema和xml文件的关系。类是对现实世界认知的抽象。人类在认识世界过程,都在尝试对周围的事物做分类。如:车,动物,狗。继承是类和类之前关系的一种。描述的是“is a”的关

2016-04-29 11:54:13 317

原创 2016年工作调整中彷徨

最近由于工作方向调整一直没有定下来,于是在外面看看机会。很多公司都在招聘资深java工程师和架构师。自己的经验比较尴尬。6年的windows上得c++开发经验。2两年的后台php开发经验。当然工作做这么多年,如果还只停留在语言层面那就弱爆了。自己觉得很牛,可是面试人不管这些,他们招聘的都是希望非常对口的。于是我会强调的我知识迁移能力。例如从客户端转后台用了一个月时间。等等。。。最终面试

2016-04-27 17:37:08 307

原创 obs classic 代码阅读二

obs核心业务逻辑MainCaptureLoop承担视频的捕获,和显示绘制MainAudioLoop承担音频的编码EncodeLoop把音视频合并发送到streamobs流的抽象网络和和文件都抽象成流obs频编码器obs视频编码器obs图形绘制类

2016-04-21 16:46:22 730 1

原创 obs classic 代码阅读一

关联d3d和render窗口  绘制capture的图像 拷贝“源”保存源内容,准备编码发送此处把mainRenderTextures里保存的内容再绘制到yuvRenderTextures里拷贝出d3dYUV->texture到copyTexture 如何把图像信息和声音信息编码成流   读取音频和

2016-04-21 16:26:35 780

原创 宏元编程——技术——宏重载

学过c++语言都知道函数重载,宏可以重载吗?

2016-03-14 15:53:51 3320 1

原创 宏元编程——逻辑计算——AND,OR,XOR,NOR

代码比较简单AND,OR,XOR和NOR最终底层通过BITXXX宏来实现。以TL_AND为例

2016-03-14 15:23:43 2207

原创 宏元编程——关系计算——not_equal

在实现not_equal的过程中,利用宏展开不能重入的特性,从而把x和y在相等和不相等的时候映射成不同的宏,再通过把这些宏的值定义成0或1来实现最终的not_equal判断

2016-03-14 15:16:32 491

原创 宏元编程——技术——auto_rec

auto_rec宏会快速探测满足探测谓词条件的“序号”最小的宏。如果满足条件会走实线深度往下探测,当遇到不满足条件会走虚线。下面以探测16以内的“序号”# define TL_NODE_16(p) TL_IF(p(16), TL_NODE_8, TL_NODE_24)# define TL_NODE_8(p) TL_IF(p(8), T

2016-03-11 17:04:33 530

原创 宏元编程——技术——解决重入引起展开失败问题

什么是宏重入?宏在展开的时候,如果遇到同名的宏会终止展开,把同名的宏当成一个整体。#define MY_CAT(p1,p2) MY_CAT_D(p1,p2)#define MY_CAT_D(p1,p2) p1##p2#define MY_NIL#define AB(p1,p2) MY_CAT(p1,p2)1,MY_CAT(A, B(x, y)) =>MY_

2016-03-11 11:58:23 405

原创 宏元编程——代码生成

通过宏来自动生成代码,可以提高代码可读性,降低代码维护成本,减少重复代码输入。

2016-03-09 10:07:43 1565

原创 宏元编程——算数计算——ADD,SUB,MUL

TL_ADD和TL_SUB可以由基本数据结构TL_TUPLE,流程控制TL_WHILE和算数计算TL_INC,TL_DEC组合实现。TL_ADD实现如下:#define TL_ADD(p1,p2) TL_TUPLE_ELEM(0, \ TL_WHILE(TL_ADD_P,TL_ADD_OP,(p1,p2)) \ ) \#define TL_ADD_P(r, st

2016-03-08 16:05:49 820

原创 宏元编程——逻辑控制——实现循环二

之前在宏元编程粗略谈过宏的重入,即当宏在展开的时候遇到相同名字的宏会停止展开。但是在宏元编程很多情况下会遇到,看过

2016-03-08 15:05:13 540

原创 宏元编程——算数计算——INC,DEC

实现思路:宏展开无法在预编译期完成“真正”的算数计算,但是我们可以定义一张静态表,例如:遇到INC(5)就替换成 6,遇到DEC(8)就替换成7。TL_INC实现:#include "tl/cat.h"#define TL_INC(n) TL_CAT(TL_INC_,n) #define TL_INC_0 1#define TL_INC_1 2#define TL_INC_2

2016-03-04 17:40:42 515

原创 泛型算法——quick sort

网上讨论快排算法的文章很多,本文使用使用GP思想写了一个快速排序程序。#include #include #include #include #include templatebool quick_sort( typename Container::iterator begin, typename Container::iterator end, typename

2016-03-04 14:59:27 414

原创 宏元编程——数据结构——tuple元组

常用数据结构tuple 元组:(a,b,c,d...)array 数组:(n,(a,b,c,d...))seq 序列:(a),(b),(c),(d)...list 列表:(a,(b,(c,(d,TL_NIL))))tuple元组TL_TUPLE_ELEM(size, i, tuple)宏可以获取元组里的第i个元素

2016-03-02 18:06:14 532

原创 宏元编程——技术——变参宏

1,获取变参数宏的个数#define TL_VARIADIC_SIZE(...) TL_CAT(TL_VARIADIC_SIZE_I(__VA_ARGS__, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)#define TL_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, size,

2016-03-01 17:36:53 708

原创 宏元编程——逻辑控制——实现循环一

循环宏定义#define TL_WHILE(pred,op,state) while-bodypred是一个二元的宏形式是pred(d,state),当pred返回0的时候循环终止op是一个二元的宏形式是op(d,state),它返回值是state_newstate代表初始状态TL_WHILE宏的展开形式如下:op(d, ... op(d, op(d

2016-03-01 14:52:33 767

原创 宏元编程—逻辑控制——实现分支

分支宏定义分支宏定义成#define if(condition,t,f) if-bodycondition为1,if-body宏展开成tcondition为0,if-body宏展开成f定义两个辅助宏#define if_1(1,t,f) t#define if_0(1,t,f) f实现分支的思路就是想法根据conditon来把if(condition,t,f

2016-03-01 14:30:05 1094

原创 循环与递归

题目输入:n表示参数个数,p表示参数名称prefix输出:字符串p1,p2,......pn使用循环求解void print_args_by_iteration(int n, char* prefix) { char args[MAX_ARGS_LENGTH + 1] = {0}; for(int i = 0; i < n; i++) { if (i) {

2016-02-26 17:29:13 321

原创 宏元编程

宏元编程定义宏元编程目的是利用宏在展开时候的特性减少重复代码,提供更高层的编程抽象。宏的定义宏有两种形式,带参数和不带参数#define identifier replacement-list#define identifier(a1,a2,...an) replacement-list说明:宏的实参

2016-02-25 18:17:04 1475

原创 c++模板元编程

元数据编译期可以感知的常量,如整形,枚举型元函数meta_function_name::typemeta_function_name::type::value

2016-02-25 15:48:07 1578

原创 const关键字

const修饰引用1 int ival = 1092;2 int &re = ival; //ok3 int &re2 = &ival; //错误const修饰指针const修饰函数const修饰函数参数const修饰普通变量

2016-02-24 16:34:43 241

空空如也

空空如也

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

TA关注的人

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