Your question seemed aimed at Cairo, something not requiring any new features.
But tB supports embedding static libraries... .lib and .obj; you define a symbol for it then write declare statements like a normal dll. There's two sample projects for this.
There's some limitations; standard dependencies aren't fully implemented. VB6 compatibility is a higher priority but it will get there.
Other features include CDecl support-- which extends to normal functions in code too, see my pdfium based pdf merger for example, the write callback has to be cdecl. Then vararg/va_list support, DeclareWide to disable Unicode<->ANSI shenanigans, overloading, and the ability to substitute LongPtr for UDTs. The last two apply to regular functions too.Code:' Compiled sqlite-amalgamation-3440200 (v3.44.2) ' using cmdline (MSVC): cl /c /Gw /Gy /GS- /DSQLITE_OMIT_SEH sqlite3.c #If Win64 Then Import Library "/Miscellaneous/sqlite3_64.obj" As SQLITE3 Link "stdlib", "kernel32" #Else Import Library "/Miscellaneous/sqlite3_32.obj" As SQLITE3 Link "stdlib", "kernel32" #End If Module MainModule Declare PtrSafe Function sqlite3_open CDecl Lib SQLITE3 (ByVal filename As String, ByRef ppDb As LongPtr) As Long Declare PtrSafe Function sqlite3_exec CDecl Lib SQLITE3 (ByVal pDb As LongPtr, ByVal sql As String, ByVal exec_callback As LongPtr, ByVal udp As LongPtr, ByRef errmsg As LongPtr) As Long ...
Then there's language features primarily aimed at helping interop like packing alignment and CType.
Do you mean besides that because again these are all documented new features, with the major static linking feature having Sample projects shipped with the IDE, so maybe tB might be a little past some pre-alpha thing not worth taking seriously yet?![]()




Reply With Quote