FreeBASIC
декларация переменной
| dim a as integer
dim as integer a, b, c
неинициализированная переменная
dim a as integer = any
переменная , инициализированная нулем
| dim a as integer
инициализация переменной
dim a as integer = 123
массив
| dim a(0 to 3) as integer
a(0) = 1
указатель
int a;
int *p;
p = &a;
*p = 123; |
dim a as integer
dim p as integer ptr
p = @a
*p = 123
структура, определяемый пользователем тип
struct UDT {
int myfield;
} |
| type UDT
myfield as integer
end type
объявление типа, псевдонимы
type myint as integer
структурные указатели
struct UDT x;
struct UDT *p;
p = &x;
p->myfield = 123; |
| dim x as UDT
dim p as UDT ptr
p = @x
p->myfield = 123
декларация функции
declare function foo( ) as integer
тело функции
int foo( void ) {
return 123;
} |
| function foo( ) as integer
return 123
end function
декларация процедуры
declare sub foo( )
тело процедуры
| sub foo( )
end sub
byval параметры
void foo( int param );
foo( a ); |
declare sub foo( byval param as integer )
foo( a );
byref параметры
void foo( int *param );
foo( &a );
void foo( int& param );
foo( a ); |
| declare sub foo( byref param as integer )
foo( a )
разделитель операторов
:
end-of-line
цикл for
for (int i = 0; i < 10; i++) {
...
} |
| for i as integer = 0 to 9
...
next
цикл while
while (condition) {
...
} |
while condition
...
wend
цикл do-while
do {
...
} while (condition); |
| do
...
loop while condition
if блок
if (condition) {
...
} else if (condition) {
...
} else {
...
} |
if condition then
...
elseif condition then
...
else
...
end if
switch, select
switch (a) {
case 1:
...
break;
case 2:
case 3:
...
break;
default:
...
break;
} |
| select case a
case 1
...
case 2, 3
...
case else
...
end select
строковые литералы, zstrings
char *s = "Hello!";
char s[] = "Hello!"; |
dim s as zstring ptr = @"Hello!"
dim s as zstring * 6+1 = "Hello!"
hello world
#include <stdio.h>
int main() {
printf("Hello!\n");
return 0;
} |
| print "Hello!"
комментарии
' foo
/' foo '/
проверка во время компиляции
#if a
#elif b
#else
#endif |
| #if a
#elseif b
#else
#endif
проверка во время компиляции целевой системы
#ifdef __FB_WIN32__
модуль/заголовок имена файлов
| foo.bas, foo.bi
Типичная команда компилятора для создания исполняемого файла
fbc foo.bas
|