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.

💡Exemples
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)
Example illustration
🔗Voir aussi
configuremsvcdlgeneratemakedlmakedlopendllibinfodlsymdlcall
🕔Historique des versions
Version Description
1.2.0 version initiale
Modifier cette page sur GitHub