Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 16

Синтаксис ужасный странный ;)

FileSeek(0, 0) - я, конечно, догадываюсь, это аналог fseek. И один из параметров должен быть file handle. Но почему это не переменная, а константа?

nFile=ReadFile(#PB_Any, "example.txt")
FileSeek(nFile, 0)

можно и так

Потому что это Basic, и так исторически сложилось. По факту в Basic, для работы с файлом, его надо открыть через OPEN имя FOR режим AS номер открытого файла, причем номер открытого файла это не хэндл ОС, а абстрактный номер от нуля до MAXFILES (максимальное количество файлов, которые могут быть открыты одновременно OPEN), которым оперирует BASIC при работе с файлом.
Можно ли использовать переменную в место константы? Не помню точно, но скорее всего да можно, но нецелесообразно, так как значение MAXFILES (in old good BASIC) не могло превышать 15.

Первый параметр - идентификатор файла. Второй - новая позиция. https://www.purebasic.com/documentation/file/fileseek.html

Пояснение по поводу константных идентификаторов https://www.purebasic.com/documentation/reference/purebasic_objects.html

Не так давно состоялся релиз PureBasic версии 6.00, в котором среди прочего добавлена поддержка ARM процессоров.

ARM не процессоры, а архитектура. И это такая дичь, по сравнению с которой любая другая дичь - порядок.

Именно поэтому развитие ARM как универсальной архитектуры буксует. Код предназначенный для x86 будет выполнен на любом x86. Ограничения редки и "ступенчаты". x86/386/P5/P5x/x86-64 и...? 5 ступеней за 40 лет. А ARM? Каждый SOC - "вещь в себе", или он, или никто. В лучшем случае "медленно и упорото".

Изначальный 4юайтовый ARM совсем не дичь. Дичью он начал становиться с появлением thumb (окей, здесь плотность кода, и для микроконтроллеров рыхлый изначальный арм не супер), thumb 2, thumb 3 - когда стало ясно что 16 битная кодировка thumb не только плотна, но ещё и убога. Посмотрите как кодируется длинный прыжок в 32битах thumb. Это прям запредельный маразм.

После чего сделали aarch64, который гораздо ближе к х86 по богатству команд, имеет много регистров, и без чехарды с разными системами опкодов и разными длинами команд.

Но это все ещё не дичь.

Хотите дичи - добро пожаловать во VLIW и DSP. Например Куалкоммовский Hexagon.

Работаем с тем что есть, а есть Raspberry PI с ядром ARM. Ее ближайшие аналоги с Intel x86 процессором стоят значительно больше. За недорого можно купить апельсин, банан и прочие "фрукты", но все они построены на ARM, а не на Intel.

Жаль только этот Raspberry Pi перестал продаваться в России ещё до начала войны.

И не только в России. За ррц нигде нет.

Код больше напоминает С чем basic - синтаксис очень стираный.

На FreeBasic посмотрите. Он точно Си с синтаксисом бейсика.

PureBasic содержит некоторые операторы (логические, битовые) как в Си, но все же у него языковых конструкций больше из бейсика.

Не помешало бы сообщить, что компилятор платный.

Да платный. Стоимость 79 евро за все существующие версии и выпущенные в дальнейшем для всех платформ. Стоит не много с учетом что поддерживаются Windows, Linux, MacOS, AmigaOS для процессоров x86, x64, PowerPC и ARM. Чего только стоит кроссплатформенная библиотека функций и IDE с поддержкой отладки. Приложения компилируются в натив без виртуальных машин как это часто бывает при кросплатформенности и размеры исполняемых файлов невелики.

К сожалению FreeBASIC генерить для ARM не умеет. Может кто нибудь добавит в него поддержку RPi?
Прошу пардону, меня в заблуждение ввел официальный сайт FreeBasic своей цитатой о поддержке только архитектуры x86:
«The FreeBASIC project is a set of cross-platform development tools, consisting of a compiler, GNU-based assembler, linker and archiver, and supporting runtime libraries, including a software-based graphics library. The compiler, fbc, currently supports building for i386-based architectures on the DOS, Linux, Windows and Xbox platforms.»
Хотя поддержка ARM/aarch64, если верить changelog.txt, появилась ещё в версии 1.0.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации