- 博客(170)
- 资源 (9)
- 收藏
- 关注
原创 C++共有、私有、保护继承的可见性问题!
在C++里,继承有三中方式,public、protected、private三中继承方式,我们需要记住这3种继承的可见行问题,会有两个可见性的问题,一是子类与父类的可见性,二是对象的可见性(具体应该是对象与父类的成员可见性问题),我们必须记住,三种继承的方式都并不会影响子类成员对父类成员的访问权限,即:父类成员对子类成员的可见性是由父类自身决定的。不同的继承方式只影响子类的对象对父类成员(成...
2018-09-14 23:40:19
497
原创 简单谈视口坐标和窗口坐标?
视口和窗口坐标在GDI中是有这个概念的,正常情况下,这两个坐标一致,即它们的原点和宽高都是相同的,但是我们可以修改这两个坐标系统来简单快速实现一些变换操作,如缩放等,首先就必须要理解这两个坐标的概念了,简答说一句话,即:视口坐标(物理坐标)的高度宽度是确定显示区域的,而窗口坐标(逻辑坐标)是为显示区域刻度尺寸的,所以缩放操作可以通过扩大视口区域的方法来实现。就这么简答的记忆,千万不要混淆。 ...
2018-09-14 23:11:51
1851
转载 有的共享软件赚了一百万美元,而为什么你没有?&&我的软件推广成功之路
有的共享软件赚了一百万美元,而为什么你没有?(上)译:DreamGoal 原作:Steve Pavlin几个月以前,我决定对共享软件业进行一项非正式的长期研究。我首先提出的问题是:为什么一些共享软件作者比另一些更成功?我考察了几十个共享软件公司,包括ASP成员和非ASP成员,它们的销售额从每年几百美元到超过一百万美元一年。此文所总结的绝对是我所体会的东西中最好的。 我们中的...
2018-09-11 23:46:09
1333
原创 C++三种(private,protected,public)继承方式的可见性说明
在C++里,继承有三中方式,public、protected、private三中继承方式,我们需要记住这3种继承的可见行问题,会有两个可见性的问题,一是子类与父类的可见性,二是对象的可见性(具体应该是对象与父类的成员可见性问题),我们必须记住,三种继承的方式都并不会影响子类成员对父类成员的访问权限,即:父类成员对子类成员的可见性是由父类自身决定的,三种继承的方式只会影响实例对象的访问可见性(具体应该
2017-06-23 10:15:24
1705
原创 对windows系统中接口的定义都是单一继承的猜想!!!
我们在使用COM设计的时候,发现使用的接口都是单一的继承一个接口,比如: MIDL_INTERFACE("000214E8-0000-0000-C000-000000000046") IShellExtInit : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initia
2016-08-04 23:49:39
854
原创 C++中,经常有同名成员函数,一个const形式一个非const形式的解读
C++中,我们经常看到STL有同名成员函数,一个const形式一个非const形式的,而且实现都是完全相同的,为什么呢?我们简单来分析一下,看看下面的代码,来源于C++中STL string class的片段:reference at(size_type _Off){ // subscript mutable sequence with checkingif (this->_Mysi...
2016-07-04 21:09:27
4046
原创 自己设计自定义界面组件的注意事项
BeginPaint和GetUpdateRect这两个接口,都可以获得窗口目前的更新区域范围(RECT),GetUpdateRect可以随时调用查询,但是一般应该在BeginPaint之前使用,按照MSDN的说明,BeginPaint接口调用后在PAINTSTRUCT参数中会返回窗口当前需要的更新区域,区域的内容和GetUpdateRect得到的内容是完全一样的,但是BeginPaint调用会同时
2015-11-19 15:05:46
1343
原创 C++11右值引用本质是什么?
C++11右值引用本质是什么?我认为从编译器层面讲本质就是一种表达方式,主要是为了告诉编译器如何生成代码,从逻辑层面讲,主要是为了解决对象构造内存拷贝开销大的问题。请赐教。
2015-11-13 11:34:25
1710
原创 Windows下(不用cygwin)NDK直接编译编译boost 1.55
我使用的是android-ndk-r9d版本,NDK在7以后就不需要依赖于cygwin了1. boost官网下载boost_1_55_0.tar.gz,解压放在/sources下, 解压后的文件名: boost_1_55_02. 我的C++为VS2012,通过开始菜单,在VS2012菜单中,找到并运行Developer Command Prompt for VS2012项点击会
2015-06-26 11:41:28
4418
原创 在Windows下(不使用cygwin)NDK直接编译openssl动态库
我使用的是android-ndk-r9d版本,NDK在7以后就不需要依赖于cygwin了编译openSSL1) 下载guardianproject版的openssl 此项目是老外配置好的一个用于android的一个项目下载地址:https://github.com/guardianproject/openssl-android需要把整个工程下载
2015-06-26 11:20:22
2701
转载 如何获取android项目下某个文件的绝对路径
比如要获取 要获取libjnixcld.so绝对路径File file=new File("/data/data/com.dtBank.app.service/lib/libjnixcld.so")简单的说就是/data/data/packagename/你的文件夹名称/文件名非隐藏文件可以这样获取以上方法只能获取动态共享库的绝对路径对于像minde.dat,public.d
2014-11-29 20:06:31
29901
1
转载 浅析Android中的消息机制
在分析Android消息机制之前,我们先来看一段代码:[java] view plaincopypublic class MainActivity extends Activity implements View.OnClickListener { private TextView stateText;
2014-11-29 00:29:14
635
转载 Android.mk小结,讲的比较详细
Android.mk结构多目录Android.mk包含语句设置头文件搜索路径设置需要链接的动态库导出模块头文件路径导出模块依赖关系预编译实例Android.mk规则在NDK中有文档ANDROID-MK说明,我觉得了解了基本规则的人都要去看一下,以便灵活运用.1.Android.mk结构:LOCAL_PATH:=$(call my-dir)
2014-11-27 09:50:22
1832
原创 一招一个文件解决ndk编译文件Android.mk配置的所有问题
我们以一个文件实例来说明,看如下配置:此配置文件生成一个so文件,并链接了boost和openssl# Copyright (C) 2009 The Android Open Source Project## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this
2014-11-26 21:09:42
876
转载 android NDK开发及调用标准linux动态库.so文件
预备知识及环境搭建1、NDK(native development Kit)原生开发工具包,用来快速开发C、C++动态库,并能自动将so文件和java应用一起打包成apk.对应:jni层c++开发2、Cygwin:是windows平台上模拟Linux运行环境的工具,即window平台上的linux环境工具,so文件需要在linux平台上编译运行。对应:arm linux平台
2014-11-26 10:19:50
1231
原创 在NDK下编译openssl动态库(平台:Windows cygwin)
编译openSSL1) 下载guardianproject版的openssl下载地址:https://github.com/guardianproject/openssl-android需要把整个工程下载下来然后解压,我解压并改名成了:project_openssl,位置D:\project_openssl然后打开Cygwin,$ cd D:\pro
2014-11-25 10:37:39
3830
转载 Android NDK支持STL的一些注意事项
Android NDK从r5b版本开始有官方支持的STL了,有一个crystax版本早已经支持。官方的支持有两个版本一个是gnu的,一个是stlport。如果你需要在你的NDK程序中使用STL,那么需要在Application.mk文件中添加一个选项,就是APP_STL := stlport_static。 其中APP_STL的取值有以下四种:system --> 系统默认的最小支持的C++运
2014-11-24 18:15:35
867
转载 Windows环境下Android NDK环境搭建
由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设备、接口、驱动控制的应用开发,不得不使用到NDK开发环境(基于Android源码或内核源码修改),开发语言使用C/C++,NDK开发更接近于Linux开发,需要更多关于Linux应用编程知识。本文就介绍一下NDK环境搭建及基础编程思想。本文演示环境:Windows 8 企业版 + Cygwin + NDK r9c。
2014-11-22 22:10:52
824
转载 Cygwin环境下使用Android NDK r9c编译boost 1.55
基础阅读:Windows环境下Android NDK环境搭建1. boost官网下载boost_1_55_0.tar.gz,解压放在/sources下, 解压后的文件名: boost_1_55_02. 运行Cygwin Terminal3. 生成boost编译工具: 在boost目录下运行./bootstrap.sh 或者 bootstrap.bat
2014-11-22 22:07:07
1270
转载 windows下编译boost for android
env: windows xp 32 bit mingw official NDK1. 下载源代码 地址是 :http://sourceforge.net/projects/boost/files/boost/1.54.0/ 本文下载的是 boost_1_54_0.7z 2. 解压源代码到任意目录 本问解压后匹配文件
2014-11-22 10:00:23
2063
转载 mysql “Illegal mix of collations”出错解决办法
一、http://blog.youkuaiyun.com/wudouguerwxx/archive/2007/08/07/1729353.aspx对于常见的乱码问题,有的在数据库本身已经为gbk或gb2312时候,但是查询出来却是乱码,这是因为mysql在连接的过程中还有道编码,因此将连接的编码设为gb2312或utf-8即可,如:jdbc:mysql://localhos
2014-08-22 22:03:07
1807
转载 数字证书原理,公钥私钥加密原理
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1、基础知识 这部分内容主要解释一些概念和术语,最好是先理
2014-08-06 14:24:54
60998
51
转载 公钥与私钥
数字签名是什么?作者:David Youd翻译:阮一峰原文网址:http://www.youdzone.com/signature.html1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。2.鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的
2014-08-06 10:11:36
1425
转载 Java实现结构体,让字节流封送简单起来
和C/C++不同,Java中没有结构体,联合体。这是Java作为高级语言的进步,但也使得它在进行网络字节流封送上显得捉襟见肘。这里所指的是在进行网络编程,串口编程等需要和某些C语言中结构体形式定义的协议接口进行通讯时,Java由于缺乏结构体和字节数组之间的有效转换方法,所带来的编程上的困境。按照通常的想法,我们需要自己去手动的一个字节,一个字节的拼凑,来实现C语言中结构体定义的数据
2014-07-07 16:54:55
2001
转载 云梯的多NameNode和跨机房之路
云梯的多NameNode和跨机房之路发表于2014-01-16 17:20| 次阅读| 来源《程序员》| 1 条评论| 作者罗李《程序员》杂志2013年12月刊hadoop集群namenode分布式计算摘要:在过去五年中,阿里云梯一直都采取需求驱动的发展模式。直到2013年4月,这种模式再也无法继续下去:云梯集群所在的数据中心(IDC机房)的机位已满,无法继续扩
2014-01-25 14:18:35
987
转载 通过HTTP协议上传文件
HTTP是很常见的协议,虽然用得很多,但对细节的了解却是很浅,这回通过向服务端上传文件信息来理解细节。网络库的选择:1、WinHTTP是windows下常用的库;2、CURL是广受喜爱的开源库。对于我来说,libcurl最大的优点是使用方便,可以把注意力更多的集中到业务层上,提高工作效率,避免重造轮子;缺点是略大(MD编译有264KB,MT编译有340KB),不像WinHTTP可以由windows
2013-12-21 23:53:04
3691
转载 http协议上传实现
1、概述在最初的 http 协议中,没有上传文件方面的功能。 rfc1867 (http://www.ietf.org/rfc/rfc1867.txt) 为 http 协议添加了这个功能。客户端的浏览器,如 Microsoft IE, Mozila, Opera 等,按照此规范将用户指定的文件发送到服务器。服务器端的网页程序,如 php, asp, jsp 等,可以按照此规范,解析出用户发
2013-12-21 22:26:17
770
原创 建议在设计C++类时提供默认构造函数,这应该是个好的习惯
建议在设计C++类时提供默认构造函数,主要是为了继承的考虑,否则必须指定一个构造函数,看看下面的代码:class CBase{public:CBase(string param){m_param = param; }private:string m_param;};class CSon: public CBase{public:CSon(){
2013-12-21 14:25:48
1045
转载 网络游戏服务器构架设计(三):刀剑Online - 总控服务器、场景服务器
上一篇《网络游戏服务器构架设计(二)》介绍了刀剑Online的连接负载服务器CLS,博友提出质疑“说得不够详细,比如你怎么,场景服务器怎么才算一个场景服务器,场景服务器切换怎么处理不断线后连接另一个场景的,还有很多细节问题没有说到”,本篇就来介绍游戏服务器最为核心的部分:游戏逻辑服务器,同时也回答了这位博友的问题。PS:本篇的文章结构主要分两个部分,前半部分(2.2节)介绍刀剑Online
2013-12-13 11:35:10
1338
转载 网狐棋牌游戏平台服务器架构设计分析
基本设计概念和处理流程 调用模型模仿COM组件接口模式,利用面向对象思想多态性polymorphism,调用方保存着被调用方的基础接口指针(interface or sink钩子)(Pure Virtual Function),调用方直接调用接口指针内声明的纯虚方法,而此纯虚函数的具体逻辑由该接口的派生类实现。示意图: 基于事件驱动的数据处理模型在系统功能设计中,针
2013-12-13 10:55:58
1896
转载 GDB 命令详细解释
GDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。 和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在程序中设置断点 # 程序的单步执行 在使用gdb前,必须先载入可执行文件,
2013-12-11 19:45:48
736
转载 跟我一起写 Makefile(一)
跟我一起写 Makefile 陈皓概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软
2013-12-11 19:39:44
701
转载 用GDB调试程序(一)
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:
2013-12-11 19:37:02
773
转载 通向架构师的道路(第九天)之weblogic的集群与配置
一、Weblogic的集群还记得我们在第五天教程中讲到的关于Tomcat的集群吗?两个tomcat做node即tomcat1, tomcat2,使用Apache HttpServer做请求派发。现在看看WebLogic的集群吧,其实也差不多。区别在于:² Tomcat的集群的实现为两个物理上不同的tomcat,分别就是两个nod
2013-12-11 01:54:08
676
原创 C++中的友元函数的总结
1.友元函数的简单介绍1.1为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。实际上具体大概有下面两种情况需要使用友元
2013-12-04 21:13:13
659
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人