c/c++/vc技术
文章平均质量分 52
lvxb_tiger
专注DirectUI界面解决方案,专注客户端程序架构
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
自定义脚本引擎 - 数组、字符串 分片操作
数组、字符串支持分片操作[start : end : step]与python不同,结果含end索引的数据,我认为它是一个闭区间。step为负数:倒序[:],[::] 深层拷贝[::-1] 倒序拷贝[:5] 从拷贝索引为0-5(含)元素[1:3] 拷贝索引从1到3(含)的数据[1:10:2] 间隔为2拷贝[3:-1] 从索引3开始拷贝所有的数据[3:] 从索引3开始拷贝所有的数据[3::-1] 从索引3开始,倒序取数据直到索引0(含)[:5:-1] 从最后一个,倒序取数据直到索引5(原创 2021-01-08 18:46:40 · 189 阅读 · 1 评论 -
自定义脚本引擎开发纪实 - struct的pack和unpack(注意与python的不同)
struct实际例子calcsize方法calc_offset_len方法unpack方法pack方法在处理网络数据时,比如tcp包字节流的时候,需要pack/unpack。这里采用的方式和python不同。设计的初衷是:在C/C++中对元素的访问和在脚本中保持一致。比如:c/c++代码//c/c++访问方式struct user{ char name[10]; int id;...原创 2019-05-10 19:11:46 · 537 阅读 · 0 评论 -
自定义脚本引擎 - 类示例demo
类的示例demo请求一个url,可以设置是否请求天气,广告,信息流的信息(url中有相应的参数字段),返回结果是json。下面代码是定义了一个类CQueryServer,构造函数有三个参数,分别对应上面的信息。原谅我把url改成了无效的类定义如下:class CQuerySvr url="http://xxx.xxx.xxx.xxx/popwnd/newa?&m2=" + js....原创 2019-04-09 12:51:10 · 411 阅读 · 0 评论 -
自定义脚本语言引擎开发纪实 - 类的嵌套
类的嵌套类的实现内部,可以再包含类的定义,称之为嵌套类类的实现内部,可以再包含类的定义,称之为嵌套类备注:访问嵌套类的全局变量,需要嵌套类的全路径,见下面的例子。class animal func __init__(self, type) self.type = type end func __del__(self) end class bird func __in...原创 2019-03-28 18:05:41 · 265 阅读 · 0 评论 -
自定义脚本语言引擎开发纪实 -类的继承(类似python)
类的继承单继承例子多继承(继承类似python)单继承例子class stature func __init__(self, height) self.height = height end func __del__(self) end func GetHeight(self) return self.height endendclassclass child(s...原创 2019-03-28 17:21:57 · 240 阅读 · 0 评论 -
自定义脚本语言引擎开发纪实 - 面向对象(class)
脚本定义类,语法借鉴了python定义类的语法构造函数__init__析构函数__del__类对象函数类变量(类全局变量)类函数(类全局函数)(第一参数不是self的就归为类全局函数)完整的自定义类实例定义类的语法class childendclass构造函数__init__ func __init__(self, name, age) self.name = name se...原创 2019-03-28 14:12:27 · 398 阅读 · 0 评论 -
自定义脚本引擎开发纪实 -前序
自定义脚本引擎开发纪实前序要实现的脚本引擎具有的特性缘由前序大家可能对JavaScript,VBScript,Python,Lua,Shell等脚本语言并不陌生,有时候也对Swift语言的特性表现出很大的兴趣。大家在乐此不彼的使用这些语言的时候,有没有想过要自己实现一个脚本引擎呢?(拜托,自己写的能跟那些成熟的比吗?!)话一点错没有,不过通过自己一步步实现一个引擎,从中可以学到不少的知识,也能...原创 2018-11-25 14:11:10 · 3488 阅读 · 2 评论 -
自定义脚本引擎开发纪实 - 调用第三方dll
调用framework和第三方开发的dll宿主语言相关这里根据C/C++编译器来说。对函数的调用有__cdecl,__stdcall 等等(其他的不列举了,因为目前只支持对这两种的调用,其他的还要花时间去实现)eg: 调用user32.dll的MessageBoxWret = js.dll.stdcall("user32.dll", "MessageBoxW", {&quo原创 2019-02-11 19:10:16 · 399 阅读 · 0 评论 -
自定义脚本引擎开发纪实 -逆波兰求值
@[TOC]自定义脚本引擎开发纪实第一章脚本语言的特点,咱们不再赘述了。自定义的脚本引擎还有许多亟待优化的地方,不过不碍我们讲解如何实现自定义脚本引擎。本人呢,代码水平很菜,肯定会出现很多的错误,大家发现了呢,可以随手在自己实现的过程中改了,顺带给我提个醒儿,这儿先谢谢您呐!同时呢,这个是优化前的代码,自己可以用更高效的方法改写,提高效率。下面会把自己当时写的验证demo,贴出来,那是我的...原创 2018-12-10 14:36:53 · 289 阅读 · 0 评论 -
UIPro实例讲解之QQ2014 UI模仿系列四
史上模仿QQ2014UI最像的一次,教会你如何开发QQ UI。QQUI的一切技术都有涉足!原创 2014-07-27 00:12:54 · 1031 阅读 · 0 评论 -
UIPro实例讲解之QQ2014 UI模仿系列五 - 聊天气泡
UIPro的宗旨是:让Windows UI开发像写小网页一样简单!猜测了下QQ的气泡模式的实现方法:分为两层,上面一层是windowless richedit, 透明模式;下面一层一个容器,包含有用户头像和气泡图片;下面一层随richedit一起滚动。添加每一个paragraph后,可以得到这个段落的rang的左上角和右下角,从而得到该paragraph所在的矩形区域rect。然后就在原创 2014-08-01 18:26:27 · 1499 阅读 · 0 评论 -
UIPro实例讲解之QQ2014 UI模仿系列一
UIPro的宗旨是:让Windows UI开发像写小网页一样简单!从高中时代开始,QQ一直伴随着我,一直觉得QQ的UI都是那么的漂亮,说实话,细节处理的真好。QQ自然成了我模仿的对象。一直想模仿,但手上缺少一个强大灵活的UI库,直到现在,UIPro的出现,才让我又拾起那个想法,编写这个QQCopy的demo。在该系列的最后一讲,会附上源码哦!UIPro的配置文件分为两个,一个是re原创 2014-07-22 11:53:04 · 990 阅读 · 0 评论 -
UIPro实例讲解之QQ2014 UI模仿系列二
UIPro的宗旨是:让Windows UI开发像写小网页一样简单!123阿飞啊飞啊原创 2014-07-22 13:25:05 · 661 阅读 · 0 评论 -
UIPro实例讲解之QQ2014 UI模仿系列三
UIPro的宗旨是:让Windows UI开发像写小网页一样简单!原创 2014-07-23 00:18:21 · 605 阅读 · 0 评论 -
UIPro 一个DirectUI库
UIPro 一个新的DirectUI库先贴出一个使用UIPro开发的一个模仿QQ的界面效果:【不需要编写代码,只需要写xml文件即可,使用相对布局】利用一些周末时间还有假期时间,写了一个DirectUI库,我取名为UIPro。1. 整个工程是以工厂模式展开,UI Control都是windowless,非窗口模式。2. 对库的编译控制,目前是通过宏开关进行的控制。一:目前实现...原创 2012-06-03 15:35:51 · 1853 阅读 · 1 评论 -
UIPro 实例讲解一 商业级手机快速检测平台
手机快速检测平台,是一个对插入USB链接电脑后的手机,进行病毒查杀,手机信息查询,手机APP管理的一个软件,界面简单明了,用UIPro开发起来也比较方便!闲话不再赘述,上图:一、手机未连接这是一个轮播图,共三页,要实现这样的界面,在ui.xml中编写如下:原创 2013-12-15 11:07:31 · 765 阅读 · 0 评论 -
new 、operator new 和 placement new 区别
<br /> 在我们阅读STL的代码的时候,经常会看到如下的代码:<br />template<class _T1, class _T2> inline<br /> void _Construct(_T1 _FARQ *_P, const _T2& _V)<br /> {new ((void _FARQ *)_P) _T1(_V); }<br /> <br />这个new ((void _FARQ *)_P) _T1(_V); 好奇怪啊,如果我们调试进去,回看到如下的实现:<br />#ifndef转载 2010-10-26 17:59:00 · 1360 阅读 · 1 评论 -
Using Windowless RichEdit Controls
<br />概要:这是一片入门的文章,想做IM的无句柄聊天框,这只是一个很好的起步。Using Windowless RichEdit Controls By David Kinder | 10 Oct 2006 How to use the windowless RichEdit control, one of Microsoft's less well-documented APIs.Introduction<br />Windowless controls have been around sinc转载 2010-07-28 14:03:00 · 2140 阅读 · 0 评论 -
LocalAlloc,VirtualAlloc,malloc,new的异同
1. 首先我们来看HeapAlloc:<br />MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的 空间利用起来,从而导致分配失败),该分配方法是从一指定地址开始分配,而不像GloabalAlloc是从全局堆上分配,这个有可能是全局,也有可能是 局部。函数原型为:<br />LPVOID<br />HeapAlloc(<br /> HANDLE hHeap,<br /> DWORD dwFlags,<转载 2010-07-27 12:56:00 · 1536 阅读 · 0 评论
分享