Page 75 of 77

Re: Помогите новичку

Posted: Fri Oct 05, 2018 12:46 pm
by Leency
В KFM впервые встречаю использование функции 64.1 - перераспределить память приложения.
Что она делает? Для чего используется?

Re: Помогите новичку

Posted: Fri Oct 05, 2018 2:22 pm
by 0CodErr
Если из справки по сис.функциям непонятно, то можешь почитать https://en.wikipedia.org/wiki/Brk
Вот она в ядре http://websvn.kolibrios.org/filedetails ... 7#line-369
В KolibriOS.Lib она определена вот так

Code: Select all

{64}      Function  ReallocAppMemory(Count: Dword): Integer; StdCall; External 'KolibriOS';
В чате уже был задан вопрос и я ответил ранее
0CodErr « Чт сен 27, 2018 12:39 am » для 64-ой функции как и написано в доке нужно указывать в качестве параметра новый размер памяти. Я использовал такую функцию в программе PELoad http://board.kolibrios.org/viewtopic.php?f=9&t=2318
0CodErr « Чт сен 27, 2018 12:42 am » вот так https://pastebin.com/9eEKxLVH

Re: Помогите новичку

Posted: Fri Oct 05, 2018 4:02 pm
by Leency
Т.е. 64.1 изменяет размер памяти, которая прилегает к приложению? Находится в конце, где блок данных?
А вдруг там в конце другая программа начинается и мы в нее упремся?

Как я понимаю плюсы по сравнению с реаллок, что адрес не меняется и все происходит куда быстрее. Или что-то еще?

Re: Помогите новичку

Posted: Fri Oct 05, 2018 4:13 pm
by 0CodErr
Leency wrote:А вдруг там в конце другая программа начинается и мы в нее упремся?
Нет :lol: Это же всё в ядре разруливается.
Гугли что-нибудь про "виртуальное адресное пространство", ну, к примеру

Re: Помогите новичку

Posted: Fri Oct 05, 2018 8:10 pm
by Siemargl
Leency wrote:Т.е. 64.1 изменяет размер памяти, которая прилегает к приложению? Находится в конце, где блок данных?
А вдруг там в конце другая программа начинается и мы в нее упремся?

Как я понимаю плюсы по сравнению с реаллок, что адрес не меняется и все происходит куда быстрее. Или что-то еще?
если у тебя известен объем памяти, то без системного вызова гораздо быстрее

Re: Помогите новичку

Posted: Thu Jan 24, 2019 10:13 pm
by bad_Dr3dd0x
Можно пожалуйста код простейшей программы для Колибри (желательно оконная)?

Re: Помогите новичку

Posted: Thu Jan 24, 2019 10:35 pm
by dunkaist
Not the simplest one, but with comments in both English and Russian: http://websvn.kolibrios.org/listing.php ... 9fef6ace8c

Re: Помогите новичку

Posted: Fri Jan 25, 2019 12:23 am
by Leency
Alex2003 wrote:Можно пожалуйста код простейшей программы для Колибри (желательно оконная)?
В самой Колибри есть.
example.asm на рамдиске.

Re: Помогите новичку

Posted: Fri Jan 25, 2019 1:43 pm
by bad_Dr3dd0x
Спасибо!

Re: Помогите новичку

Posted: Sun Jan 05, 2020 3:11 pm
by gc986
Не могу откомпилировать простейшее приложение для командной строки, компилятор выводит следующее:
cmdipc.inc file not found
Файл устарел и его выпилили? Есть актуальный пример? Пример взял отсюда: http://websvn.kolibrios.org/filedetails ... Fhello.asm

Re: Помогите новичку

Posted: Sun Jan 05, 2020 6:54 pm
by tsdima
Файл лежит в той-же папке (по крайней мере на svn): http://websvn.kolibrios.org/listing.php ... 80a17971a3

Но он ссылается на "..\..\..\..\macros.inc", так что если структура каталогов отличается от структуры папок на svn, то будут ошибки.

Re: Помогите новичку

Posted: Sun Jan 05, 2020 6:56 pm
by gc986
tsdima wrote:Файл лежит в той-же папке (по крайней мере на svn): http://websvn.kolibrios.org/listing.php ... 80a17971a3
Оооо, благодарю ))! Думал что этот файл стандартный заголовочный ))

Re: Помогите новичку

Posted: Tue Jan 07, 2020 9:49 pm
by gc986
Ок, приложение собралось без ошибок. Но теперь как мне его запустить? Открываю Shell перехожу в папку, запускаю hello, а в ответ только "'hello' запущен. PID = nn". Это приложение разве должно выполняться в бэке? Это же по идее должен быть просто вывод на экран строки

Re: Помогите новичку

Posted: Thu Jan 09, 2020 3:49 pm
by tsdima
Запускать можно из нескольких файловых менеджеров. Shell это вещь в себе, поддержки консоли в привычном понимании в Колибри нет, каждая программа открывает своё окно (оно может выглядеть как консольное приложение, например тот-же Shell). Если после запуска окно не появилось, значит что-то пошло не так (например не найдена используемая библиотека).

Re: Помогите новичку

Posted: Sat Jan 11, 2020 9:15 pm
by bad_Dr3dd0x
Загружал папку на SVN, но ничего не получилось... Версия 1.10.5 для 64 битной системы. Логин, пароль и адрес SVN вроде правильные.
Помогите пожалуйста :( !!!