Takze lidicky, snad moc neotravuji
Jde mi o to, pokud mam nejaky projekt, konkretne visualizaci algoritmu pro Informaticke programovani pro 1.rocnik (ano, onen Kryluv Napad, co nas zadal v lete), tak tam chci, aby se dalo pridavat dynamicky dalsi algoritmy.
Znamena to, ze to musi tyto Classy (jednotlive alg) odvozene od Abs tridy byt uchovany v DLL souboru jako jakysi plugin.
Nevite o tom neco? nekdo cokoliv? neco specifictejsiho nez ASK GOOGLE Motherfu*ka?
C++ Class in DLL, Plugin do VC projektu
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
C++ Class in DLL, Plugin do VC projektu
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
O c++ pluginy v dll(naivne a jednoduse) sem se v ramci rocnikoveho projektu pokousel taky a nakonec me natolik znechutily technicky problemy, ze sem presel na .NET. Jinak par linku co se mi tu vali na naky jednoduchy tutorialy http://www.codeproject.com/dll/plugin.asp
http://www.codeproject.com/dll/plug-in.asp
http://www.jdkoftinoff.com/main/Article ... F_Plugins/
http://www.ddj.com/showArticle.jhtml;js ... =184401819
http://www.codeproject.com/dll/plug-in.asp
http://www.jdkoftinoff.com/main/Article ... F_Plugins/
http://www.ddj.com/showArticle.jhtml;js ... =184401819
Ono tento problem uz riesilo mnoho projektov. Vysledkom su technologie ako COM alebo CORBA. Nie je to jednoduche. Napriklad velka cast roznych projektov to riesi tak, ze si vymyslia vlastny skriptovaci jazyk, v ktorom sa pisu pluginy (gimp, a mnohe dalsie). Tie (podla mna lepsie) projekty pouziju uz nejaky existujuci skriptovaci jazyk, napriklad Javascript. Ma to tu vyhodu, ze pluginy su jednoduche textove subory, ktore sa nemusia kompilovat a rovno bezia, nevyhodou je, ze interpretacia takychto skriptov je pomalsia ako kompilovany kod (samozrejme).
Napriklad toto je C kniznica interpretujuca Javascript, ktoru pouziva mozilla
http://www.mozilla.org/js/spidermonkey/
Si myslim, ze na typ projektu ktory robis, je toto ovela lepsie riesenie. Uz len to ze na pridavanie vlastnych algoritmov cloveku staci vediet Javascript a otvorit notepad, nemusis nic kompilovat a riesit dll kniznice
Napriklad toto je C kniznica interpretujuca Javascript, ktoru pouziva mozilla
http://www.mozilla.org/js/spidermonkey/
Si myslim, ze na typ projektu ktory robis, je toto ovela lepsie riesenie. Uz len to ze na pridavanie vlastnych algoritmov cloveku staci vediet Javascript a otvorit notepad, nemusis nic kompilovat a riesit dll kniznice
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
To je sice hezke, ale tak to nebude fungovat.
Muj projekt nakonec bude psany v QT (pro linuxaky asi dost zname - KDE, Opera), ktery ma svuj vlastni predkompiler ktere mu se predhodi C++ kod s QT makry, ktere rozbali do C++ zdrojaku, ktery se az pak necha kompilovat na g++,VS nebo na co to budu chtit.
Problem s pluginy zustava, podle vedouciho projektu, je to jednoduche vyresit, pry na to staci jakasi fce, jako vstup, abstraktrni trida v projektu a neco malo znalosti.
Tak mi tu nerikejte, ze to je strasne slozite a lidi na to musi si vymyslet vlastni jazyky na ukladani.
Stale nikdo?
Muj projekt nakonec bude psany v QT (pro linuxaky asi dost zname - KDE, Opera), ktery ma svuj vlastni predkompiler ktere mu se predhodi C++ kod s QT makry, ktere rozbali do C++ zdrojaku, ktery se az pak necha kompilovat na g++,VS nebo na co to budu chtit.
Problem s pluginy zustava, podle vedouciho projektu, je to jednoduche vyresit, pry na to staci jakasi fce, jako vstup, abstraktrni trida v projektu a neco malo znalosti.
Tak mi tu nerikejte, ze to je strasne slozite a lidi na to musi si vymyslet vlastni jazyky na ukladani.
Stale nikdo?
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
-
- Matfyz(ák|ačka) level II
- Příspěvky: 80
- Registrován: 7. 11. 2004 18:57
- Typ studia: Informatika Bc.
- Kontaktovat uživatele:
Kdyz bys to delal v jave... Tam na nacteni pluginu staci par radku. Reflexion API umi vytvorit objekt ze Stringu s nazvem tridy objektu:
Kde Plugin je nejaka abstraktni trida.
Ale v RTTI v C++ tohle bohuzel neumi.
Ale treba je nejaka knihovna...
Kód: Vybrat vše
// ziska nazvy trid pluginu (treba ziska jmena class souboru a odstrani .class)
String pluginNames = getPluginNames();
for (String pluginName:pluginNames) {
Class class = Class.forName(plugin);
plugins.add( (Plugin) class.newInstance() );
}
Ale v RTTI v C++ tohle bohuzel neumi.
Ale treba je nejaka knihovna...