自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大坡3D软件开发

自主操作系统和CPU--用软件和芯片来改变世界

  • 博客(24)
  • 资源 (33)
  • 论坛 (34)
  • 收藏
  • 关注

原创 第二人生的源码分析(九十八)LLIconCtrl实现图标按钮显示

在前面已经介绍过文字按键的实现,这里主要实现一个图标按钮的实现,如下图里右下角显示的喇叭显示和向上选择的按钮,都是图标显示类型的按钮。 先来看图标按钮类的继承关系,如下:class LLIconCtrl: public LLUICtrl由这里可以看到LLIconCtrl类是控件类,它可以显示在界面上面。下面来看它的实现代码:#001 class LLIconCtrl#0

2008-06-30 21:17:00 3090

原创 第二人生的源码分析(九十七)LLSlider实现音量滑动条

由于第二人生是多媒体的程序,因此它有音乐播放和语言聊天,那么就得使用到一种滑动条来调整音量的大小,如下图所示: 那么这个音量滑动条是怎么样实现的呢?下面就来详细地分析它的实现代码,先来看看它的类继承关系,如下:class LLSlider : public LLUICtrlLLSlider类只继承LLUICtrl类,那么说明它拥有控件类的功能,能在界面上面显示出来。它的详细显示代码

2008-06-22 23:16:00 5754 2

原创 第二人生的源码分析(九十六)LLMenuItemGL实现菜单的显示

在第二生里,菜单是缺少不了的。菜单提供了简单层次关系的一种表达方式,方便表达复杂的层次关系,并且方便写说明书,方便售后服务人员的描述,方便培训。因此,在一个程序没有菜单,往往带来很多不方便的地方。登录界面的菜单如下图: 从上图可以看到File、Edit、Help几个菜单,那么它是怎么样实现的呢?下面就来分析相关的代码。下面先来看菜单定义的继承关系:class LLMenuItemG

2008-06-20 23:12:00 2738

原创 第二人生的源码分析(九十五)LLCheckBoxCtrl类实现复选按钮

在第二人生的登录界面里,可以看到输入密码的下面有一个复选按钮,如下图所示:这个按钮在这里主要用来设置是否帮助用户保存密码在磁盘里的,这样可以使用户每次不用输入密码,就可以登录进去。那么这个按钮是怎么样实现的呢?现在就分析跟这个相关的代码,它的继承代码如下:class LLCheckBoxCtrl: public LLUICtrl可见LLCheckBoxCtrl类也是控件类来的,

2008-06-19 23:35:00 4021

原创 第二人生的源码分析(九十四)LLTextBox类实现文本显示

在登录的画面里,可以看到程序的版本显示,那么它是怎么样显示出来的呢?现在就来分析显示这个版本号的代码,其实它是由静态文本显示框LLTextBox来显示的。比如在登录时创建版本显示的代码如下: 这里就是创建静态文本框。#001 LLTextBox* version_text = LLUICtrlFactory::getTextBoxByName(this, "version_text")

2008-06-18 23:04:00 3478

原创 第二人生的源码分析(九十三)LLComboBox类实现组合框

在第二人生里,从登录的界面可以看到一个组合框,就是选择不同服务器的组件,它就使用到组合框了。其实组合框是由按钮、滚动列表框和编辑框组成的。它的继承关系如下:class LLComboBox:    public LLUICtrl, public LLCtrlListInterface同样它也是一个控件类,继承了基类LLUICtrl。从LLComboBox类的声明里,可以看到下面这段代码

2008-06-17 22:42:00 2926

原创 100元的C++软件开发培训班

 C++软件开发培训(2008-6-16) 1、培养目标l         程序设计入门,懂得怎么使用C++编写简单程序。l         掌握程序设计方法,领会面向过程、面向对象和模板的程序设计。l         熟练地使用C++解决问题。l         每个人看懂1000个例子源码。2、提供的服务l       提供180课学习资料。l   

2008-06-16 23:57:00 15818 47

原创 第二人生的源码分析(九十二)LLLineEditor实现编辑框

在基于GUI界面的软件交互时,最基本的输入就是编辑框了,比如下图里输入的用户名称和密码,在游戏界面的编辑框里输入文字是一个高技术难度的问题,因为Windows输入法调用,也是难点之一。 那么在第二人生里的用户名称和密码的编辑框是怎么样实现的呢?现在就来分析这部份的代码,它的类继承关系如下:class LLLineEditor: public LLUICtrl, public LLE

2008-06-16 21:57:00 4068

原创 第二人生的源码分析(九十一)LLScrollListCtrl列表的详细绘制

从前面可以看到怎么样绘制滚动列表框的代码,但在那个函数里面还调用一个函数drawItems来详细地绘制列表项的,现在就来分析这个函数的代码,如下:#001 void LLScrollListCtrl::drawItems()#002 { 计算左上角显示的位置。#003    S32 x = mItemListRect.mLeft;#004    S32 y = mIte

2008-06-15 21:04:00 3028

原创 第二人生的源码分析(九十)LLScrollListCtrl实现列表显示

在第二人生的UI显示里,滚动列表也使用比较多的,由于多项列表选择的情况下,使用滚动列表往往使用界面使用起来更方便实用。如下面的登录界面,就有使用到滚动列表的控件: 从上图里可以看到最右边使用到一个滚动列表来显示不同的服务器,这样方便用户选择不同的服务器登录。那这个滚动列表是怎么样实现的呢?接着下来就分析这个类的代码,类的继承关系如下:#001 class LLScrollListCtr

2008-06-14 21:41:00 2404

原创 第二人生的源码分析(八十九)从XML里创建LLButton

在第二人生里,很多界面的创建是基于XML文件来创建,比如前面提到的登录界面。在一个界面里由很多类型组件组成的,这里就介绍其中最常用的组件是按钮组件了。比如登录界面的连接或者退出按钮,都是从XML里分析出按钮的类型,然后创建按钮的。下面就来分析一下LLButton的XML处理代码,如下:#001 LLView* LLButton::fromXML(LLXMLNodePtr node, LLVie

2008-06-13 22:25:00 2091

原创 第二人生的源码分析(八十八)LLButton类显示按钮的名称

前面介绍按钮可以显示在窗口里,以及这个类的声明,现在来仔细地分析一下它是怎么样实现名称显示的。在构造函数里先保存传送入来的名称,如下:#001    mUnselectedLabel = unselected_label;#002    mSelectedLabel = selected_label;#003  从类声明里可以看到mSelectedLabel和mUnsele

2008-06-12 22:31:00 4208

原创 第二人生的源码分析(八十七)LLButton类实现按钮功能

在前面介绍了登录过程的界面里有一个退出按钮,如果当用户不想登录时,就可以随时按这个按钮退出登录的过程,它的界面如下面,那么这个按钮是怎么样实现的呢? 从上图右下角可以看到Quit按钮,它的功能实现是由类LLButton来实现的,这个类的声明如下:#001 class LLButton#002 : public LLUICtrl#003 {#004 public: 按

2008-06-11 20:47:00 2820 1

原创 第二人生的源码分析(八十六)LLView类添加子窗口显示

前面已经介绍怎么样遍历子窗口显示,那么它的子窗口是怎么样添加到列表里的呢?下面就来仔细地分析这方面的代码,如下:#001 void LLView::addChild(LLView* child, S32 tab_group)#002 { 如果添加自己到子窗口里提示出错。#003    if (mParentView == child) #004    {#005    

2008-06-10 21:20:00 2418

原创 第二人生的源码分析(八十五)LLView实现OpenGL窗口显示

由于OpenGL只是负责显示3D的内容,并没有相应的UI实现,因此第二人生里就采用类LLView来实现一个窗口的显示,在这个窗口里可以显示任何其它的窗口,达到递归显示窗口的内容。下面就来仔细地分析它的显示函数,如下:#001 void LLView::draw()#002 { 如果设置调试窗口显示,就显示调试窗口。#003    if (sDebugRects)#004  

2008-06-09 20:48:00 3458 1

原创 第二人生的源码分析(八十四)保存UI的界面布局

前面介绍都是怎么样创建UI界面,这显然是在程序启动时需要做的工作,但是当用户改变了界面的布局之后,或者添加一些显示界面之后,就需要把它们保存起来,以便用户所有的变化在程序关闭之后仍然保存起来,然后在程序再次启动之后再从XML文件加载出来。下面就来看看第二人生里这段代码的实现,如下:#001 S32 LLUICtrlFactory::saveToXML(LLView* viewp, const

2008-06-08 11:24:00 2683

原创 从2008高考人数想到的软件人才

今天无意间看到下面这段新闻报道:“2007年全国高考报名人数首次突破1000万,达到1010万;2008年,这个纪录将被再次刷新。在今天召开的2008年全国普通高校招生考试工作电视电话会议上,教育部部长周济表示,今年高考人数和录取人数都将进一步增加,组织管理工作压力大,社会环境日趋复杂,高校招生考试面临的形势十分严峻。必须进一步严格管理,确保高考安全顺利进行。据悉,今年全国普通高校本专科招生计划为

2008-06-07 19:40:00 17044 112

原创 第二人生的源码分析(八十三)创建UI的菜单

从前面看到,不但窗口和显示板可以通过XML定制,而菜单也可以通过XML文件来定制的,那么菜单的定制又是怎样读取XML文件的呢?到底它又会产生什么样的对象来执行菜单呢?下面就来解决这两个问题,代码如下:#001 LLMenuGL *LLUICtrlFactory::buildMenu(const LLString &filename, LLView* parentp)#002 {#003

2008-06-07 18:13:00 2628 1

原创 第二人生的源码分析(八十二)创建UI的浮动窗口(floater)

上一次介绍了显示板的创建,这里来介绍创建浮动窗口。浮动的窗口可以显示在显示板之上,并且可以放在显示窗口不同的位置,也就是方便用户布局这个窗口在那里显示,比如聊天窗口,就可以放大,并且调整到合适的位置。下面就来分析创建浮动窗口的代码,如下:#001 void LLUICtrlFactory::buildFloater(LLFloater* floaterp, const LLString &fi

2008-06-06 21:00:00 2168 1

原创 第二人生的源码分析(八十一)创建UI的显示板(Panel)

在第二人生里,UI部分主要有三种大组件组成:显示板、浮动窗口、菜单。显示板是固定在窗口里面,上面可以放浮动的窗口。像登录的界面,就是一个显示板组成,那么它是怎么样实现的呢?现在就分析下面这段代码,如下:#001 BOOL LLUICtrlFactory::buildPanel(LLPanel* panelp, const LLString &filename,#002           

2008-06-05 21:09:00 3381

原创 第二人生的源码分析(八十)界面语言的选择

随着全球化的发展,地球变得平坦了。我有一个同事现在还在美国ORACLE进行学习,说明软件是真正的无国界产品。那么在第二人生里,到底是怎么样实现多语言的支持呢?带着这个问题来分析下面一段代码,如下:#001 void LLUICtrlFactory::setupPaths()#002 { 获取UI资源所在目录路径,比如:F:/secondlife/linden/indra/newvi

2008-06-04 20:51:00 3302

原创 第二人生的源码分析(七十九)UI控制的类工厂

在游戏的程序里,界面的实现往往是比较复杂的。因为在游戏里,没有WINDOWS的组件可以使用,也没有其合适的组件可以使用,所有界面的显示都需要从最原始的方式来实现,这样工作量非常庞大。下面就来分析第二生里实现UI的类厂,它的声明代码如下:#001 class LLUICtrlFactory#002 {#003 public: 构造函数。#004    LLUICtrlFact

2008-06-03 21:15:00 2423

原创 第二人生的源码分析(七十八)LLOSInfo类实现获取操作系统信息

由于信息产业在不断地发展,特别像电脑里的操作系统更是更新不断。比如Windows系统,就有WIN NT、Win2000、WIN XP、WIN SERVER等等。下面就来分析这个类的声明代码:#001 class LLOSInfo#002 {#003 public: 构造函数。#004    LLOSInfo(); 把操作系统信息写到流对象。#005    voi

2008-06-02 20:57:00 2923 1

原创 第二人生的源码分析(七十七)CProcessor类实现获取CPU信息

在这个世界上,是多姿多彩的好,还是单一简单的好呢?做事情当然是越简单越好,但在我们去买商品时,又想越多选择越好。如果某种产品只有一家选择时,这显然是垄断性的产品,其售价也必然是高高在上的。在IT信息领域里,最重要的CPU芯片厂家就有两家:Intel和AMD。因此,我们需要获取CPU的信息,用来区分这两家CPU的技术差别,就算是同一家的CPU也存在不同版本的技术区别。只要在存在差别,软件就要比较复杂

2008-06-01 10:20:00 3248 4

C++读写json文件

https://github.com/nlohmann/json 最好用的C++读写json库

2017-12-09

python抓取天气并分析 实例源码

Python代码抓取获取天气预报信息源码讲解。这是一个用Python编写抓取天气预报的代码示例,用python写天气查询软件程序很简单。这段代码可以获取当地的天气和、任意城市的天气预报,原理是根据url找到网站截取相应的数据展现。 python抓取广州天气并分析 实例源码

2017-08-28

国产8051模拟器

一款国产的8051模拟器(全部源代码) 本软件是一款8051模拟器,他的特点是可以模拟多处理器平台,在简单的多工作区间的界面上可以很方便的模拟8051处理器, 最重要的是这个单片机系统可以完全由你自己订制,你甚至可以随意创建自己的多单片机系统,什么SMP 基于串行总线的分布式系统,集群式系统,只要你能想到的,都可以办到,充分发挥你的想象力。现在1.0版本已经基本体现出了这种思想,在以后的版本中将使这一特性变的 更加强大!

2016-09-10

python web py入门配套源代码

python web py入门- 实现论坛,开发技术:后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS。

2018-02-23

milang 1.0.5

本项目主要开发 学习 讨论小语 milang 编程语言 它是以python语法为基础 然后改进它语法 增加直接生成机器码 混合C++的优点 增加基于寄存器的虚拟机实现

2014-08-03

milang 1.0.4

本项目主要开发 学习 讨论小语 milang 编程语言 它是以python语法为基础 然后改进它语法 增加直接生成机器码 混合C++的优点 增加基于寄存器的虚拟机实现

2014-07-13

milang 1.0.3

本项目主要开发、学习、讨论小语(milang)编程语言,它是以python语法为基础,然后改进它语法、增加直接生成机器码,混合C++的优点,增加基于寄存器的虚拟机实现。

2014-06-07

Milang 1.0.2

本项目主要开发、学习、讨论小语(milang)编程语言,它是以python语法为基础,然后改进它语法、增加直接生成机器码,混合C++的优点,增加基于寄存器的虚拟机实现。 代码下载和上传见: https://code.csdn.net/caimouse/milang

2014-06-02

milang开发工具

组合了notepad和python 3.4的开发工具,可以集编辑和运行、结果查看为一体。

2014-05-24

svm_hog_data.rar

使用到LineSVC里进行机器学习的训练数据,用来训练手写识别。 配套专栏文章使用,https://blog.csdn.net/caimouse/article/details/104599920。

2020-03-02

实现numpy的C++库扩展

使用C++来扩展numpy里的数据计算,这时就需要使用numpy的扩展库功能了,下面就来提供一个使用C++编写numpy扩展库的模板,这样大家就要减少很多弯路,减少跌入坑里的成本。这个扩展库的模板是从mahotas库里抽取出来的,经过最大化的简化,这样更加容易理解,更方便学习。

2019-11-24

STM32F407VET6工程模板

玩转STM32里文章配置的代码,这里学习的第一个工程代码,可以作为后继开发的模板工程。

2019-03-14

webpy演示例子1

webpy演示例子1, 用于配套文章相关资源。python web py入门(9)- 论坛首页的模板中模板 前面已经提到一个模板中可以套用另外一个模板,现在就来看看这个论坛基本布局模板是怎么样的?

2018-02-21

胶囊模型的代码

胶囊模型的代码在以下论文中使用: “Dynamic Routing between Capsules” by Sara Sabour, Nickolas Frosst, Geoffrey E. Hinton. 要求 TensorFlow ( 访问 http://www.tensorflow.org 了解如何安装和升级) NumPy (详见http://www.numpy.org/) GPU

2018-02-02

wix3.11版本安装工具

wix3.11版本安装工具

2017-06-19

WiX3.10版本安装工具

WiX3.10版本安装工具

2017-06-19

GOOGLE的TPU论文

GOOGLE公开TPU的论文

2017-04-06

深度强化学习论文

DQN的论文

2017-03-17

书《深度学习》

2015年,深度学习三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在最新的《Nature》杂志首次合作的发表综述文章《Deep Learning》。本文为该综述文章的中文译文,深入浅出地介绍了深度学习的基本原理,核心优势和未来展望。

2017-03-13

手写识别的训练数据

MNIST训练数据

2017-03-10

俄罗斯方块游戏开发

俄罗斯方块游戏开发培训里的可执行文件,让大家可以查看相关的结果。以便是否参加培训。

2016-11-30

duilib界面库20161116

更新为VC2015编译的duilib,持续重构代码,使用最新的C++14的语法。

2016-11-16

duilib界面库20161017

duilib 界面库

2016-10-17

duilib界面库

duilib界面库,长期维护的界面库,在WIN10和VS2012上编译和开发、测试通过。

2016-10-10

mysql开发管理工具

mysql数据库的开发管理工具。

2016-07-12

mysql-5.5.50-64

windows下的64位MYSQL的版本。

2016-07-10

python-3.4.4

python 3.4的32位的windows版本

2016-07-01

tinyxml2配套源码

在软件开发过程中,为了使软件有灵活的配置,特别像界面这样的配置,同时为了减轻重复开发的任务,需要把客户的个性化需求可以通过配置文件来修改,比如像界面的颜色配置,就可通过配置文件来修改,这时就可以采用XML文件来保存和修改这些参数配置。在不同软件之间进行通讯时,也可以采用XML协议来进行数据交换,特别像WEB服务的调用时,采用传送XML格式是基本的数据交换方式。基于这些任务的需求,需要软件开发人员会在C++里使用xml格式。

2016-06-27

protoc2.5执行文件

protoc执行文件

2016-06-24

protobuf 2.5

protobuf 2.5库代码和工具

2016-06-24

selenium的浏览器驱动

目前有很多的银行网站,还是以IE为标准的浏览器,因此这里主要采用IE为测试的例子,在这里可以下载不同版本的浏览器驱动,可以是32位的,也可以是64位的,根据自己的需要下载不同的版本。在本文章里,下载的是2.35.3版本:IEDriverServer.exe,把它放在目录f:\temp\里面。

2016-06-14

WIX制作C#应用程序安装包

WIX制作C#应用程序安装包

2016-05-26

pythoncn-3.4.3

1. 使用VS2012编译。 2. 修改在VC11.0的库下运行pythonw.exe出错误的BUG。

2015-05-04

caimouse的留言板

发表于 2020-01-02 最后回复 2020-05-14

开发大联盟,VC人员开放大聚会

发表于 2001-11-05 最后回复 2012-05-23

C++编译器源程序学习!!!!!!!!!!!!!!!!!1

发表于 2003-12-26 最后回复 2004-01-07

FastBT下载 1.0.3.66版 2003.12.25 放分 一小时结.

发表于 2003-12-26 最后回复 2003-12-26

发布最新版本FastBT 1.0.1.27 高兴放分

发表于 2003-11-21 最后回复 2003-12-10

有没有分析过传奇网络通迅?

发表于 2003-07-10 最后回复 2003-11-28

Visual Studio.net 2003 7cd 下载

发表于 2003-08-27 最后回复 2003-09-01

Visual Studio.net 2003 7cd 下载

发表于 2003-08-27 最后回复 2003-08-28

怎么样实现在资源管理器多一个盘号?

发表于 2003-07-24 最后回复 2003-07-31

深圳治安真差,我差点就被打死了!

发表于 2003-05-12 最后回复 2003-05-23

开放源码的P2P文件共享研究Gnucleus

发表于 2002-07-24 最后回复 2003-05-06

怎么样实现从播放器播放的声音录下来?

发表于 2003-03-11 最后回复 2003-03-19

QQ死机的BUG?不信你就试试了。

发表于 2003-02-20 最后回复 2003-02-26

大家把自己有的技能交流一下

发表于 2003-01-24 最后回复 2003-01-28

有不有程序员取这么好有GF啊?

发表于 2003-01-15 最后回复 2003-01-24

在C++BUILDER里怎么调试进入PASCAL?

发表于 2003-01-08 最后回复 2003-01-08

猜谜语送分

发表于 2003-01-07 最后回复 2003-01-07

操作系统源码分析网

发表于 2002-12-17 最后回复 2003-01-03

有人写过硬盘驱动程序吗?

发表于 2002-12-16 最后回复 2002-12-17

怎么样才能写出一个像TObject类CObject来?

发表于 2002-12-04 最后回复 2002-12-11

有空来我cbuilder论坛

发表于 2002-11-21 最后回复 2002-12-04

有空来我VC论坛

发表于 2002-11-25 最后回复 2002-11-26

开发DOS的操作系统,作为实时操作系统

发表于 2001-10-29 最后回复 2002-02-17

在局部网内用UDP通过代理服务器连接外面的人,怎么样用VC写通过代理呢?

发表于 2001-09-24 最后回复 2002-02-05

UDP 代理问题?

发表于 2002-01-24 最后回复 2002-01-24

怎么样设置像ICQ或OICQ这样服务器?

发表于 2001-12-29 最后回复 2001-12-29

我的钱哪去了?

发表于 2001-12-17 最后回复 2001-12-17

在VC中这个错误为什么出现的?

发表于 2001-11-30 最后回复 2001-12-13

谁能说出ICQ目录下各个DLL文件用处?给高分!!!!

发表于 2001-11-27 最后回复 2001-11-27

怎么样更新CLISTBOX

发表于 2001-11-14 最后回复 2001-11-14

谁有空就用C写个DOS操作系出来?XP可没有DOS啊

发表于 2001-10-26 最后回复 2001-11-13

为什么国内没有人写出像<<深入浅出MFC>>这样的好书

发表于 2001-11-08 最后回复 2001-11-08

用C++能写DOS操系统吗?

发表于 2001-10-31 最后回复 2001-10-31

我们能不能把NASM的使用手册译成中文吗

发表于 2001-10-30 最后回复 2001-10-30

空空如也

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

TA关注的人 TA的粉丝

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