FreeBasic
Главная
Вход
Регистрация
Пятница, 27.12.2024, 04:32Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Баги FreeBasic
electrikДата: Среда, 28.10.2015, 02:00 | Сообщение # 1
Полковник
Группа: Друзья
Сообщений: 182
Репутация: 3
Статус: Offline
вот баги, связаны они с кодировкой UTF-16

Код
/'
test comment
'/

sub test() export
dim a as long = 123
end sub


сохраняем исходник в UTF-16 LE и видим ошибку:
test.bas(1) error 3: Expected End-of-Line, found '/'
эта бага проявляется в первом комментарии файла, тоесть в начале.
если перед комментарием /' поставить пробел, то ошибки выдавать не будет.
если сохранить в UTF-16 BE, ошибку не выдает.
если исходник в UTF-16 ЛЕ или в UTF-16 БЕ, не экспортирует функции в dll (оочень надо!).
кто близко общается с разработчиками, хорошо бы это им откомментировать.
проверил в акелпад, в блокноте, одна фигня.
в UTF-32, пока таких багов не нашел.

Добавлено (28.10.2015, 02:00)
---------------------------------------------
ну всё понятно, похоже, он вообще почему-то не хочет компилировать в этой кодировке, например пропускаем первую строку, а потом пишем что угодно, и он нам просто скомпилирует пустой бинарник.

 
haavДата: Среда, 28.10.2015, 07:42 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Я написал им сюда

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
haavДата: Суббота, 07.11.2015, 11:55 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
На оф. сайте пояснили, что сохранять надо обязательно с BOM , тогда компилятор распознает кодировку правильно. Если исходник сохранен без BOM,  то компилятор считает , что он не в юникоде.

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
electrikДата: Четверг, 12.11.2015, 15:03 | Сообщение # 4
Полковник
Группа: Друзья
Сообщений: 182
Репутация: 3
Статус: Offline
так я с bom сохранял. с другими кодировками проблем ведь нет. utf-32 работает. в akelpad'е есть bom. раньше в старых версиях компилятора такую проблему не наблюдал. и в блокноте тоже пробовал в юникод сохранять. что, 2 редактора глючат? попробую, специально, скачаю какую-нибудь версию компилятора, например 0.20 и проделаю те же операции.

Добавлено (12.11.2015, 15:03)
---------------------------------------------
Ну что и требовалось доказать, в версии 0.23. все работает и не выдает ошибок и бинарник не пустой.

 
haavДата: Четверг, 12.11.2015, 15:44 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Ну я на Linux пробовал, там все нормально, если сохраняешь с BOM (сохранял в Geany). Как то в голову не пришло проверять на винде, поскольку на Linux  все пашет. Позднее попробую на винде. Если че, отпишу на оф. сайте.

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
electrikДата: Суббота, 06.02.2016, 15:42 | Сообщение # 6
Полковник
Группа: Друзья
Сообщений: 182
Репутация: 3
Статус: Offline
Спасибо, увидел на оф форуме, что ты написал. будем ждать исправления.

Добавлено (06.02.2016, 15:42)
---------------------------------------------
Это уже не баг компилятора, а документации. в версии 1.04, включена поддержка  переменных по ссылке  типа dim byref. в примерах оно есть, а в документации я не нашел. во всяком случае в описании dim этого нет, вроде в byref тоже.

 
haavДата: Суббота, 06.02.2016, 20:47 | Сообщение # 7
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Цитата electrik ()
Это уже не баг компилятора, а документации. в версии 1.04, включена поддержка переменных по ссылке типа dim byref. в примерах оно есть, а в документации я не нашел. во всяком случае в описании dim этого нет, вроде в byref тоже.


Да, часто такое бывает. Там, где по логике бы следовало рассказать или на крайняк дать ссылку на страницу, нужного нет. Зато в какой-нибудь странице, где вообще не ожидаешь, всплывает упоминание. Я когда переводил справку, не раз натыкался на подобное. Конечно же правильно бы было dim byref указать на странице DIM или на крайняк в Byref.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
  • Страница 1 из 1
  • 1
Поиск: