Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012Что тебя смущает, то?То, например, что в своё время я изучал SAA REXX API и знаю, что соглашения о вызовах эта мелочь, на которую, в общем-то, можно не обращать внимания. И автоматическое распознавание сигнатур никак не меняет ситуацию. Семантика, в общем, много важнее синтаксиса, а искусственный интеллект так и не создан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 21:20 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovС оговоркой "заранее известную". В той же Firebird приходится неприятно выкручиваться для вызова User-Defined Function. Система знает о тех dll c которыми она будет работать, а значит /грубо говоря/ знает все об, имеющихся там функциях /тип возвращаемого значения, количество, порядок и типы параметров/. Кроме того имеется некая meta информация об назначении функций /предположим к какой категории она относится/, ... Какую-то часть данных можем получать на этапе получения псевдокода. При этом в боевых условиях будет использоваться не псевдокод, а машинный В какой-то мере те же идеи по оптимизации выполнения, что и в .Net ... Некоторые скажут, а зачем мне все это если уже имеется .Net. И по своему будут правы. Мне так придется решать эти вопросы в силу той задачи, которую решаю. PS: Скажете зачем все это? Ну так такой же вопрос можете задать разработчикам интерпретаторов, ... ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 21:26 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир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 = в рантайме интерпретатору могут сказать. Он (интерпретатор) не сам понимает, а ему говорят. Вот это и есть камень преткновения во всем этом топике. Ты желаешь чтобы вызывающий сам всегда понимал какие там параметры требуются. Мы говорим что в универсальном виде это не решается. Да и в не универсальном виде нужно чрезвычайно редко. Да, в некоторых случаях нужно и можно сделать вызов функции из внешнего модуля если ты не знаешь ее списка параметров, но это нужно чрезвычайно редко. Настолько редко что я сейчас сходу даже не могу назвать когда мне это бывало необходимо. Но каждый раз это все равно решалось более элегантно и проще через враппер с заранее определенным числом параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 21:26 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovСемантика, в общем, много важнее синтаксиса, При создании объекта системы конечно будет оговорен API, который все "донесет" об всех своих талантах. И научит систему в каких случаях и по какому случаю к нему можно обратиться. Посмотри например в 1С на раздел создания внешних компонент. У меня все будет не так организовано, но суть останется та же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 21:36 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012Посмотри например в 1С на раздел создания внешних компонент ну на это лучше не смотреть. в вот P/Invoke из .net - куда больше информации даст о вызове функций из dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 21:41 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
White OwlДа, в некоторых случаях нужно и можно сделать вызов функции из внешнего модуля если ты не знаешь ее списка параметров, Опять двадцать-пять. Мне нужна возможность run-time выполнения функции, о которой система знает все. Семантику, назначение функции, параметрах, ... Т.е. как бы meta информация вся есть и согласно этим данным обеспечиваем ее вызов на выполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 21:46 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Изопропилну на это лучше не смотреть Ну а почему бы и нет. Чем не пример? Разработчик создает внешнюю компоненту который для 1С становится родным объектом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 22:02 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012White OwlДа, в некоторых случаях нужно и можно сделать вызов функции из внешнего модуля если ты не знаешь ее списка параметров, Опять двадцать-пять. Мне нужна возможность run-time выполнения функции, о которой система знает все. Семантику, назначение функции, параметрах, ...Тогда что тебе не нравится в нынешней DLL? Ты сам себе противоречишь. То ты страдаешь от отсутствия мета-инфы, то она у тебя уже есть. Так что, да. Опять двадцать-пять. Опиши задачу которую ты решаешь. Не можешь? Это торговая тайна? Тогда ты просто необразованный болтун. Ну или троль, что еще хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 22:46 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012Изопропилну на это лучше не смотреть Ну а почему бы и нет. Чем не пример? Разработчик создает внешнюю компоненту который для 1С становится родным объектом.И? Ты прямо сейчас это можешь взять и сделать. Делаешь модуль соблюдая API описанный в документации на 1С и получаешь свой собственный "родной объект". Что тебя останавливает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 22:49 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012Чем не пример? пример. Но есть и получше, Python -C и вариации типа cython ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 22:57 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
White OwlТы сам себе противоречишь. То ты страдаешь от отсутствия мета-инфы, то она у тебя уже есть. Из самого первого topic ясно было сказано, что я знаю и тип возвращаемого значения и данные об параметрах /путем demangle из dll/. Но те кто читают topic по диагонали слева на право, а другие с право на лево и при этом пропускают блоками текст прицепились ко мне с претензиями - зачем тебе выполнять неизвестно какую функцию и не известно зачем. Но так как меня не слушали, то я попытался пойти путем, требовавших от меня логичности /так как по их мнению то чего я хочу ни когда не кому не нужно/. Теперь ты меня обвиняешь в моей нелогичности Вообщем ... PS: Я не троль, но мне и самому это уже поднадоело. Да и раз 5 или более я уже предагал прекратить обсуждение. Механизм использования внешних компонент 1С это довольно удачный пример. 1С получает данные об названиях функций, и количестве параметров и на основании этих данных с использованием IDispatch обеспечивает вызов функций. ... Опиши задачу которую ты решаешь. Я что мало привел примеров ... Давайте закончим на этом обсуждение /это уже не смешно .../ Тем более, что Изопропил привел неплохие ссылки и в принципе думаю он понял чего автор хочет добиться - возможность run-time выполнения функции, о которой система знает все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 23:49 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
White OwlДелаешь модуль соблюдая API описанный в документации на 1С и получаешь свой собственный "родной объект". Что тебя останавливает? Да ни чего меня не останавливает. Свою rapid систему пытаюсь разработатью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 23:54 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Слушайте перечитал придирчиво и многократно topic в котором попросил помощи. Что в нем непонятного или абсурдного, что меня 20 или 30 раз просили рассказать чего я хочу? PS: . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 00:17 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012 Из самого первого topic ясно было сказано, что я знаю и тип возвращаемого значения и данные об параметрах /путем demangle из dll/.Вот с самого первого вопроса тебя и спрашивают зачем ты это делаешь? Если система знает все о вызываемой функции, то ей не нужно ничего про эту функцию узнавать. Уже и так все известно. Если же о функции не известно хоть что-нибудь, то зачем эту функцию вызывать? demangle имеет смысл делать только при взломе или поиске ошибки линковки, для реальной работы это совершенно не нужно. Если ты разрабатываешь библиотеку которая делает demangle то значит ты сумел придумать еще какую-то задачу. Вот это у тебя и спрашивают. Владимир2012 Я что мало привел примеров ...Ты их вообще не привел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 01:29 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012Из самого первого topic ясно было сказано, что я знаю и тип возвращаемого значения и данные об параметрах /путем demangle из dll/. Видимо, один ты тут не знаешь, что во-первых, способ обработки имён компиляторозависимый, а во-вторых, функции из DLL обычно экспортируются в С-форме. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 01:34 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
White Owldemangle имеет смысл делать только при взломе или поиске ошибки линковки, для реальной работы это совершенно не нужно. Изопропил же привел хорошие ссылки. Зайди к примеру на http://luajit.org/ext_ffi.html. Тот вопрос, который решаю конечно не типичный как бы это сказать для "пользовательских" задач. А вот для интерпретаторов, ... - типичен. demangle использую лишь для того, чтобы избавить программиста от передачи декларации функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 08:31 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир. Давайте ваши тезисы перенесём в блог в домене sql.ru. А здесь - закончим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 10:37 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012demangle использую лишь для того, чтобы избавить программиста от передачи декларации функции. такие функции ещё поискать нужно. то что мне встречалось - это функции, не предназначенные для вызова внешним кодом, по ошибке попавшие в экспорт. Да и сложности совсем не с прототипом, а скорее с указаниями по управлению памятью(который из сигнатуры никак не добыть) -кто и когда должен выделить и освободить память, и каким механизмом(GlobalAlloc,CoTaskMemAlloc) -строки NULL-terminated или со счётчиком (BSTR) -при передаче массивов - как добыть длину (из какого параметра, с каким смещением, по ограничителю) -входные-выходные и т д ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 11:00 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
ИзопропилДа и сложности совсем не с прототипом, а скорее с указаниями по управлению памятью(который из сигнатуры никак не добыть) Любопытно услышать это. Ведь topic и начинался с этого. PS: М-да ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 12:42 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Владимир2012, чтоб не придумывать свой язык для описания прототипов можно взять P/Invoke (из .net) http://www.pinvoke.net/ просто парсить .h - не поможет - способ выделения памяти в документации описывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 13:05 |
|
||
|
Про улучшение DLL
|
|||
|---|---|---|---|
|
#18+
Изопропилчтоб не придумывать свой язык для описания прототипов можно взять P/Invoke (из .net) Разработка не базируется на технологии .Net /а вот идеи заимствуются и из нее и из других технологий/. PS: Думаю нужно закончить обсуждение в этом topic. Если считаешь целесообразным, то дай мне свой e-mail ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 13:41 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38800100&tid=2019236]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 276ms |
| total: | 418ms |

| 0 / 0 |
