Add tasks for all the new languages

This commit is contained in:
Tina Müller 2016-12-05 23:44:36 +01:00
parent 9dc3c2bb62
commit bba7bfd280
13208 changed files with 134745 additions and 0 deletions

View file

@ -0,0 +1,23 @@
' FB 1.05.0 Win64
' Attempt to call Beep function in Win32 API
Dim As Any Ptr library = DyLibLoad("kernel32.dll") '' load dll
If library = 0 Then
Print "Unable to load kernel32.dll - calling built in Beep function instead"
Beep : Beep : Beep
Else
Dim beep_ As Function (ByVal As ULong, ByVal As ULong) As Long '' declare function pointer
beep_ = DyLibSymbol(library, "Beep")
If beep_ = 0 Then
Print "Unable to retrieve Beep function from kernel32.dll - calling built in Beep function instead"
Beep : Beep : Beep
Else
For i As Integer = 1 To 3 : beep_(1000, 250) : Next
End If
DyLibFree(library) '' unload library
End If
Print
Print "Press any key to quit"
Sleep

View file

@ -0,0 +1,18 @@
-- calculate CRC-32 checksum
str = "The quick brown fox jumps over the lazy dog"
-- is shared library (in Director called "Xtra", a DLL in windows, a sharedLib in
-- OS X) available?
if ilk(xtra("Crypto"))=#xtra then
-- use shared library
cx = xtra("Crypto").new()
crc = cx.cx_crc32_string(str)
else
-- otherwise use (slower) pure lingo solution
crcObj = script("CRC").new()
crc = crcObj.crc32(str)
end if

View file

@ -0,0 +1,5 @@
proc openimage(s: cstring): cint {.importc, dynlib: "./fakeimglib.so".}
echo openimage("foo")
echo openimage("bar")
echo openimage("baz")

View file

@ -0,0 +1,8 @@
#include <stdio.h>
/* gcc -shared -nostartfiles fakeimglib.c -o fakeimglib.so */
int openimage(const char *s)
{
static int handle = 100;
fprintf(stderr, "opening %s\n", s);
return handle++;
}

View file

@ -0,0 +1,5 @@
proc openimage(s: string): int {.importc, dynlib: "./libfakeimg.so".}
echo openimage("foo")
echo openimage("bar")
echo openimage("baz")

View file

@ -0,0 +1,7 @@
# nim c --app:lib fakeimg.nim
var handle = 100
proc openimage*(s: string): int {.exportc, dynlib.} =
stderr.writeln "opening ", s
result = handle
inc(handle)