Баги FreeBasic
|
|
electrik | Дата: Среда, 28.10.2015, 02:00 | Сообщение # 1 |
Полковник
Группа: Друзья
Сообщений: 182
Статус: 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
Статус: Offline
| Я написал им сюда
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
haav | Дата: Суббота, 07.11.2015, 11:55 | Сообщение # 3 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| На оф. сайте пояснили, что сохранять надо обязательно с BOM , тогда компилятор распознает кодировку правильно. Если исходник сохранен без BOM, то компилятор считает , что он не в юникоде.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
electrik | Дата: Четверг, 12.11.2015, 15:03 | Сообщение # 4 |
Полковник
Группа: Друзья
Сообщений: 182
Статус: Offline
| так я с bom сохранял. с другими кодировками проблем ведь нет. utf-32 работает. в akelpad'е есть bom. раньше в старых версиях компилятора такую проблему не наблюдал. и в блокноте тоже пробовал в юникод сохранять. что, 2 редактора глючат? попробую, специально, скачаю какую-нибудь версию компилятора, например 0.20 и проделаю те же операции. Добавлено (12.11.2015, 15:03) --------------------------------------------- Ну что и требовалось доказать, в версии 0.23. все работает и не выдает ошибок и бинарник не пустой.
|
|
| |
haav | Дата: Четверг, 12.11.2015, 15:44 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Ну я на Linux пробовал, там все нормально, если сохраняешь с BOM (сохранял в Geany). Как то в голову не пришло проверять на винде, поскольку на Linux все пашет. Позднее попробую на винде. Если че, отпишу на оф. сайте.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
electrik | Дата: Суббота, 06.02.2016, 15:42 | Сообщение # 6 |
Полковник
Группа: Друзья
Сообщений: 182
Статус: Offline
| Спасибо, увидел на оф форуме, что ты написал. будем ждать исправления. Добавлено (06.02.2016, 15:42) --------------------------------------------- Это уже не баг компилятора, а документации. в версии 1.04, включена поддержка переменных по ссылке типа dim byref. в примерах оно есть, а в документации я не нашел. во всяком случае в описании dim этого нет, вроде в byref тоже.
|
|
| |
haav | Дата: Суббота, 06.02.2016, 20:47 | Сообщение # 7 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата electrik ( ) Это уже не баг компилятора, а документации. в версии 1.04, включена поддержка переменных по ссылке типа dim byref. в примерах оно есть, а в документации я не нашел. во всяком случае в описании dim этого нет, вроде в byref тоже.
Да, часто такое бывает. Там, где по логике бы следовало рассказать или на крайняк дать ссылку на страницу, нужного нет. Зато в какой-нибудь странице, где вообще не ожидаешь, всплывает упоминание. Я когда переводил справку, не раз натыкался на подобное. Конечно же правильно бы было dim byref указать на странице DIM или на крайняк в Byref.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |