Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Joint14
0 / 0 / 0
Регистрация: 17.12.2013
Сообщений: 26
#1

C++ to C converter (OOP C) - C++

10.11.2016, 08:59. Просмотров 288. Ответов 2
Метки нет (Все метки)

Всем привет!
Не встречал ли кто подобного конвертера, который может код на языке высокого уровня конвертировать в Си-шный код (плохочитаемый, для выкладки в качестве опенсорца для любопытных и для любителей резюме с открытым кодом ). Есть мысль, что кто-то пользуется.
Про существование конвертеров C++ to C# (из одного высокоуровневого ООП языка в другой знаю), код получается рабочий, но плохочитаемый, видно, что машина создавала, интересует "любой ООП язык в Си" (возможно в код ООП на Си).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2016, 08:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C++ to C converter (OOP C) (C++):

Code Style for OOP - C++
Здравствуйте. Посоветуйте книгу по дизайну кода (в приоритете ООП на C++ можно и Java на худой конец). А то порой откроешь свой код и...

Embarcadero Mida Converter. Кто пробовал? - C++ Builder
Фирма Embarcadero выпустила программу по преобразования кодов delphi и buildera в FireMonkey (если я правильно перевел). Мне показалось,...

Вывод данных(температуры) по USB-RS485 Converter Cables и чипом FT232R - C++ Builder
Программа по USB-RS485 Converter Cables получает данные - 16 бит на образовавшийся COM порт, последние 2 из которых являются данными...

Как написать это - void fastcall TForml:oOp(void)? - C++ Builder
Добрый день! Подскажите пожайлуста: Как написать это - void fastcall TForml:: DoOp(void)? Как выставить? Не могу найти... ...

const in OOP - C++
Я абсолютно не понимаю зачем нужно const. Изменяет эта функция дату или не изменяет какая разница у нас же есть разный уровень доступа...

ConsoleSnake OOP - C++
...остановился я на 13 главе "Классы и наследование". На форуме неоднократно выкладывался код консольной змейки. Мне хотелось написать...

2
HighPredator
5545 / 1858 / 346
Регистрация: 10.12.2010
Сообщений: 5,444
Записей в блоге: 2
10.11.2016, 10:48 #2
В сети пишут про Comeau's C++ compiler.
1
Joint14
0 / 0 / 0
Регистрация: 17.12.2013
Сообщений: 26
10.11.2016, 11:06  [ТС] #3
Спасибо! Уже ближе. https://isocpp.org/wiki/faq/compiler-dependencies
Is it possible to convert C++ to C?

Depends on what you mean. If you mean, Is it possible to convert C++ to readable and maintainable C-code? then sorry, the answer is No — C++ features don’t directly map to C, plus the generated C code is not intended for humans to follow. If instead you mean, Are there compilers which convert C++ to C for the purpose of compiling onto a platform that yet doesn’t have a C++ compiler? then you’re in luck — keep reading.

A compiler which compiles C++ to C does full syntax and semantic checking on the program, and just happens to use C code as a way of generating object code. Such a compiler is not merely some kind of fancy macro processor. (And please don’t email me claiming these are preprocessors — they are not — they are full compilers.) It is possible to implement all of the features of ISO Standard C++ by translation to C, and except for exception handling, it typically results in object code with efficiency comparable to that of the code generated by a conventional C++ compiler.

Here are some products that perform compilation to C (note: if you know of any other products that do this, please let us know):

Comeau Computing offers a compiler based on Edison Design Group’s front end that outputs C code.
LLVM is a downloadable compiler that emits C code. See also here and here.
Cfront, the original implementation of C++, done by Bjarne Stroustrup and others at AT&T, generates C code. However it has two problems: it’s been difficult to obtain a license since the mid 90s when it started going through a maze of ownership changes, and development ceased at that same time and so it doesn’t get bug fixes and doesn’t support any of the newer language features (e.g., exceptions, namespaces, RTTI, member templates).
Contrary to popular myth, as of this writing there is no version of g++ that translates C++ to C. Such a thing seems to be doable, but I am not aware that anyone has actually done it (yet).

Note that you typically need to specify the target platform’s CPU, OS and C compiler so that the generated C code will be specifically targeted for this platform. This means: (a) you probably can’t take the C code generated for platform X and compile it on platform Y; and (b) it’ll be difficult to do the translation yourself — it’ll probably be a lot cheaper/safer with one of these tools.

One more time: do not email me saying these are just preprocessors — they are not — they are compilers.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2016, 11:06
Привет! Вот еще темы с ответами:

OOP Конструктор копирования - C++
Есть программа Вопрос: При закомментировании конструктора копирования в ход идет дефолтный конструктор копирования но при этом он...

"OOP.Hospital.Adress" не содержит конструктор, который принимает аргументы "4" E:\OOP\OOP\Program.cs - C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OOP { class...

OOP - Java
как вывести два одинаковых контракта по регистрационому номеру . будет Контракт Рег нр "123" Имя Зарплата подходит:...

OOP в PHP - PHP ООП
пожалуйста помогите найти ошибку, браузер говорит такая ошибка Parse error: syntax error, unexpected ')', expecting ';' in...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.