Srovnání C/C++ a FreeBASIC - shody i rozdíly
 

Název ukázky

(možná poznámka či překlad)
C/C++
FreeBASIC

Variable Declaration

Deklarace proměnné
int a;
int a, b, c;
dim a as integer
dim as integer a, b, c

Uninitialized Variable

Deklarace neinicializované proměnné - obsah proměnné je náhodný.
int a;
dim a as integer = any

Zero-Initialized Variable

C - inicializace proměnné nulou. FB - deklarace proměnné s inicializací nulou.
int a = 0;
dim a as integer

Initialized Variable

C - inicializace proměnné. FB - Deklarace proměnné s inicializací.
int a = 123;
dim a as integer = 123

Array

Pole
int a[4];
a[0] = 1;
dim a(0 to 3) as integer
a(0) = 1

Pointer

Ukazatel
int a;
int *p;
p = &a;
*p = 123;
dim a as integer
dim p as integer ptr
p = @a
*p = 123

Structure, User-Defined Type (UDT)

Uživatelsky definovaný typ (UDT) a struktura
struct UDT {
int myfield;
}
type UDT
myfield as integer
end type

Typedef, Type Alias

Definice TYPu a ALIASu
typedef int myint;
type myint as integer

Struct Pointer

Struktura ukazatele
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

Function Declaration

Deklarace funkce
int foo( void );
declare function foo( ) as integer

Function Body

Tělo funkce
function foo( ) as integer
return 123
end function
function foo( ) as integer
return 123
end function

Sub Declaration

Dílčí (pod) deklarace
void foo( void );
declare sub foo( )

Sub Body

Podtělo - pod-tělo
void foo( void ) {
}
sub foo( )
end sub

ByVal Parameters

Parametry pro ByVal (předání hodnotou (na pozadí))
void foo( int param );
foo( a );
declare sub foo( byval param as integer )
foo( a );

ByRef Parameters

Parametry pro předání odkazem - linkem
void foo( int *param );
foo( &a );

void foo( int& param );
foo( a );
declare sub foo( byref param as integer )
foo( a )




Statement Separator

Oddělovače příkazů
;
:
end-of-line

For Loop

Smyčka FOR
for (int i = 0; i < 10; i++) {
...
}
for i as integer = 0 to 9
...
next

While Loop

Smyčka WHILE
while (condition) {
...
}
while condition
...
wend

Do-While Loop

Smyčka DO-WHILE
do {
...
} while (condition);
do
...
loop while condition

If Block

Blok příkazu IF
if (condition) {
...
} else if (condition) {
...
} else {
...
}
if condition then
...
elseif condition then
...
else
...
end if

Switch, Select

Přepínač (výhybka) voleb
switch (a) {
case 1:
...
break;
case 2:
case 3:
...
break;
default:
...
break;
}
select case a
case 1
...


case 2, 3
...

case else
...

end select

String Literals, Zstrings

Řetězcové literály, řetězce zstring
char *s = "Hello!";
char s[] = "Hello!";
dim s as zstring ptr = @"Hello!"
dim s as zstring * 6+1 = "Hello!"

Hello World

Zdravím svět
#include <stdio.h>
int main() {
printf("Hello!\n");
return 0;
}
print "Hello!"





Comments

Komentáře - programátorovy poznámky
// foo
/* foo */
' foo
/' foo '/

Compile-Time Checks

#if a
#elif b
#else
#endif
#if a
#elseif b
#else
#endif

Compile-Time Target System Checks

#ifdef _WIN32
#ifdef __FB_WIN32__

Module/Header File Names

Názvy souborů Modulů a Hlaviček
foo.c, foo.h
foo.bas, foo.bi

Typical Compiler Command to Create an Executable

Typický příkaz Kompilátoru pro vytvoření spustitelného souboru
gcc foo.c -o foo
fbc foo.bas

Překlad: Gmisiycs 18.06.2016