Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2017, 08:57   #1
SeemaN_tm
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 16
По умолчанию Си/С++ интерпретация в Паскаль/Delphi

Не нашел на этом форуме такой важной темы.
Давайте здесь обсуждать, объяснять возникшие вопросы и пытаться интерпретировать.

Не сочтите за не скромность, но я первый.
Код:
struct vtable
    {
        int32_t (*e0)();
        int32_t (*e1)(int32_t);
        int32_t e2;
        int64_t e3;
    }
Этот фрагмент кода нужно представить в Pascal/Delphi
Вот на что меня хватило:
Код:
Type vtable = record
        int32_t (*e0)();
        int32_t (*e1)(int32_t);
        e2: Integer;
        e3: Int64;
    End;
Подскажите как поступить с остальным. И правильно ли я вообще что то сделал ?
SeemaN_tm вне форума Ответить с цитированием
Старый 10.03.2017, 10:28   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Это у вас функциональный тип

Код:
typedef double (*TFunction)(double); // имя нового типа - TFunction;
type TFunction= function (value:double):double; // value - имя переменной
Код:
Type vtable = record
        e0: function():Integer;
        e1: function(value:Integer):Integer;
        e2: Integer;
        e3: Int64;
    End;
Для переводов исходных кодов есть разные утилиты:
http://cc.embarcadero.com/Item/26951
http://www.swig.org/exec.html
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 10.03.2017, 13:41   #3
SeemaN_tm
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 16
По умолчанию

Цитата:
struct vtable g14 = {
.e0 = function_3b4048801,
.e1 = function_3b4048be
};
Тоже осилить не могу.
А самое плохое, смысл этих строк очень далёк.
Примеров подобных не находил, а я привык по ним разбираться.
Цитата:
var g14:vtable = (
e0: function_3b4048801,
e1: function_3b4048be
);
Подскажите как поступить.

Последний раз редактировалось SeemaN_tm; 10.03.2017 в 13:44.
SeemaN_tm вне форума Ответить с цитированием
Старый 10.03.2017, 16:49   #4
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Код:
Const g14:vtable = (
e0: @function_3b4048801;
e1: @function_3b4048be;
e2:0;
e3:0
);
Если не сработает, то инициализацию переменной сделаешь кодом.

Код:
Var g14:vtable;
Procedure g14_init;
Begin
g14.e0 := @function_3b4048801;
g14.e1 := @function_3b4048be;
End;
...
Inalize
g14_init;
...
end.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интерпретация законов физики IonGig Общие вопросы Delphi 3 26.02.2015 16:57
Графическая интерпретация функций VAANsk Общие вопросы C/C++ 2 16.03.2013 21:20
Интерпретация задач С++ Damassk Помощь студентам 0 18.12.2011 19:51
Интерпретация (Asm) процессов в C. abzatzzz Фриланс 0 03.04.2011 20:31
Интерпретация 2 слов Kasper1 Свободное общение 2 02.03.2011 01:34