首页原创精华区最新随笔(rss)

共3页: 1 2 3 更多 

再议c++的面向对象能力之上

     摘要: C++的面向对象设计能力,与java,C#这两个杂碎相比,一直都是一个大笑话,现在谁敢正儿八经地用c++搞面向对象的框架系统,业界都用java、C#搞设计模式,那关C++什么事情了。而C++也很有自知之明,很知趣,98年之后,就不怎么对外宣称自己是面向对象的语言,就不怎么搞面向对象研究了(难道是c++下的面向对象已经被研究透彻?),一直在吃template的老本,一直到现在,template这笔丰...  阅读全文

2017-07-11 11:56 作者: 华夏之火【评论:3】【阅读:491】 

stl的抽象缺陷终结

     摘要: 古龙说过,一个人的最大优点往往将是其致命的弱点。这句话用在stl的迭代器上,最是合适不过。stl通过迭代器来解耦容器与算法,可谓击节赞叹;但是,让迭代器满世界的到处乱跑,未免就大煞风景。此话怎讲? 其实,有些语言就没有迭代器的概念,并且还活得很优雅,好比haskell的list啊、tree啊,压根就不需要什么迭代器,只需要模式匹配,体现其数据结构的递归特点,就可以很优雅地表达算法。就是java、...  阅读全文

2017-07-10 18:30 作者: 华夏之火【评论:0】【阅读:408】 

stl的缺陷抽象不足

     摘要: 总的来说,stl整个的设计还是很有水准的,抽象度非常高,采用泛型template手法,回避面向对象里面的虚函数,回避了继承,做到零惩罚,达到了非侵入式的要求(非侵入式远比侵入式要好,当然设计难度也更高出许多)。高性能、可扩展,容器提供迭代器,而算法则作用在迭代器上,容器与算法之间通过迭代器完全解耦,同一种算法可用于多种容器,只要该容器的迭代器满足其算法的要求;而同一个容器,又可被多种算法操作。更重...  阅读全文

2017-07-09 11:35 作者: 华夏之火【评论:5】【阅读:423】 

非完美的stl

     摘要:        C++类库开发之难,举世公认,最好的证据就是,1983年到现在,面世几十年,就没有一个正儿八经的基础类库。是啊,零惩罚,要高性能,要跨平台,要可扩展,要人性化,又没有垃圾回收的支持,又没有运行时类型信息可用,……,这些方方面面的因素纠结在一起,就好像一个巨大的意大利面线团,真的是众口难调至极。相比C#...  阅读全文

2017-07-07 16:52 作者: 华夏之火【评论:6】【阅读:513】 

Golang 热更新研究笔记

     摘要: 本文主要研究游戏服务器带状态的热更新需求 http的无状态热更新需求已经有成熟方案, 故不在本文描述范围基本概念Golang的热更新采用什么机制?使用go1.8提供的plugin包机制实现plugin包本身设计的目的是热更新么?plugin包其实只是支持将代码分别编译为多个动态库,动态加载后运行 并不能完全支持类似C/C++的动态库方式处理代码带状态的进程热更新的基本概念及范围是什么?数据部分(m...  阅读全文

2017-07-06 12:47 作者: 战魂小筑【评论:0】【阅读:1478】 

vc内存地址填充

     摘要: 0xcdcdcdcd - Created but not initialised0xdddddddd - Deleted0xfeeefeee - Freed memory set by NT's heap manager0xcccccccc - Uninitialized locals in VC6 when you compile w/ /GZ0xabababab - Memory follow...  阅读全文

2017-07-06 11:33 作者: C++技术中心【评论:1】【阅读:357】 

[转贴]程序媛不如程序员?看看这些高颜值的技术大神

     摘要: 本文不是为了让读者去评判这些程序媛的颜值,而是为了让大众知道,在代码背后,也存在这样一群女性,她们利用自己的技术战胜了世人的偏见,用自己的实力赢得了如今的地位。在这个男性统治的数字世界,她们的成就尤为不易。未来,应该有更多的程序媛,而不是程序员鼓励师。  阅读全文

2017-07-06 11:03 作者: 冬瓜【评论:0】【阅读:456】 

评楼下的:完备的运行时类型信息

C++语言做为一个计算机语言,无可厚非的可称为最牛的语言之一。每种语言都有其应用场景。对于反射,运行时类型,其实也只是C#和java这种语言需要的多,而这种语言应用场景和C++是不重叠的。如果强用C++写这些场景的应用,我只能说,哭吧,不是罪。
现在大量的应用,都开始使用更轻量的级的语言了,如javascript,go,swift,lua等。这些语言,也同样没有反射,只提供了少量的运行时信息,但用他们开发起来,比C#和java要轻很多。现在很多手机端app,你则可以很轻松实现,而用java或Objective C,则是各种苦恼!
所以,当 华夏之火吐糟C++的时候,你知道有多少人在吐糟java和C#吗?如果说起php是最好的语言,你服吗?

C++的String和STL相比C#和java确实要差一些,早期版本的STL库还非常难读,还很多个版本实现。但是java和C#这些库比起javascript,lua等语言重很多了。

所以具体的开发,还是选择合适的语言,这样开发,才能呵呵。在各自的应用场景,其实是不能相互替代的。

2017-07-05 16:16 作者: 冬瓜【评论:0】【阅读:337】 

完备的运行时类型信息

     摘要: 众所周知,码猿写代码,自然要求严谨周密,殊不知想象力也很重要。本座阅码几十年,很是感概很多码猿的脑洞被大大禁锢,鲜有人能越雷池一步,特别是c++的同学,连同委员会的那一坨老头子,都很让人无语至极,出自这些人的作品,都是一个死鱼眼睛样子,千人一面,毫无灵动之生趣可言。stl,boost这些库都是这样子(虽然它们确实可以完成大多数日常任务),更别说其他的库,没有什么让人耳目一新之处。就说说动态类型信息...  阅读全文

2017-07-05 11:45 作者: 华夏之火【评论:1】【阅读:407】 

预处理之正整型

     摘要:       虽然通过一系列的奇技淫巧,让预处理也图灵完备一把,但是用预处理来做计算,真的很吃力不讨好。因为预处理一开始设计出来的目的,就没什么野心,原本就仅仅只是为了做简简单单的文本替换工作,并没有想过要成为正儿八经的编程语言,即便是最最缩水版脚本语言的功能要求都达不到。只是后来,实在是大量要求要批量自动生成代码,特别是c++11之前的版本玩什么模...  阅读全文

2017-07-04 14:21 作者: 华夏之火【评论:0】【阅读:309】 

Split Shape by Plane in OpenCASCADE

     摘要: Split Shape by Plane in OpenCASCADE eryar@163.com Abstract. Sometimes you want to split a shape by plane or even split a shape by a B Spline surface, OpenCASCADE provide a feature class BRepFeat_Split...  阅读全文

2017-07-01 12:21 作者: eryar【评论:0】【阅读:654】 

c++函数throw()

     摘要: #define _NOEXCEPT throw ()shared_ptr<_Ty> lock() const _NOEXCEPT它是函数提供者和使用者的一种君子协定,标明该函数不抛出任何异常。之所以说是君子协定,是因为实际上内部实现是需要人肉确保。 如果一个标明throw()的函数内部发生了throw:1,如果内部直接throw something,编译器会发现并指出;2. ...  阅读全文

2017-06-30 16:28 作者: C++技术中心【评论:0】【阅读:389】 

酷派 全魔王 8298-M02 ROOT

酷派 全魔王 8298-M02用于测试的手机,需要root,试了7兔,kingroot,百度root,root精灵,最后在完美root这个工具root成功了。
这手机,还不错,算是性价比非常高的手机了,在京东618的时候,以389入手。由于活动的原因,今天才收到。

看到很多人也在求root,在这里发一贴,希望对root的人有帮忙了。不过,这手机,真的不错,超值了。可以确定比某米4A强!质量也比它的好。我去酷派官网看了一下,原价是1299的,哈。

另:完美root好像已经停止进展了~~~


补充:这个手机,居然还送一年乐视会员!太强了

2017-06-26 16:03 作者: 冬瓜【评论:0】【阅读:363】 

centos 7.x下,安装vscode

     摘要: 对于vscode,已经更新到1.13了,更新的好快啊。有的时候,需要在Linux下面工作,所以我选择了centos 7.x废话一下ubuntu,最新17.04,我试装过不少版本(虚拟机下),最后就一个字卡。所以,每次都果断放弃了。反过来说,centos 桌面,虽然很多东西不是很新,但是在虚拟机下,它一点都不卡。centos 7.x的GUI也非常不错。对于怎么安装vscode,参考官方的https:...  阅读全文

2017-06-20 09:43 作者: 冬瓜【评论:0】【阅读:408】 

centos 6.x下安装nodejs

     摘要: centos 安装nodejs主要有两种方式,一种是源码,第二种是二进制安装。 Linux系统一般来说,不追求新,而是追求稳定。centos 下的软件往往不是最新的,却是相对比较稳定的。我想这也是我们很多人选择centos的原因。(最重要的一点,是用习惯了centos或rhel)现在Node.js已经8.1.2的,发展很快。如果用源码编译至少需要gcc 4.8.x或clang 3.xx,...  阅读全文

2017-06-20 09:43 作者: 冬瓜【评论:0】【阅读:353】 

EA类的关系

     摘要: Enterprise Architect中定义的关系主要有一下几种:●Associate(关联):类之间有关联,通常是作为变量存在;●Aggregate(聚合):类A包含类B或由类B组成;●Compose(组合):类A是由其他类组成;●Dependency(依赖):类A需要类B的协助,类B变化会影响类A,反过来不成立;●Generaliz...  阅读全文

2017-06-19 10:34 作者: C++技术中心【评论:0】【阅读:303】 

GLUT Trackball Demo

     摘要: GLUT Trackball Demo eryar@163.com 1.Introduction 在三维场景中建立模型后,为了方便用户从各个角度观察模型,从而需要对三维视图进行控制。常见的视图交互控制方式有:Trackball控制器、飞行控制器,还有三维游戏常用的第一人称控制器。这些视图控制器的根本是对模型视图矩阵MODELVIEW进行变换。 Trackball控制器以一种用户友好的交互方式来变换...  阅读全文

2017-06-07 23:01 作者: eryar【评论:2】【阅读:520】 

三维电梯仿真软件开发3D

3D电梯仿真软件开发

eryar@163.com

电梯原理图如下:

1.本系统的电梯模型模拟三层楼,当轿厢系统上升(下降),重量平衡系统下降(上升),顶部的曳引系统则类似一个轮轴,要不停的旋转顺时针(逆时针),当电梯到达指定楼层时,轿厢的门能开关。因此现阶段的动画要求是实现轿厢系统上下运动、重量平衡系统上下运动、曳引机的旋转和轿厢门的开关动画。

2.所提供的三维模型展示窗口应提供三维视角的转换功能,通过 鼠标滚轮的操作实现放大或缩小,类似于镜头的拉升或推进,通过鼠标的拖拽操作,可以改变视角位置,调整三维模型展现的方式如仰视或俯视等。当鼠标从左向右平行拖拽时,电梯模型应该是绕纵轴旋转。

3.程序接口设计的初步要求:

3.1采用dll的调用方式

将三维仿真模型封装成ActiveX dll,可由delphi调用,基本要求是在delphi的窗口中放置一个控件(即该dll),能马上显示三层楼的电梯模型,并采取默认视角观看,在该三维模型的显示区域通过鼠标的拖拽和滚轮的滚动实现上述的功能2,即该功能内置到dll中。

实现效果如下图所示:

2017-06-02 23:27 作者: eryar【评论:0】【阅读:762】 

游戏服务器相关讨论(转)

     摘要: 服务器结构探讨 -- 最简单的结构   所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。   好的结构不是一蹴而就的,而且每个设计者心中的那把尺都不相同,所以这个优秀结构的定义也就没有定论。在这里,我们不打算对现有游戏结构做评价,而是试着从头开始...  阅读全文

2017-06-02 14:08 作者: C++技术中心【评论:0】【阅读:632】 

C++Builder 10.2编译android应用问题解决

     摘要: 版权声明:本文为zdhsoft博主原创文章,未经博主允许不得转载。因为装了Android studio 2.3 所以就默认安装了android sdk和NDK,用的NDK的版本是r10d x64。在安装RAD Studio的时候,就没有选择安装android的sdk和NDK,然后,用C++Builder创建MultDevice工程 ,编译为android目标就报如下错:问是是arm-Li...  阅读全文

2017-06-01 21:20 作者: 冬瓜【评论:0】【阅读:400】 

试用Embarcadero® RAD Studio 10.2

     摘要: 版权声明:本文为zdhsoft博主原创文章,未经博主允许不得转载。N久没有碰C++Builder,虽然他给了一个注册码,基本版的,但是一想我XE6,XE7的时候,那个版本,对于我128G的C盘都觉得不够,反正装完就少了几十个G,C盘提示一下就变红了有没有。今天想看看,于是下载了一个10.2版本,下载地址:http://altd.embarcadero.com/download/radstudio/...  阅读全文

2017-06-01 21:19 作者: 冬瓜【评论:0】【阅读:384】 

Appium输入慢的原因分析

     摘要: 使用appium输入中文,发现好慢!至少5秒以上,如果在这样的情况下做测试,这就好悲剧了。 从appium(1.6.3)代码上来看,没有什么问题,直接是通过boostrap的setText的方法。说是就下载了appium-bootstrap的代码看,从这里开发找到的代码,都是java的代码,找到 io.appium.android.bootstrap.handler.SetText&nb...  阅读全文

2017-05-27 17:35 作者: 冬瓜【评论:0】【阅读:523】 

dimradius by AutoLisp in AutoCAD

     摘要: dimradius by AutoLisp in AutoCAD eryar@163.com 最近在开发一个自动出图程序,从PDMS模型中取数据后,经过处理生成AutoCAD的图纸。其中涉及到一个问题就是如何尽量使程序与AutoCAD低耦合,尽量不使用第三方库的情况下,实现数据的传递。 最开始想到是用ODA(Open Design Alliance)的DWGdirect库来直接生成DWG文件,并且...  阅读全文

2017-05-18 21:33 作者: eryar【评论:0】【阅读:593】 

QCustomPlot和Qwt的融合

     摘要: QCustomPlot和QWt各有千秋前者偏轻,但是功能有点弱了,可以修改QCustomPlot增加Qwt的一些模块和类如下 代码为QComstomPlot使用QwtText的例子Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class Q...  阅读全文

2017-05-15 13:16 作者: ccsdu2009【评论:0】【阅读:769】 

centos安装youcompleteme及简单使用

     摘要: -.YoucompleteMe还有很多强大的功能,有兴趣可以继续探索。我们需要以下几步 先检查一下自己的虚拟机中是否有安装python,用vim试一下1 :echo has('python') 如果得到结果为1 就说明有(其实有没有都无所谓,再执行一遍安装命令绝对没错) yum install python  安装vundle,vundl...  阅读全文

2017-05-08 09:47 作者: hello wold!【评论:0】【阅读:873】 

AVEVA PDMS to 3ds Max - RvmTranslator6.0beta

     摘要: AVEVA PDMS to 3ds Max - RvmTranslator6.0beta eryar@163.com RvmTranslato6.0 translate PDMS RVM to 3ds Max by MAXScript. The MAXScipt is like the PML of PDMS. MAXScript can be used as a high-level scene...  阅读全文

2017-05-07 21:47 作者: eryar【评论:0】【阅读:707】 

QCustomPlot显示HTML

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class HTMLLayer : public  QCPLayerable{    Q_OBJECTpublic...  阅读全文

2017-05-06 11:11 作者: ccsdu2009【评论:0】【阅读:725】 

[Unity3D]浅谈游戏代码保护

     摘要: 最近公司有涉及到这方面的问题,于是乎做了个简单的总结。  阅读全文

2017-05-04 22:55 作者: l1989【评论:0】【阅读:1062】 

Bounding Volume Hierarchy BVH in OpenCASCADE

     摘要: Bounding Volume Hierarchy BVH in OpenCASCADE eryar@163.com Abstract. Bounding Volume Hierarchy(BVH) organizes geometric objects in the tree based on spatial relationships. Each node in the tree contai...  阅读全文

2017-05-03 22:50 作者: eryar【评论:0】【阅读:613】 

Red Black Tree in C#

     摘要: Several weeks ago, I tried hard to search an implement of balance binary tree in C#,  what i needed was something like std::set<key, comparator> in C++: the data should be sorted, can be in...  阅读全文

2017-04-29 05:02 作者: brent【评论:0】【阅读:446】 

共3页: 1 2 3 更多 

技 术 改 变 世 界

网站分类

统计信息

聚合

Blog客户端API

推荐客户端

博客排行榜[前50人]