A2 & Oberon GOOGLE trans to English      Помощь      Поиск      Пользователи  Файловый архив


 Страниц (7): « 1 2 3 4 [5] 6 7 »   

> Описание: Обсуждение Среды разработки и Компилятора Оберон-2
satan
Отправлено: 24 Августа, 2009 - 08:12:16
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Выложил обновление суда http://satan.ho.com.ua/fed.zip

Обновил редактор...

Добавил выделение экспортированных функций
Добавил всплывающее окно с авто подстановкой и автоматической сортировкой по начальным символам (Попробуйте набрать SY и подождать сек.)
Доработал мультикомментарии (теперь они работают быстрее и эффективнее, а главное правильно!)

При кликанье на Warning или Danger сообщения авто переход на ошибку с открытием файла...

(Отредактировано автором: 28 Сентября, 2009 - 02:59:53)

 
 Top
BohdanT Администратор
Отправлено: 28 Сентября, 2009 - 10:18:11
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Цитата:
Спасиб, это есть, но мне интересно было как прописать загрузку из библиотек в ручную, а тут выходит все зашито в линкер...

То есть такого как в BB, допустим нет

PROCEDURE SetMenuItemInfoW* ["USER32.dll", ""] (p0: HMENU; p1: INTEGER; p2: BOOL; VAR [nil] p3: MENUITEMINFOW): BOOL;

В примере, что ты привел, это случай "зашито в линкер"


Так, открываем из архива, на который я дала ссылку в прошлый раз WINAPI.RTF
Читаем:
LoadLibraryW
defined in module WinBase
Syntax
PROCEDURE [_APICALL] LoadLibraryW(lpLibFileName:WD.LPCWSTR):WD.HMODULE

GetProcAddress
defined in module WinBase
Syntax
PROCEDURE [_APICALL] GetProcAddress(hModule:WD.HMODULE;
lpProcName:WD.LPCSTR):WD.FARPROC

это функции для того, что бы работать с делялельками во время выполнения. Они работатют так же как в Си и Делфи, т.ч. примеров море.

Цитата:
Далее, отказался от OBJ файлов, луче сделать все таки раздельные линкеры...
Кто может посоветовать с эффективным (ASM) кодом всегда рад буду.

Непонятно, что имеется ввиду "раздельные линкеры"?
Линкеры никаким образом не связаны с "эффективным (ASM) кодом".

Цитата:
Время компиляции самого себя на Обероне у меня 0.3 сек (около 30 000 строк кода), но это из-за дурацкой прорисовки ListView а в виртуальном режиме гораздо меньше...

30к строк кода за 0.3 секунды, это неплохо.
 
 Top
satan
Отправлено: 28 Сентября, 2009 - 14:18:57
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Мож я чего то не понимаю??? Но я никак не пойму, где делялелька то указывается из которой все грузить? В POW документации все красиво, токма в их исходнике нет вызова из DLL...

Как пример из делфей

FUNCTION  LinkDll(text : STRING) :      BOOLEAN;  EXTERNAL 'LINK.DLL';

Вот тут я вижу что фукция LinkDll() вызываеца из LINK.DLL,

а можно пример аналога на POW? Например вызова MessageBox? Не понял

ЗЫ...

0.3 секунды - это много, потому как прокрутка в Debug Message медленно работает

Так думаю 0.1 - 0.15 сек Радость

К стати, что бы легше было разбираца в этом, вот http://satan.ho.com.ua/compiler.zip исходники этого же компилера под XDS
Единственное неудобство - это работа без командной строки. Если кто то прикрутит к нему передачу параметров из CommandLine будет консольный компилятор OBERON 2

(Отредактировано автором: 28 Сентября, 2009 - 14:59:42)

 
 Top
BohdanT Администратор
Отправлено: 28 Сентября, 2009 - 18:52:00
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




если делать динамическую загрузку, то где то так (без проверок):

module:=LoadLibrary("MyLib.dll");
proc:=GetProcAddress(module,"TestProc");

(Добавление)
если делать статичскую, то нужно глядеть...
 
 Top
satan
Отправлено: 28 Сентября, 2009 - 19:04:23
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Ага - ага... Уже близко к телу, BohdanT дружище а не накидаешь полный модуль допустим вызова ExitProcess из Kernel32.dll ???

Буду безмерно признателен...
 
 Top
BohdanT Администратор
Отправлено: 28 Сентября, 2009 - 19:30:25
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Готово Хорошо
Цитата:
ExitProcess
defined in module WinBase
Syntax
PROCEDURE [_APICALL] ExitProcess(uExitCode:WD.UINT)
 
 Top
satan
Отправлено: 28 Сентября, 2009 - 21:33:51
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Блин, так мы вечно будем выяснять, вообщем понятно, POW как я и думал не может импортировать функции из dll....

Значит будем делать....

Что-то типа вот такого синтаксиса

PROCEDURE [_APICALL,"Kernel32.dll","ExitProcess"] ExitProc(uExitCode:WD.UINT)
 
 Top
satan
Отправлено: 11 Ноября, 2010 - 22:53:28
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Вообчем слепил, собрал по крохам, скомпоновал, Актив Оберон компилер для винды (консольный) из плугина оберона 95/NT...

Блин, ток в консоли косяки, не отображает текст... Пример гуи и компилера на http://www.diana-cms.ru/sample.zip

Кто поможет в доработке милсти просим...
 
 Top
BohdanT Администратор
Отправлено: 12 Ноября, 2010 - 19:57:08
Post Id



Super Member


Покинул форум
Сообщений всего: 606
Дата рег-ции: Июль 2008  
Откуда: Киев, Украина
Репутация: 2




Работает
(Добавление)
Цитата:
Блин, ток в консоли косяки, не отображает текст...


Нужно добавить: WinTrace.OpenConsole();
 
 Top
satan
Отправлено: 12 Ноября, 2010 - 20:18:41
Post Id



Newbie


Покинул форум
Сообщений всего: 38
Дата рег-ции: Июль 2009  
Репутация: 0




Эээээ.... А можно примерчик пожалста, или парочку...
Кстати исходники если надо, через личку!!!
 
 Top
Страниц (7): « 1 2 3 4 [5] 6 7 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« Cредства разработки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Locations of visitors to this page
[Valid RSS]

RSS

Valid CSS!


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0223]     [ Gzipped ]