Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Apr 21, 2019 4:05 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 121 posts ]  Go to page Previous 1 2 3 4 5 69 Next
Author Message
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Mon Nov 14, 2016 8:48 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 4977
> В argv[0] перед путём к экзешнику ставится символ сердечко.
Это символ кодировки. Pathoswithin добавил.

Остальное проверю.

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


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Mon Nov 14, 2016 9:23 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
О как. Странное решение.
Так, довёл до ума. Убрал это сердечко(а я думал, что это я временный костыль добавил :lol: ). Точнее, если там середечко, то оно уберётся, если там что-то другое стоять будет, то не уберётся.
Исправил я вывод warning'ов. Теперь консоль информативна, но не замусорена) На а свои отладочные выводы пока оставил. Хотя, видимо, скоро уберу.
Из проблем пока: почему-то вылетает при обработке файла keyboard.h. Я испытывал на том textreader, что ты выкладывал.


Attachments:
cmm [219.44 KiB]
Downloaded 93 times

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 12:43 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
Кстати, это сердечко означает кодировку UTF-8.


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 1:08 am 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Хм. То есть в русских каталогах ничего не скомпилиться... А как-то попросить старый ASCII можно? Или преобразовать? Или только вручную? И вообще, где что написано про нововведение?

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


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 1:55 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
GerdtR
Боюсь нигде и никак. Автор регулярно кладёт на обратную совместимость.


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 3:03 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
А где вообще что-то написано про этот параметр? Авторы до меня клали на планирование дальнейшего развития. И никакой альтернативы мне так и не предложили. Из всех вариантов самый совместимый.


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 4:48 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Pathoswithin
Самый совместимый в Win с двумя наборами функций *A и *W. А не так, когда ядерное API меняют на лету.


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 6:31 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1259
Так проблемы же не с API, а с argv[0].


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 6:52 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Pathoswithin
Это не проблема argv[0]. Это проблема всех программ. О чем 0CodErr уже написал.
Quote:
И это проблема, конечно. Раньше пути начинались со слэша. Вот представим, что есть путь "/sys/Path/MyFile.ext". Если приложение захочет проверить (Path == "/sys/Path/MyFile.ext"), то вместо простого StrCmp(Path, "/sys/Path/MyFile.ext") придётся немного мудрить ещё.

Главное, если путь из ASCII превратился в UTF8, зачем там этот байт ? Или он внезапно может стать UTF16, UTF-32, DBCS,что-то ещё ?


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 9:06 pm 
Offline

Joined: Sun Oct 27, 2013 8:13 pm
Posts: 141
Serge wrote:
Главное, если путь из ASCII превратился в UTF8, зачем там этот байт ? Или он внезапно может стать UTF16, UTF-32, DBCS,что-то ещё ?

Чтобы этот путь не меняя можно было передать в 70-ю функцию. Она понимает первые байты как маркеры кодировок. С другой стороны, так ли уж нужна поддержка CP866 и UTF-16 в файловых функциях? Может оставить только UTF-8 без всякого маркера?


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Tue Nov 15, 2016 9:51 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
akron1
По нормальному, я этот байт должен скипнуть из argv[0].


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Wed Nov 16, 2016 12:48 am 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Хм... теоретически можно перевести весь c-- на utf8. Только тогда исходники тоже должны быть в utf8, но текстовые редакторы у нас с utf8 не работают(или уже что-то есть?).

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


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Wed Nov 16, 2016 10:41 am 
Offline

Joined: Sun Oct 27, 2013 8:13 pm
Posts: 141
Для оберон-07 вопрос решен с помощью BOM-сигнатуры в начале файла исходника. Да, редакторы (пока) не поддерживают UTF-8, но компилятору какая разница? Наличие BOM-сигнатуры указывает компилятору на использование кодировки UTF-8. Реально это влияет на подсчет символов в строках для выдачи сообщений об ошибках компиляции и длину строковых констант. Например, такой код правильный, если используется ANSI.
Code:
CASE c OF
|"ф":
|"ы":
|"п":
END;

Если UTF-8, то константы "ф", "ы", "п" будут уже два байта и программа не скомпилируется.


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Wed Nov 16, 2016 11:02 am 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 431
GerdtR wrote:
Хм... теоретически можно перевести весь c-- на utf8. Только тогда исходники тоже должны быть в utf8, но текстовые редакторы у нас с utf8 не работают(или уже что-то есть?).
Не нужно. Максимум что нужно - добавить строковые литералы, например как это сделано в С11. Но с-- такой компилятор, что разобраться в исходниках - огромный труд.
Проще уж библиотечку конверсий UTF8<->UTF16<->CP866, etc


Top
   
 Post subject: Re: C-- Sphinx Compiler
PostPosted: Thu Nov 17, 2016 7:08 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Я предлагаю считать, что для PE-приложений абсолютно всё в UTF-8 без всяких маркеров - вход/выход системных функций 2,4,70,что-у-нас-там-ещё-принимает-строки, argv[0], все библиотеки. Иначе откуда, скажем, box_lib может узнать, хочет приложение строку в cp866 или в utf-8? Делать флаги для всех-всех-всех библиотек - означает дикие метастазы legacy по всей системе.

_________________
Сделаем мир лучше!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 121 posts ]  Go to page Previous 1 2 3 4 5 69 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited