摘要:
Technorati 标签: c,c语言,面向对象,oo,object-oriented本文版权所有,转载请注明出处和作者联系方式。 作者:孙华明 联系方式: wormsun at gmail.com 面向对象不是C++, java, C#等的专利,万能的C语言一样可以面向对象编程。GObject系统已经用C语言实现了一套完整并且功能强大的面向对象系统。但GObject系统十分庞大,并依赖于众多的开发包,在项目本身很小,或者不想依赖于众多于GObject相关的开发包时,就无法使用了。 那么能不能用C语言实现一套小巧简单,易于理解,易于使用的面向对象系统呢?就让我们一起探索一下吧! 所谓类就是数 阅读全文
阅读排行榜
C语言也能面向对象(二)——new和delete
2011-04-18 12:49 by wormsun, 1779 阅读, 收藏,
摘要:
Technorati 标签: c,c语言,面向对象,oo,object-oriented本文版权所有,转载请注明出处和作者联系方式。 作者:孙华明 联系方式: wormsun at gmail.com 上篇我们介绍了如何使用结构体写一个简单的类animal,并使用animal* animal_create(void)和void animal_destroy(animal* self)来创建和删除animal类的对象。在C++中创建和删除对象时使用的是new和delete操作符,并会自动调用类的构造函数和析构函数初始化和析构对象,那么使用C语言如何实现这样的机制呢?我们可以用函数模拟new和de 阅读全文
使用CImage显示透明的PNG图片
2011-11-25 17:39 by wormsun, 1457 阅读, 收藏,
摘要:
CImage 的AlphaBlend函数可以显示半透明或透明的图片,但是当使用这个函数显示PNG图片时,经常会发现PNG图片的背景没有透明,而是被显示为白色.在网上多处搜索都没有找到原因,只能自己动手了.通过调试代码可以发现,CImage的AlphaBlend函数内部调用的是全局的Window API函数:AlphaBlend(HDC hdcDest,int nXOriginDest,int nYOriginDest,int nWidthDest,int hHeightDest,HDC hdcSrc,int nXOriginSrc,int nYOriginSrc,int nWidthSrc,i 阅读全文
Android系统下文件和文件夹名称字符是UTF-8编码
2012-10-24 22:20 by wormsun, 707 阅读, 收藏,
摘要:
NDK编程,使用C++代码获取Android文件和文件夹名称,并在软件界面上显示,但发现汉字显示为乱码。该软件为了减少对系统的依赖,自己实现了一套字体描画机制,采用的是GBK编码,所以首先怀疑编码不兼容。仍然使用NDK,编写个小程序专门获取Android下文件和文件夹名称,然后打印到文本文件中。分析文本文件发现字符串的编码是UTF-8编码。修改方法就是调用该软件基础库中的接口,将UTF-8字符串先转换为Unicode-16编码,然后再由Unicode-16编码转换为GBK。 阅读全文
Tiny6410裸机编程——(一)SD卡启动
2014-09-24 13:51 by wormsun, 706 阅读, 收藏,
摘要:
友善提供的SuperBoot功能强大,在其启动过程中已经对S3C6410做了很多初始化的工作,在裸机编程时使用它不利于了解ARM的启动过程。所以计划直接将裸机程序烧到SD卡中启动。 使用友善提供的SD-Flasher.exe程序,经过多次实验,都无法将裸机程序烧写到SD卡上,2G,4G,小卡,大卡都试了一遍,没有成功。后来想到使用winhex直接烧写到SD卡,才成功完成实验。 我是将裸机程序使... 阅读全文
浙公网安备 33010602011771号