Pull to refresh

Comments 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.

Не так давно состоялся релиз 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.
Sign up to leave a comment.

Articles