- 博客(17)
- 收藏
- 关注
转载 Android NDK开发指南(三)Android build system & Android.mk 规范
1. Android编译系统分析 ---系统变量解析 LOCAL_PATH - 编译时的目录 LOCAL_MODULE - 编译的目标对象 LOCAL_SRC_FILES - 编译的源文件 LOCAL_C_INCLUDES
2012-07-19 17:49:46 1110
转载 Android NDK开发指南(二)Android.mk文件
1. 概述 Android.mk文件是用来描述build system(编译系统)的,更准确的说:该文件是一个微型的GNU Makefile片段,将由build system解析一次或者多次。这个文件的目的是用来允许你将源文件组织成模块,这个模块中含有:一个静态库(.a文件) 或 一个动态库(.so文件)只有动态库才会被安装/复制到你的应用程序包,尽管静态库可以被
2012-07-19 17:44:03 515
转载 Android NDK开发指南(一) Application.mk文件
Application.mk目的是描述在你的应用程序中所需要的模块(即静态库或动态库)。Application.mk文件通常被放置在 $PROJECT/jni/Application.mk下,$PROJECT指的是您的项目。 简介:-----------------------------要将C\C++代码编译为SO文件,光有Android.mk文件还不行,还需要一个App
2012-07-19 17:37:12 373
转载 Java的Jni编写
1.简介 JNI是Java Native Interface的缩写,它的设计目的是: The standard Java class library may not support the platform-dependent features needed by your application. You may already have a lib
2012-07-06 07:50:41 427
转载 Qt的4个图像类QImage/QPixmap/QBitmap/QPicture .
(一)QPixmap和QImage的区别http://www.thisisqt.com/forum/viewthread.php?tid=267 QPixmap是专门为绘图而生,当需要绘制图片时你需要使用QPixmap。QImage则是为I/O,为图片像素访问以及修改而设计的。如果你想访问图片的像素或是修改图片像素,则需要使用QImage,或者借助于QPainter来操作像素。另外跟Q
2012-07-03 10:43:02 301
转载 关于TrueType字体结构的文章
TrueType字体通常包含在单个TrueType字体文件中,其文件后缀为.TTF。OpenType字体是以类似 于TrueType字体的格式编码的POSTSCRIPT字体。OPENTYPE字体使用.OTF文件后缀。OPENTYPE还允许把多个OPENTYPE字体组合在一个文件中以利于数据共享。这些字体被称为TrueType字体集(TrueType collection),其文件后缀为.T
2012-07-01 07:56:56 1414
转载 简易分析myicq的内存池模型
myicq 1.0中实现了一个内存池的模型,可以自动分配和回收对象内存。下面看下其实现方式。首先内存池使用了双向链表来链接的,链表的实现也就是linux中常见的list_head形式,不过是其自己实现的。有点不解的是,既然用list_head,如果是在linux实现,可以自己调用linux里内建好的list_head,而且还是C的呢,而不是myicq里自己实现的还是类的形式的。又如果如果说
2011-06-17 22:34:00 412
转载 深入C++的new
“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。假如我们定义了如下一个类A:class A{
2011-06-09 11:12:00 199
转载 placement new释疑
<br />placement new 是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。<br />它的原型如下: <br />void *operator new( size_t, void *p ) throw() { return p; }<br /> <br />首先我们区分下几个容易混淆的关键词:new、operator new、placement new <br /
2011-01-26 12:19:00 267
转载 用GDB调试程序
<br />原文标题:用GDB调试程序<br />作者:haoel (QQ是:753640,MSN是: haoel@hotmail.com)<br />关键字:gdb 调试 c c++ gun<br />GDB概述GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一
2010-10-12 12:06:00 267
转载 Windows下搭建GTK开发环境
1、首先安装MinGW(GNU Compiler Collection (GCC) for Windows),到http://sourceforge.net/projects/mingw/下载MinGW,运行exe,一路点击“Next”到 “Select Components”页面,选择“C++ Compiler”,“MSYS Basic System”,如果不清楚的话全部选择安装,选择安装目录(默认C:/MinGW),程序开始自动下载各种包,安装完成。2、 设置MinGW环境变量。右击“我的电脑”->“属
2010-09-19 18:05:00 2043
转载 COM聚合(转)
<br />聚合的概念<br />聚合源自组件重用。当有两个组件A和B,他们分别实现了自己的接口IA和IB。如果有一个客户程序创建了A对象使得自己可以调用IA的方法,但同时又想获得IB的接口,调用IB的方法。这时候有两种做法:一种是客户程序创建B对象,还有一种方法是A组件内部创建B组件,然后客户通过某种途径调用B的接口方法。<br />第一种方法,使得客户必须知道有独立的B组件的存在,第二种方法客户可以认为只有一个组件A,组件A实现了两个接口IA和IB。第二种方法可以制造出一种假象,让客户程序编写更加简单。
2010-09-13 21:10:00 439
转载 IDispatch接口原理与应用(转)
<br />前言:<br />尽管com接口是跨语言的,但是很多语言在使用com时更多地通过Automation技术来和com对象通信。IDispatch接口是Automation的核心技术。<br />尽管c++程序员并不喜欢甚至讨厌使用IDispatch接口,因为调用它实在是非常的麻烦而且易出错。但是不可否认大量的现存组件是只基于IDispatch接口技术而开发的,有时候你没有选择,而且如果你想要写一些组件能够在web上运行,你也离不开IDisptch接口,因为VBScript这样的脚本语言不会聪明到能
2010-09-13 21:06:00 711
转载 包容和聚合(COM技术内幕笔记五)
<br />包容和聚合:<br /> 包容和聚合实际上是使一个组件使用另外一个组件的一种技术。在包容的情况下,外部组件将包含内部组件。在聚合的情况下,外部组件聚合内部组件。<br /> 在此设想一下,外部组件是我们的要实现的组件,而内部组件是其它要重用的组件。<br /> 包容是外部组件包含指向内部组件接口的指针.外部组件相对来说是内部组件的一个客户,它将使用内部组件的接口来实现它自己的接口.<br /><br /> 聚合是包容的一个特例,当一个外部组件聚合了某个内部组件的一个接口时,它
2010-09-13 20:53:00 381
转载 COM组件的类厂(COM技术内幕笔记之四)
在上一篇中,介绍了怎么样用动态链接库去实现COM,但组件对我们来说仍是不透明的,我们需要知道实现组件DLL的位置,必须自己来加载组件的CreateInstance函数来获得组件的指针.在书中第一篇就曾经提到过:COM组件可以透明地在网络上(或本地)被重新分配位置,而不会影响本地客户程序.所以,由客户端来调用DLL并不是什么好主意.必须有一种更好的办法让组件的实现更透明,更灵活! 于是,就引入了类厂的概念.什么是类厂,类厂也是一个接口,它的职责是帮我们创造组件的对象.并返回给客户程序一个接口的指针.每
2010-09-13 20:36:00 1083
转载 正则表达式入门
引言<br /> 正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。<br /> 正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。(3)
2010-09-09 14:45:00 193
转载 linux里命令pkg-config工具的使用
一、编译和连接一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的不同,造成了用 -I 参数指定的头文件的路径也可能不同,其结果就是造成了编译命令界面的不统一。如果使用 -L 参数,也会造成连接界面的不统一。编译和连接界面不统一会为库的使用带来麻烦。为了解决编译和连接界面不统一的问题,人们找到了一些解决办法。其基本思想就是:
2010-08-11 16:17:00 231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人