Argentum can natively call C/C++ functions, pass primitives, objects and raw structures (with sys_Blob object). Example:
In C/C++
#include <stdio.h>
#include "../argentum/src/runtime/runtime.h"
bool ag_fn_io_writeFile(AgString* name, AgString* content) {
FILE* f = fopen(name->ptr, "wb");
if (!f) return false;
bool r = fputs(content->ptr, f) >= 0;
fclose(f);
return r;
}
In Argentum (file io.ag):
using sys { String; log; }
fn writeFile(name String, content String) bool;
writeFile("1.txt", "File data") ? log("done")
More details are here: ffi-tutorial
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.