Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Python中的定义类属性和对像属性

Python中的定义类属性和对像属性

Python中变量是没有类型的可以绑定任意类型,但是在语法上不能声明变量。那我们怎麽来声名一个变量呢?[python] f=None这样我们给着个变量绑定了以各None类型,我们随时可用重新绑定其它类型。这样我们起到了预先声名变量的效果。 类中如何去定义类的属性和对像属性呢?如果对OO有所了解的话,就应该知道类属性属于类整体而对像属性属于具体的对像实例(查看gtk对像系统的实现会进一步理解的)。[python] classMyClass:cName=Non...
C++设计中的几种机制

C++设计中的几种机制

1、PIMPL私有化实现。解决头文件依赖,文件修改后整个系统需要重新编译的问题。他实现的是一个简单的桥接模式。在类中指针初始化的空间是固定的,不需要知道其具体的类型,所有采用前置声明的方式,可以不需要在头文件中引用他的头文件。这样即隐藏了引用类的实现细节,又减少了编译时文件修改后的编译关联性。2、NVI提供一个公有的非虚接口函数,将虚函数私有化。实现行为和接口的分离。因为虚函数的多态性,公有非虚函数自然会去调用相应的虚函数实现。通过对虚函数的包装达到对接口...
C/C++网络编程中的TCP保活

C/C++网络编程中的TCP保活

在默认的情况下,TCP连接是没有保活的心跳的。这就是说,当一个TCP的socket,客户端与服务端谁也不发送数据,会一直保持着连接。这其中如果有一方异常掉线,另一端永远也不可能知道。这对于一些服务型的程序来说,将是灾难性的后果。 所以,必须对创建的socket,启用保活心跳,即Keepalive选项。启用Keepalive 对于WIN32或者Linux平台来说,设置socket的Keepalive都很简单,只需使用setsockopt设置SO_KEEP...
php开发Hive Web查询

php开发Hive Web查询

自己闲的没事,用php写了一个hive的查询界面,顺便把开发过程和遇到的问题记录下来。 一、php Hive API的问题默认情况下,Hive本身自带的php API是不太好使的。一个是路径有问题,一个是代码本身也有问题。所以,采用thrift重新自己生成hive的php api。找到所有的thrift文件,并复制到某个路径下#cd hive#for i in `find ./ -name "*.thrift"`>do>cp ${i} /usr...
Android build gdbserver

Android build gdbserver

目前Android2.2 和android2.3上的prebuilt gdbserver一执行就会报错segmentfault,prebuilt的gdbserver是静态编译的,这样做是为了让gdb能跨android的各个版本使用,但这个做法并没有考虑到kernel和libc的多样性。所以就出现了segment fault。 从android issue上看到这样的解决办法,具体做法就从git上下载gdb的代码然后重新编译 注:凡是路径最好是使用绝对路径 ...
再次在 cygwin 下编译 Android toolchain

再次在 cygwin 下编译 Android toolchain

重装系统后把 cygwin 也重新在线安装了一下,但发现 -mno-cygwin 尽然不能用了,找不到 crt2.o ,这些文件明明是存在的,搜索了一下官方的问答,说是安装顺序的问题,把mingw的几个包重新装一遍即可,试验了几次也没效果,无奈,只能自己找原因,看看 /lib/gcc/i686-pc-mingw32/3.4.4/specs 文件,很多路径指向了 /usr/i686-pc-mingw32/sys-root ,再看看 /usr/i686-pc-...
自己编译Android gdbserver(解决运行 gdbserver时 Segmentation fault 问题)

自己编译Android gdbserver(解决运行 gdbserver时 Segmentation fault 问题)

一、引言使用Android 预装 gdbserver 调试 动态库时出现,Segmentation fault错误。不得不使用现有编译链重新编译一份gdbserver。我的解决过程如下。这里要强调一点:下面编译sysroot时sysroot的目标路径,和编译gdbserver时指定的sysroot路径,一定要是用[绝对路径]。我编译过程中,曾因未使用绝对路径浪费不少精力。二、开发环境Ubuntu 11.04编译通过的Android 2.3 源码三、解决过程...
Android中style和theme巧用:Android应用程序启动时背景画面的切换

Android中style和theme巧用:Android应用程序启动时背景画面的切换

最近,一直在研究FM收音机源码,通过一星期的学习,基本上弄懂了源码的调用关系以及布局文件的显示,整体上给我的感觉是它的布局方式以及各个类之间的调用相当细致,只你能慢慢的消化了。苦恼的是还有很多底层的知识没有涉及到,目前也只是一步步的研究,希望能早日研究透彻。学习的时候,发现了FM收音机的启动运行背景画面的切换,感觉很有意思,于是一步步的观察,终于给摸透了。在此总结一下:背景的特效切换技术采用的Activity的Theme属性 ; 然后,在启动成功后调用自定...
Android中JNI的使用之一:Java原生JNI的使用、javah指令的使用以及图解教材

Android中JNI的使用之一:Java原生JNI的使用、javah指令的使用以及图解教材

Java Nativie Interface(JNI,中文名称Java本地接口)标准时Java平台的一部分,它允许Java代码和其他语言写得代码进行交互。JNI是本地编程接口,它使得Java虚拟机(VM)内部运行的Java代码能够用其他编程语言(如C、C++和汇编语言)编写的应用程序和库进行交互操作。JNI的主要用途是为了对硬件进行访问以及追求高效率或可重用C/C++库。Android系统中采用了JNI的方式来调用C/C++方法,然而,在Android系统...
Android中Parcel的分析以及使用

Android中Parcel的分析以及使用

简单点来说:Parcel就是一个存放读取数据的容器, Android系统中的binder进程间通信(IPC)就使用了Parcel类来进行客户端与服务端数据的交互,而且AIDL的数据也是通过Parcel来交互的。在Java空间和C++都实现了Parcel,由于它在C/C++中,直接使用了内存来读取数据,因此,它更有效率。分析Binder机制中的客户端与服务器端进行实际操作ontransact()函数 :[java] //参数说明: //code:是请求的ID...
Android中Intent传递对象的两种方法(Serializable,Parcelable)

Android中Intent传递对象的两种方法(Serializable,Parcelable)

今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写了一个简单的Demo,大家就一步一步跟我来吧! 第一步:新建一个A...
Android 中的AIDL

Android 中的AIDL

今天要给大家分享的是Android aidl的使用。在Android中, 每个应用程序都可以有自己的进程. 在写UI应用的时候, 经常要用到Service. 在不同的进程中, 怎样传递对象呢? 显然, Java中不允许跨进程内存共享. 因此传递对象, 只能把对象拆分成操作系统能理解的简单形式, 以达到跨界对象访问的目的. 在J2EE中,采用RMI的方式, 可以通过序列化传递对象. 在Android中, 则采用AIDL的方式. 理论上AIDL可以传递Bund...
Android中Gallery和ImageSwitcher同步自动(滚动)播放图片库

Android中Gallery和ImageSwitcher同步自动(滚动)播放图片库

本文主要内容是如何让Gallery和ImageSwitcher控件能够同步自动播放图片集 ,看起来较难,然而,实现的方法非常简单, 请跟我慢慢来。总的来说,本文要实现的效果如下图:(截图效果不怎么好)本文是建立在以下两篇文章上的:1、Android入门教程之Gallery http://www.linuxidc.com/Linux/2012-02/53069.htm2、Android 控件之ImageSwitcher图片切换器 http://www.lin...
<< 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 >>