All Projects → Akagi201 → Lw_oopc

Akagi201 / Lw_oopc

Licence: lgpl-2.1
modified from http://sourceforge.net/projects/lwoopc/

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Lw oopc

BashClass
BashClass is an Object Oriented Programming language that compiles to BASH 4.4
Stars: ✭ 40 (-74.84%)
Mutual labels:  oop, object-oriented
Dao
Dao Programming Language
Stars: ✭ 183 (+15.09%)
Mutual labels:  lightweight, object-oriented
Stampit
OOP is better with stamps: Composable object factories.
Stars: ✭ 3,021 (+1800%)
Mutual labels:  oop, object-oriented
Design-Patterns
Project for learning and discuss about design patterns
Stars: ✭ 16 (-89.94%)
Mutual labels:  oop, object-oriented
Solrb
Solr + Ruby + OOP + ❤️ = Solrb
Stars: ✭ 37 (-76.73%)
Mutual labels:  oop, object-oriented
Db
Newt DB is a Python object-oriented database with JSONB-based access and search in PostgreSQL
Stars: ✭ 132 (-16.98%)
Mutual labels:  object-oriented
Szl
A lightweight, embeddable scripting language
Stars: ✭ 134 (-15.72%)
Mutual labels:  lightweight
Musicoder
🎼基于深度学习的轻量化音乐质感转换系统
Stars: ✭ 131 (-17.61%)
Mutual labels:  lightweight
Build
Armbian Linux build framework
Stars: ✭ 1,827 (+1049.06%)
Mutual labels:  lightweight
Moose
Official repository for Moose
Stars: ✭ 153 (-3.77%)
Mutual labels:  object-oriented
Interviews
A list of fancy questions I've been asked during the interviews I had. Some of them I ask when interviewing people.
Stars: ✭ 140 (-11.95%)
Mutual labels:  oop
Ood Principles In Swift
💎 The Principles of OOD (SOLID) based on Uncle Bob articles.
Stars: ✭ 1,710 (+975.47%)
Mutual labels:  object-oriented
Curl
一个轻量级的 PHP 网络操作类, 基于 Curl 封装并实现了 Get | Post | Upload | Download 等常用方法。
Stars: ✭ 132 (-16.98%)
Mutual labels:  lightweight
Spectre
Spectre.css - A Lightweight, Responsive and Modern CSS Framework
Stars: ✭ 10,938 (+6779.25%)
Mutual labels:  lightweight
Splitties
A collection of hand-crafted extensions for your Kotlin projects.
Stars: ✭ 1,945 (+1123.27%)
Mutual labels:  lightweight
Axel
Axel tries to accelerate the download process by using multiple connections per file, and can also balance the load between different servers.
Stars: ✭ 1,997 (+1155.97%)
Mutual labels:  lightweight
Cohesion
A tool for measuring Python class cohesion.
Stars: ✭ 129 (-18.87%)
Mutual labels:  oop
Eclipse Collections
Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.
Stars: ✭ 1,828 (+1049.69%)
Mutual labels:  object-oriented
Sprite Wxapp
spritejs 小程序版
Stars: ✭ 138 (-13.21%)
Mutual labels:  oop
Kinx
Looks like JavaScript, feels like Ruby, and it is a script language fitting in C programmers.
Stars: ✭ 134 (-15.72%)
Mutual labels:  object-oriented

LW_OOPC升级版本发布说明

本人在金永华对于高焕堂的lw_oopc的源码的基础上进行了一些简单的修改和调试. 使得lw_oopc能够用在实际的嵌入式项目中, 作为一个很好的框架传播开来.

主要改进有:

  1. 修正了一些小错误, 使得编译通过.
  2. 调整了一些宏的位置, 使得配置接口只在lw_oopc.h中.
  3. 经过测试可以直接在*nix下编译运行, 删掉多余的VS工程文件.

我的联系方式:

以下为金永华([email protected])在他的repo上的一些说明.

  • 在高焕堂先生的著作《UML+OOPC嵌入式C语言开发精讲》中介绍了高先生及其MISOO团队创作的lw_oopc宏.
  • 在研读这套宏的过程中, 我发现高先生提供的这套宏还过于简陋, 不能够优雅地支持面向接口编程.
  • 经过认真钻研, 我对原有的这套宏进行了扩充和改良, 得到了lw_oopc宏的升级改进版本.
  • 改良后的这套宏,能够很好地支持面向对象编程,能够支持面向接口编程(甚至支持复杂的多重继承).
  • 经邮件与高焕堂先生联系,征得高先生同意,以LGPL协议开源,感谢高先生以及MISOO团队的贡献!

原有高焕堂先生及其MISOO团队创作的宏(总共6个宏),清单如下:

高焕堂及MISOO创作的宏 是否存在问题? 是否修改?
INTERFACE 没有问题
CLASS 无法支持继承
CTOR 对申请不到内存的情况未保护
END_CTOR 没有问题
FUNCTION_SETTING 没有问题
IMPLEMENTS 没有问题

为了更好的支持面向对象以及面向接口编程,金永华增加了14个宏:

创作的宏 创作目的()为了解决什么问题?)
DTOR / END_DTOR 为了支持析构函数的概念
ABS_CLASS 为了支持抽象类的概念
ABS_CTOR / END_ABS_CTOR 为了支持可继承的抽象类的构造函数
EXTENDS 为了让熟悉Java的人容易理解(与IMPLEMENTS宏等同)
SUPER_CTOR 为了支持子类调用父类的构造函数
SUPER_PTR / SUPER_PTR_2 / SUPER_PTR_3 为了支持向上转型
SUB_PTR / SUB_PTR_2 / SUB_PTR_3 为了支持向下转型
INHERIT_FROM 为了支持访问直接父类的数据成员
  • 希望这套宏,能够真正帮助到想用C语言写出面向对象代码的C程序员们!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].