用 C 语言实现面向对象的程序设计范例

В. О. Стовманенко
{"title":"用 C 语言实现面向对象的程序设计范例","authors":"В. О. Стовманенко","doi":"10.32782/tnv-tech.2023.5.8","DOIUrl":null,"url":null,"abstract":"Мова програмування C дозволяє створювати застосунки, що працюють на майже кожній актуальній платформі від поширених x86-сумісних процесорів, до MIPS у PlayStation One, від ARM у більшості сучасних смартфонів, до POWER-10 на великих серверах. Компілятор цієї мови з’являється для платформи інколи раніше ніж сама платформа з’являється фізично. Простота мови де є відносно невелика кількість вбудованих конструкцій дозволяє просто реалізувати початкову версію компілятора для цільової платформи. Створення застосунків із використанням С легше ніж з використанням асемблера, де, на відміну від C немає поняття циклів, типів чи методів, уже значно спрощує розробку, проте все іще є достатньо складним процесом так C не має вбудованих механізмів для керування пам’яттю, роботи з помилками або повторним використанням коду, окрім як використання спільних функцій та методів. З іншого боку існують більш високорівневі мови, які вимагають значної кількості засобів для своєї роботи (інтерпретатор, віртуальна машина, набір системних бібліотек, які оптимізовані для конкретної платформи, тощо), але суттєво спрощують розробку. Часто, інфраструктура певної мови прив’язана до певної апаратної чи програмної платформи і не може бути використана аналогічним чином у інших середовищах, до того ж усі додаткові засоби необхідні для виконання, забирають частину ресурсів пристрою, що обмежує клас пристроїв, де можна виконувати код написаний цією мовою. Існує спосіб отримати зручність переваги коду на C, що виконується швидко та майже будь-якій апаратній платформі й писати значно більш простий код. Для цього можна використовувати дворівневу компіляцію, де код мовою C – буде проміжним представленням і буде компілюватися в машинні інструкції компілятором C. Подібні мови уже існують (Vala, V, Zig) і кожна з них представляє свій варіант трансляції та своє бачення ООП. У статті розглядається бібліотека, що реалізує функціонал потрібний для забезпечення ООП, без прив’язки до конкретної апаратної платформи та з можливістю легко інтегрувати створені компоненти у інші програмні рішення.","PeriodicalId":242216,"journal":{"name":"Таврійський науковий вісник. Серія: Технічні науки","volume":" 22","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-01-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"РЕАЛІЗАЦІЯ ОБ’ЄКТНО-ОРІЄНТОВАНОЇ ПАРАДИГМИ ПРОГРАМУВАННЯ МОВОЮ C\",\"authors\":\"В. О. Стовманенко\",\"doi\":\"10.32782/tnv-tech.2023.5.8\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Мова програмування C дозволяє створювати застосунки, що працюють на майже кожній актуальній платформі від поширених x86-сумісних процесорів, до MIPS у PlayStation One, від ARM у більшості сучасних смартфонів, до POWER-10 на великих серверах. Компілятор цієї мови з’являється для платформи інколи раніше ніж сама платформа з’являється фізично. Простота мови де є відносно невелика кількість вбудованих конструкцій дозволяє просто реалізувати початкову версію компілятора для цільової платформи. Створення застосунків із використанням С легше ніж з використанням асемблера, де, на відміну від C немає поняття циклів, типів чи методів, уже значно спрощує розробку, проте все іще є достатньо складним процесом так C не має вбудованих механізмів для керування пам’яттю, роботи з помилками або повторним використанням коду, окрім як використання спільних функцій та методів. З іншого боку існують більш високорівневі мови, які вимагають значної кількості засобів для своєї роботи (інтерпретатор, віртуальна машина, набір системних бібліотек, які оптимізовані для конкретної платформи, тощо), але суттєво спрощують розробку. Часто, інфраструктура певної мови прив’язана до певної апаратної чи програмної платформи і не може бути використана аналогічним чином у інших середовищах, до того ж усі додаткові засоби необхідні для виконання, забирають частину ресурсів пристрою, що обмежує клас пристроїв, де можна виконувати код написаний цією мовою. Існує спосіб отримати зручність переваги коду на C, що виконується швидко та майже будь-якій апаратній платформі й писати значно більш простий код. Для цього можна використовувати дворівневу компіляцію, де код мовою C – буде проміжним представленням і буде компілюватися в машинні інструкції компілятором C. Подібні мови уже існують (Vala, V, Zig) і кожна з них представляє свій варіант трансляції та своє бачення ООП. У статті розглядається бібліотека, що реалізує функціонал потрібний для забезпечення ООП, без прив’язки до конкретної апаратної платформи та з можливістю легко інтегрувати створені компоненти у інші програмні рішення.\",\"PeriodicalId\":242216,\"journal\":{\"name\":\"Таврійський науковий вісник. Серія: Технічні науки\",\"volume\":\" 22\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-01-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Таврійський науковий вісник. Серія: Технічні науки\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.32782/tnv-tech.2023.5.8\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Таврійський науковий вісник. Серія: Технічні науки","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.32782/tnv-tech.2023.5.8","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

C 编程语言允许您创建可在几乎所有当前平台上运行的应用程序,从普通的 x86 兼容处理器到 PlayStation One 中的 MIPS,从大多数现代智能手机中的 ARM 到大型服务器上的 POWER-10。这种语言的编译器有时在平台本身出现之前就已经出现了。由于 C 语言简单,内置结构相对较少,因此很容易为目标平台实现初始版本的编译器。使用 C 语言创建应用程序比使用汇编语言更容易,因为汇编语言与 C 语言不同,没有循环、类型或方法的概念,这已经大大简化了开发过程,但由于 C 语言除了使用共享函数和方法外,没有内存管理、错误处理或代码重用的内置机制,所以开发过程仍然相当复杂。另一方面,有些高级语言需要大量工具(解释器、虚拟机、一套针对特定平台优化的系统库等)才能工作,但却大大简化了开发过程。通常情况下,特定语言的基础架构与特定的硬件或软件平台绑定,无法在其他环境中以同样的方式使用,而且执行所需的所有附加工具都会占用设备的部分资源,这就限制了可以执行该语言编写的代码的设备类别。有一种方法可以让 C 代码在几乎所有硬件平台上快速运行,而且编写的代码要简单得多。要做到这一点,可以使用两级编译,即 C 代码将作为中间表示,并由 C 编译器编译成机器指令。这类语言已经存在(Vala、V、Zig),它们各自代表了自己的翻译版本和 OOP 观点。这篇文章介绍了一个库,它可以实现 OOP 所需的功能,而无需与特定的硬件平台绑定,并能轻松地将创建的组件集成到其他软件解决方案中。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
РЕАЛІЗАЦІЯ ОБ’ЄКТНО-ОРІЄНТОВАНОЇ ПАРАДИГМИ ПРОГРАМУВАННЯ МОВОЮ C
Мова програмування C дозволяє створювати застосунки, що працюють на майже кожній актуальній платформі від поширених x86-сумісних процесорів, до MIPS у PlayStation One, від ARM у більшості сучасних смартфонів, до POWER-10 на великих серверах. Компілятор цієї мови з’являється для платформи інколи раніше ніж сама платформа з’являється фізично. Простота мови де є відносно невелика кількість вбудованих конструкцій дозволяє просто реалізувати початкову версію компілятора для цільової платформи. Створення застосунків із використанням С легше ніж з використанням асемблера, де, на відміну від C немає поняття циклів, типів чи методів, уже значно спрощує розробку, проте все іще є достатньо складним процесом так C не має вбудованих механізмів для керування пам’яттю, роботи з помилками або повторним використанням коду, окрім як використання спільних функцій та методів. З іншого боку існують більш високорівневі мови, які вимагають значної кількості засобів для своєї роботи (інтерпретатор, віртуальна машина, набір системних бібліотек, які оптимізовані для конкретної платформи, тощо), але суттєво спрощують розробку. Часто, інфраструктура певної мови прив’язана до певної апаратної чи програмної платформи і не може бути використана аналогічним чином у інших середовищах, до того ж усі додаткові засоби необхідні для виконання, забирають частину ресурсів пристрою, що обмежує клас пристроїв, де можна виконувати код написаний цією мовою. Існує спосіб отримати зручність переваги коду на C, що виконується швидко та майже будь-якій апаратній платформі й писати значно більш простий код. Для цього можна використовувати дворівневу компіляцію, де код мовою C – буде проміжним представленням і буде компілюватися в машинні інструкції компілятором C. Подібні мови уже існують (Vala, V, Zig) і кожна з них представляє свій варіант трансляції та своє бачення ООП. У статті розглядається бібліотека, що реалізує функціонал потрібний для забезпечення ООП, без прив’язки до конкретної апаратної платформи та з можливістю легко інтегрувати створені компоненти у інші програмні рішення.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信