В статье "Embedding a scripting language inside your C/C++ code (http://www.debian-administration.org/articles/264)" демонстрируется вставка в C/C++ программы блоков на скриптовом языке Lua (http://www.lua.org/);
Обзор "Embeddable C/C++ Interperter Ch® 5.1 Released (http://www.emediawire.com/releases/2005/10/emw293371.htm)" описывает возможности новой версии специализированного интерпретатора Ch (http://www.softintegration.com/), расширяющего возможности С/С++, путем встраивания скриптовых блоков в C/C++ программы. Ch включает в себя также полноценный 1999 ISO C (C99) совместимый интерпретатор, позволяющий использовать С/С++ программы в качестве скриптов.URL: http://www.debian-administration.org/articles/264
Новость: http://www.opennet.me/opennews/art.shtml?num=6194
>>В статье "Embedding a scripting language inside your C/C++ code" демонстрируется вставка в C/C++ программы блоков на скриптовом языке Lua;На самом деле статья описыват, как использовать (встраивать)интепретатор Lua в C++ программах.
Объясните в двух словах, это что, расширение функциональности препроцессора? Что этот интерпретатор интерпретирует?
Ну при чем здесь интересно препроцессор? Интерпретатор интерпретирует свои скрипты, которые могут кстати еще и не существовать на момент компиляции си-кода. В статье же описано как запустить на интерпретацию файл скрипта из си-кода и как организовать вызов си-кода из текста скрипта.
Бред полный не знаю кому нужен Lua когда можно писать Cи программы с использованием sh,Bash,csh,zsh скриптов притом без проблем возращать результат выполнение комманд в Си программу через функцию popen.
Пример для OpenBSD:char *cimd=ifconfig vlan | grep -e 'inet ' -e 'vlan' | grep -v -e 'inet6' | awk '$1~/vlan[0-9]+/{ printf $1\" \"} $1~/vlan[:]/ { printf $2\" \"} $1~/inet/ {print $2}'| tr -d \":\"";
if((pipe1=popen(cimd,"r"))==NULL)
exit(1);while(!feof(pipe1))
{
if(fgets(tmk,29,pipe1)!=NULL)
{
vlan[i][0]=(char *)malloc(8);
if(vlan[i][0]!=NULL)
strcpy(vlan[i][0],strtok(tmk," \n\0"));
del_sk++; i++; }
Почему-же бред? В деловых приложениях удобно выносить в скрипт бизнес-логику, а в играх - логику NPC. Основное преимущество - программа разделяется на (почти) неизменяемое ядро и изменчивую скриптовую надстройку, что обычно хорошо отражается на надёжности. Кроме того, эти скрипты (в т.ч. Lua) могут обращаться к функциям "вызывающей" программы.
Безусловно, что и при запуске внешнией программы можно обеспечить богатое взаимодействие программ. Но это обычно громоздко и неэффективно.
В интерпретаторах других скриптовых языках есть такая функциональность: perl, python; VBScript, JScript.Поддержка втраивания это стандарт де факто для современных скриптовых языков.
А кто-то тестил, что быстрее работает?
Скрипты встроеные или прога, откомпиленая и popen её?