Compilation C/C++ à la volée

Compiler du code C/C++ à la volée

📄 Description

Nelson fournit un outil multiplateforme en ligne de commande, écrit en Nelson, pour compiler des modules natifs (addons).

Il simplifie les différences entre plateformes de compilation et facilite la construction d'extensions natives.

💡 Exemple


if ispc() && ~havecompiler()
configuremsvc()
end
C_CONTENT = ["double";
"functionC(double x)";
"{";
"    return x + 8;";
"}"];
DEST_DIR = [tempdir(), 'example_C'];
mkdir(DEST_DIR);
C_DEST_FILE = [tempdir(), 'example_C/demo.c'];
filewrite(C_DEST_FILE, C_CONTENT)

dlgeneratemake(DEST_DIR, 'C_DEMO', {C_DEST_FILE}, {DEST_DIR})
[res, message] = dlmake(DEST_DIR)

lib = dlopen([DEST_DIR, '/C_DEMO', getdynlibext()])
c = dllibinfo(lib)

f = dlsym(lib, 'functionC', 'double', {'double'});
R = dlcall(f, 3) % 8 + 3
dlclose(lib)

🔗 Voir aussi

configuremsvc, dlgeneratemake, dlmake, dlopen, dllibinfo, dlsym, dlcall.

🕔 Historique

Version
📄 Description

1.2.0

version initiale

Last updated

Was this helpful?