Создание Эльфов : Эльфостроение : Форум

Страница 139 из 211: « 1 ... 135 136 137 138 [139] 140 141 142 143 ... 211 »

 DuXeN0N:
12.07.10, 09:03
 может кто-нибудь дать пример работы с LibraryDLL?

 Ну6иК:
12.07.10, 09:15
 DuXeN0N, вобщем-то самому с ней работать не надо, эльфлоадер сам обратиться к ней по необходимости

 DuXeN0N:
12.07.10, 09:19
 Ну6иК, просто обращаться к функциям и все? инклудить export\LibraryDLL.h и потом
_LIBRARY_DLL_DATA *Dll;
Dll->dll_GC_PutChar(??)

 Ну6иК:
12.07.10, 09:26
 ничего инклудить не надо, просто GC_PutChar(...). дальше лоадер сам решит откуда ему функцию брать, из длл или из библиотеки из прошивки

IronMaster писал:
Прошло немножко времени, а ЭП снова обновился.
Основное ее отличие - кеширование библиотеки функций и патчинг таблички адресов в соответствии с длл.
...
В эльфах ничего менять не нужно.


 DuXeN0N:
12.07.10, 09:27
 Ну6иК, ааа. ну тогда круто

 Ну6иК:
12.07.10, 19:27
 как-то в теме кто-то спрашивали как прикрутить иаровский компилятор к visual studio, но ответа не было
вот, нашел способ, он оказался довольно таки простым

для этого заходим visual studio -> tools -> external tools, добавляем новую команду, называем как хотим. в поле command пишем путь к iarbuild, в поле arguments список параметров( что то типа "$(ProjectDir)..\main.ewp" -make "Release" -log warnings) и ставим галку на use output windows. собственно все. теперь эльфов можно компилировать прямо из visual studio простым нажатием tools -> только что созданная команда

да, вот еще что. visual studio не понимает вещи типа
Код:
#pragma swi_number=0x103
__swi __arm void* malloc( int size );

и поэтому не подсвечивает прототипы функций, но это лечится редактированием файла Lib_Clara.h
вот если кому надо, приложил уже отредактированный файл

Прикрепленный к сообщению файл:

Lib_Clara.zip Lib_Clara.zip (22.14 kb; 2 hits) Скачать файл

 unfunk:
12.07.10, 19:57
 Ну6иК, надо было в начале файла написать #define __swi и #define __arm.
Команду тоже можно забиндить на комбинацию клавиш. Еще советую поставить VisualAssistX, с ним намного удобнее =)

 Ну6иК:
12.07.10, 20:49
 unfunk писал:
Ну6иК, надо было в начале файла написать #define __swi и #define __arm.

угу, так действительно проще =)

unfunk писал:
Еще советую поставить VisualAssistX, с ним намного удобнее

скачал я его, по-моему он излишне много за тебя делает

 Ну6иК:
18.07.10, 17:55
 а можно как то в иаре обработку исключений включить?

 Pavlus:
18.07.10, 20:49
 Почему
Код: 

int isMyElfBook(BOOK * book){
  if(!strcmp(book->xbook->name,BookName)) return(1);
return(0);
}

BOOK * CreateMYBook()
{
  MYBook= new BOOK;
  CreateBook(MYBook,onCloseMYBook,&base_page,BookName,-1,0);
  return(MYBook);
}

int main (void)
{
  if(FindBook(isMyElfBook)){
    char * strMsg=BookName;
    strcat(BookName," is running");
    MessageBox(0x6FFFFFFF,Str2ID(strMsg,6,SID_ANY_LEN),NOIMAGE,1,5000,0);
    SUBPROC(elf_exit);
  }
  else{
    CreateMYBook();}
  timer=Timer_Set(500,onTimer,0);
  return(0);
}
ребутит после исчезания сообщения?
Страница 139 из 211: « 1 ... 135 136 137 138 [139] 140 141 142 143 ... 211 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=2479&start=1380

© 2005-2018 supertrubka.org