Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн дек 18, 2017 12:06 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 95 сообщений ]  На страницу Пред. 1 2 3 4 57 След.
Автор Сообщение
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Вт июл 12, 2016 1:18 am 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1077
Я правильно понял, из-за проблем с относительными путями, собрать одну из программ на SVN не выйдет? Или же я что-то не так делал?

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Вт июл 12, 2016 10:27 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
GerdtR писал(а):
Увы, в КОС текущий каталог устанавливается как /rd/0 и не важно откуда запущена прога. А у прог с newlib текущий каталог ставится как путь, где находится сам кекс, что не многим лучше.
Не так. Все приложения в системе наследуют текущий каталог от родительского процесса. Это свойство ядра. Разработчики файловых менеджеров забывают переключать рабочий каталог при навигации по дереву. Поэтому рекомендую пользоваться SHELL.


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Вт июл 12, 2016 4:57 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
Serge писал(а):
Поэтому рекомендую пользоваться SHELL.
Так вроде у Shell тоже "/rd/1". svn6300-img

Это выводит текущую директорию в BOARD:
Спойлер: Показать
Код:
ORG 0
BITS 32
; ------------------------------------- ;
STACK_SIZE             equ 256
; ------------------------------------- ;
MENUET01                db 'MENUET01'
version                 dd 1
program.start           dd START
program.end             dd END
program.memory          dd END + STACK_SIZE
program.stack           dd END + STACK_SIZE
program.params          dd 0
program.path            dd 0
; ------------------------------------- ;
CD_BUFFER_SIZE equ 1024
cd_buffer times CD_BUFFER_SIZE db 0
db 0
; ------------------------------------- ;
START:
        mov    eax, 30
        mov    ebx, 2
        mov    ecx, cd_buffer
        mov    edx, CD_BUFFER_SIZE
        int    64
        mov    eax, 63
        mov    ebx, 1
        xor    ecx, ecx
        mov    esi, cd_buffer
.next:
        mov    cl, [esi]
        jcxz   .done
        int    64
        inc    esi
        jmp    .next
.done:
        mov    cl, 13
        int    64
        mov    cl, 10
        int    64
        mov    eax, -1
        int    64
END:
Вложение:
d_print_cd.kex [1.1 КБ]
32 скачивания

Спойлер: Показать
Изображение


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Вт июл 12, 2016 7:39 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 443
0CodErr, в SHELL сначала cd /tmp0/1, а потом уже свою смотрелку запускать. Тогда да, прога покажет /tmp0/1.
Siemargl, не понял, о каких "несколько printf-ов сообщений об ошибках" ты говоришь. Я заменил все sprintf(STD_OUT,...) на printf из-за появления отсутствующих линков, не помню, чтоб я что-то делал с выводом ошибок.
Siemargl писал(а):
Думаю это вполне можно поправить в разборе командной строки.

Опять не понял, каким образом? Как для fasm указывать каталог с исходниками если?
punk_joker, видимо, пока нет, любой инклудник не будет найден.
Вообще, сейчас я несколько нагружен, так что быстро исправлять не могу.

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Ср июл 13, 2016 10:43 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
GerdtR писал(а):
в SHELL сначала cd /tmp0/1, а потом уже свою смотрелку запускать. Тогда да, прога покажет /tmp0/1.
А, ну так-то да. После cd конечно должно работать :) В shell-ах других ОС, насколько знаю, тоже надо делать сперва cd.
Вот, кстати, должна ли программа для зауска приложений также менять текущую директорию?
Может быть, лучше даже опционально(CheckBox, например). Имею в виду такую программу viewtopic.php?f=9&t=2122


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Ср июл 13, 2016 12:43 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
0CodErr
Цитата:
Вот, кстати, должна ли программа для зауска приложений также менять текущую директорию?

По хорошему дополнительно надо указывать рабочий каталог для запускаемой программы. SHELL я рекомендовал потому, что там cd меняет рабочий каталог. Раньше и этого не было.


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Пт окт 07, 2016 10:32 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
GerdtR

Проверил С-- под Колибри. Уже купил ноутбук специально для программирования под ней.
Некоторые программы собирает, но не все.

1. cmm/aelia не собирается под Колибри, собирается под Windows
2. warning'и пишутся на доску отладки, хотя они должны писаться в файл *.ERR, на доску должны выводиться только ошибки и результат сборки

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Ср окт 26, 2016 10:03 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 443
Всем привет. На сегодняшний день такое положение вещей.
1. Текущий каталог в cmm устанавливается как каталог до самого cmm.kex, и не важно, какой каталог был установлен. Скриншот проблемы прилагаю. Впрочем возможно проблема исчезнет, когда у меня получится слинковать с новым libc(ругается на отсутствующие функции abort и atexit, в какой библиотеке они - не знаю, но в последнем sdk их нет).
2. Warning'и пишутся на доску отладки, потому как в файле errors.cpp функции warningprint закоментирон sprintf, а вместо него просто printf. Короче, пофиксить - секундная работа. Правда, закономерный вопрос... как бы обычно компиляторы всё в консоль пишут(в нашем случае доска отладки). Не стандартно, по-моему. Или в файл удобнее?


Вложения:
screen.PNG
screen.PNG [ 47.03 КБ | 1861 просмотр ]

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Ср окт 26, 2016 11:11 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 269
Закоммитил микропатчик, чтобы собирался gcc5.4 с libc.dll
Работает, но только если cmm.kex в каталоге с компилируемой программой


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Чт ноя 10, 2016 2:58 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 443
Так, пока выложу текущий результат. Эта версия компилит в любой папке проекты. То есть кидаем c--.kex на /rd/0 , с--.ini можно один на всех туда же положить, а можно в папку проекта(сначала будет искать в папке с проектом) и всё, с консоли или скриптом можно компилить, не указывая полный путь до c--.kex. Да, избегайте пока папок, имеющих имя длиннее 7 символов.


Вложения:
c--.kex [219.5 КБ]
19 скачиваний

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Пт ноя 11, 2016 7:38 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 443
Проблема с относительными путями исправлена. Короче, теперь всё видит.


Вложения:
cmm [219.47 КБ]
32 скачивания

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 12, 2016 11:38 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Ну теперь заживем! :)
Спасибо!

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Сб ноя 12, 2016 5:35 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 443
Ещё есть недочёты, под отладчиком их видно, так что возможны ошибки в работе.

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Пн ноя 14, 2016 3:47 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
GerdtR писал(а):
Проблема с относительными путями исправлена. Короче, теперь всё видит.

Никаким образом не смог заставить работать.
Упорно отказывается кушать "..", ты точно правильную версию файла прикрепил?

P.S. Вывод в консоль шикарен.


Вложения:
1.png
1.png [ 120.39 КБ | 1678 просмотров ]

_________________
Через тернии к звездам
Вернуться к началу
 Заголовок сообщения: Re: C-- Sphinx Compiler
СообщениеДобавлено: Пн ноя 14, 2016 8:13 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 443
Хм... во-первых, поправь "\" на "/" , у нас КОС такой не поддерживает, а дополнительной обработки в коде нет.
Во-вторых, по непонятной мне причине, В argv[0] перед путём к экзешнику ставится символ сердечко. Ещё проверю, что да как, может мой косяк.
И да, есть костыль :) В пути в инклуде пиши вместо ../lib что-нибудь вроде fold/../../lib. Да, не красиво, но если ".." в середине, то обрабатывается. Только папка fold нужна в каталоге с исходником.
Сделал поправку, теперь прога в пути для поиска добавляется путь с комптлируемым файлом(думал, что он добавляется, но оказалось, что нет)
PS: пока весь этот вывод в консоли пусть будет, мне удобней с ним. Когда с путями разберусь уже, то уберу.


Вложения:
cmm [219.37 КБ]
23 скачивания

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 95 сообщений ]  На страницу Пред. 1 2 3 4 57 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB