powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Про улучшение DLL
21 сообщений из 121, страница 5 из 5
Про улучшение DLL
    #38800077
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Что тебя смущает, то?То, например, что в своё время я изучал SAA REXX API и знаю, что соглашения о вызовах эта мелочь, на которую, в общем-то, можно не обращать внимания. И автоматическое распознавание сигнатур никак не меняет ситуацию.
Семантика, в общем, много важнее синтаксиса, а искусственный интеллект так и не создан.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800079
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovС оговоркой "заранее известную". В той же Firebird приходится неприятно выкручиваться для
вызова User-Defined Function.
Система знает о тех dll c которыми она будет работать, а значит /грубо говоря/ знает все об,
имеющихся там функциях /тип возвращаемого значения, количество, порядок и типы параметров/.
Кроме того имеется некая meta информация об назначении функций /предположим к какой категории
она относится/, ...
Какую-то часть данных можем получать на этапе получения псевдокода.
При этом в боевых условиях будет использоваться не псевдокод, а машинный
В какой-то мере те же идеи по оптимизации выполнения, что и в .Net ...
Некоторые скажут, а зачем мне все это если уже имеется .Net.
И по своему будут правы.
Мне так придется решать эти вопросы в силу той задачи, которую решаю.

PS: Скажете зачем все это?
Ну так такой же вопрос можете задать разработчикам интерпретаторов, ... ...
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800080
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Basil A. SidorovС памятью как работать будем?
https://sourceware.org/libffi/ Я еще толком не разбирался с этой библиотекой.
Хотя вот в manual сказано:
"For instance, an interpreter may be told at run-time about the number and types of arguments used to call a
given function. Libffi can be used in such programs to provide a bridge from the interpreter program to
compiled code.
"
Что тебя смущает, то?

Интерпретатор некоим образом понимает, что производится вызов функции, определяет тип возвращаемого
значения, аргументов, распределяет память, вызывает run time функцию ...
/это всего лишь пример. На самом деле все будет "так да не так"/.Ты не правильно переводишь.

an interpreter may be told at run-time = в рантайме интерпретатору могут сказать.
Он (интерпретатор) не сам понимает, а ему говорят.

Вот это и есть камень преткновения во всем этом топике. Ты желаешь чтобы вызывающий сам всегда понимал какие там параметры требуются. Мы говорим что в универсальном виде это не решается. Да и в не универсальном виде нужно чрезвычайно редко.

Да, в некоторых случаях нужно и можно сделать вызов функции из внешнего модуля если ты не знаешь ее списка параметров, но это нужно чрезвычайно редко. Настолько редко что я сейчас сходу даже не могу назвать когда мне это бывало необходимо. Но каждый раз это все равно решалось более элегантно и проще через враппер с заранее определенным числом параметров.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800084
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovСемантика, в общем, много важнее синтаксиса,
При создании объекта системы конечно будет оговорен API, который все "донесет" об всех своих
талантах. И научит систему в каких случаях и по какому случаю к нему можно обратиться.
Посмотри например в 1С на раздел создания внешних компонент.
У меня все будет не так организовано, но суть останется та же.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800088
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Посмотри например в 1С на раздел создания внешних компонент
ну на это лучше не смотреть.

в вот P/Invoke из .net - куда больше информации даст о вызове функций из dll
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800096
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlДа, в некоторых случаях нужно и можно сделать вызов функции из внешнего модуля если ты не знаешь ее списка параметров,
Опять двадцать-пять.
Мне нужна возможность run-time выполнения функции, о которой система знает все.
Семантику, назначение функции, параметрах, ...
Т.е. как бы meta информация вся есть и согласно этим данным обеспечиваем ее вызов на выполнение.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800100
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилну на это лучше не смотреть
Ну а почему бы и нет.
Чем не пример?
Разработчик создает внешнюю компоненту который для 1С становится родным объектом.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800121
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012White OwlДа, в некоторых случаях нужно и можно сделать вызов функции из внешнего модуля если ты не знаешь ее списка параметров,
Опять двадцать-пять.
Мне нужна возможность run-time выполнения функции, о которой система знает все.
Семантику, назначение функции, параметрах, ...Тогда что тебе не нравится в нынешней DLL?
Ты сам себе противоречишь. То ты страдаешь от отсутствия мета-инфы, то она у тебя уже есть.

Так что, да. Опять двадцать-пять. Опиши задачу которую ты решаешь. Не можешь? Это торговая тайна? Тогда ты просто необразованный болтун. Ну или троль, что еще хуже.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800122
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Изопропилну на это лучше не смотреть
Ну а почему бы и нет.
Чем не пример?
Разработчик создает внешнюю компоненту который для 1С становится родным объектом.И? Ты прямо сейчас это можешь взять и сделать.
Делаешь модуль соблюдая API описанный в документации на 1С и получаешь свой собственный "родной объект". Что тебя останавливает?
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800127
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Чем не пример?
пример.

Но есть и получше,
Python -C и вариации типа cython
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800138
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlТы сам себе противоречишь. То ты страдаешь от отсутствия мета-инфы, то она у тебя уже есть.
Из самого первого topic ясно было сказано, что я знаю и тип возвращаемого значения и данные об
параметрах /путем demangle из dll/.
Но те кто читают topic по диагонали слева на право, а другие с право на лево и при этом пропускают
блоками текст прицепились ко мне с претензиями - зачем тебе выполнять неизвестно какую функцию и
не известно зачем.
Но так как меня не слушали, то я попытался пойти путем, требовавших от меня логичности
/так как по их мнению то чего я хочу ни когда не кому не нужно/.
Теперь ты меня обвиняешь в моей нелогичности
Вообщем ...

PS: Я не троль, но мне и самому это уже поднадоело. Да и раз 5 или более я уже предагал
прекратить обсуждение.

Механизм использования внешних компонент 1С это довольно удачный пример.
1С получает данные об названиях функций, и количестве параметров и на основании этих
данных с использованием IDispatch обеспечивает вызов функций.

... Опиши задачу которую ты решаешь.

Я что мало привел примеров ...

Давайте закончим на этом обсуждение /это уже не смешно .../

Тем более, что Изопропил привел неплохие ссылки и в принципе думаю он понял чего автор
хочет добиться - возможность run-time выполнения функции, о которой система знает все.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800140
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlДелаешь модуль соблюдая API описанный в документации на 1С и получаешь свой собственный "родной объект". Что тебя останавливает?
Да ни чего меня не останавливает.
Свою rapid систему пытаюсь разработатью
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800146
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушайте перечитал придирчиво и многократно topic в котором попросил помощи.
Что в нем непонятного или абсурдного, что меня 20 или 30 раз просили рассказать чего я хочу?

PS: .
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800171
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012 Из самого первого topic ясно было сказано, что я знаю и тип возвращаемого значения и данные об
параметрах /путем demangle из dll/.Вот с самого первого вопроса тебя и спрашивают зачем ты это делаешь?
Если система знает все о вызываемой функции, то ей не нужно ничего про эту функцию узнавать. Уже и так все известно.

Если же о функции не известно хоть что-нибудь, то зачем эту функцию вызывать?
demangle имеет смысл делать только при взломе или поиске ошибки линковки, для реальной работы это совершенно не нужно. Если ты разрабатываешь библиотеку которая делает demangle то значит ты сумел придумать еще какую-то задачу. Вот это у тебя и спрашивают.

Владимир2012 Я что мало привел примеров ...Ты их вообще не привел.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800174
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Из самого первого topic ясно было сказано, что я знаю и тип
возвращаемого значения и данные об параметрах /путем demangle из dll/.
Видимо, один ты тут не знаешь, что во-первых, способ обработки имён компиляторозависимый,
а во-вторых, функции из DLL обычно экспортируются в С-форме.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800233
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owldemangle имеет смысл делать только при взломе или поиске ошибки линковки, для реальной работы это совершенно не нужно.
Изопропил же привел хорошие ссылки.
Зайди к примеру на http://luajit.org/ext_ffi.html.
Тот вопрос, который решаю конечно не типичный как бы это сказать для "пользовательских" задач.
А вот для интерпретаторов, ... - типичен.
demangle использую лишь для того, чтобы избавить программиста от передачи декларации функции.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800370
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир. Давайте ваши тезисы перенесём в блог в домене sql.ru.

А здесь - закончим.
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38800422
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012demangle использую лишь для того, чтобы избавить программиста от передачи декларации функции.
такие функции ещё поискать нужно.
то что мне встречалось - это функции, не предназначенные для вызова внешним кодом,
по ошибке попавшие в экспорт.

Да и сложности совсем не с прототипом, а скорее с указаниями по управлению памятью(который из сигнатуры никак не добыть)
-кто и когда должен выделить и освободить память, и каким механизмом(GlobalAlloc,CoTaskMemAlloc)
-строки NULL-terminated или со счётчиком (BSTR)
-при передаче массивов - как добыть длину (из какого параметра, с каким смещением, по ограничителю)
-входные-выходные

и т д
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38804727
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилДа и сложности совсем не с прототипом, а скорее с указаниями по управлению памятью(который из сигнатуры никак не добыть)

Любопытно услышать это.
Ведь topic и начинался с этого.

PS: М-да ...
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38804761
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012,

чтоб не придумывать свой язык для описания прототипов можно взять P/Invoke (из .net)
http://www.pinvoke.net/


просто парсить .h - не поможет - способ выделения памяти в документации описывается
...
Рейтинг: 0 / 0
Про улучшение DLL
    #38804807
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилчтоб не придумывать свой язык для описания прототипов можно взять P/Invoke (из .net)
Разработка не базируется на технологии .Net /а вот идеи заимствуются и из нее и из других технологий/.

PS: Думаю нужно закончить обсуждение в этом topic.
Если считаешь целесообразным, то дай мне свой e-mail ...
...
Рейтинг: 0 / 0
21 сообщений из 121, страница 5 из 5
Форумы / C++ [игнор отключен] [закрыт для гостей] / Про улучшение DLL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]