C/C++

libreadline completion

Fórumok

Sziasztok!
Hasznalta-e' valamelyikotok a fentnevezett konyvtar fentnevezett featurajat? A kerdes nem is ez, mert alapbol ugye csinal ilyesmit (filenevek), hanem az, hogy hogyan lehet megtanitani kulonbozo szabalyokra. A neten erre gyakorlatilag egyetlen pelda kering (ez), ez viszont:
- csak az elso" tokent hajlando kiegesziteni
- azt is csak akkor, ha az szoszerint az elso", azaz me'g egy nyamvadt szokoz sincs elotte.
Kerdes az, hogy tud-e' valaki erre hasznalhato peldat? A "rl_attempted_completion_function" a megf. fuggveny, az egy callback, aminek atadja a libreadline a string cimet (char *) e's egy "start" meg "end" nevezetu" integert, ami me'g jo is lenne, ha a string a _teljes_ begepelt valami lenne, es nem csak pont a kiegeszitendo" token. Igy viszont nem nagyon lehet mit kezdeni. Es ezt a fv-t meg csak akkor hivja meg a libreadline, ha a fenti ke't feltetel teljesul...
Barmi otlet/tapasztalat?
A.

buborék rendezés + fork()

Fórumok

Helló mindenki! OS-ből kaptam egy feladatot:
Készítsen több processzen futó rendező programot. Használja a buborék rendezési algoritmust, de az egyes iterációkat párhuzamosan futassa!
Gondoskodjon róla, hogy az egyes iterációkat végző processzek ne előzhessék meg egymást(SZEMAFOR). A párhuzamosan futó processzek száma legyen megadható, és ennél több processz ne fusson soha.

Ehhez ha valakinek lenne valamilyen ötlete, azt szívesen fogadnám.
A rendezési alg. nem gond, már megvan, csak a fork()-oláshoz nem 'tom, hogy kezdjek hozzá :)

Előre is kössz mindenkinek.

Mysql cross compiling

Fórumok

Arra lennék kíváncsi, hogy művelte-e már valaki sikerrel a címben látható problémát. Vagy is sikerült-e a mysql-t lefordítani egy a fordító géptől teljesen különböző architektúrára a mysql-t.
A problémám igazából az, hogy a ./configure scriptje nem fut le megfelelően, mert fordítási teszteket is végezne, ami más platformra fordításnál nem művelhető. Mivel ezek nem futnak le, nem jönnek létre a megfelelő makefile-ok, ergó nem lehet lefordítani.
Arra lennék kíváncsi, hogy ilyenkor mit lehet tenni...

sha vagy md5 algoritmus

Fórumok

Sziasztok!

Keresek egy olyan c/c++ függvényt / algoritmust ami egy stringet kódol sha, md5, vagy hasonló hash algoritmussal. Próbáltam gugliban, de ott csak .NET-es kódot vagy fájlokat kódoló függvényeket találtam. Tud esetleg valaki segíteni nekem?

Köszi!

Taki

Alapvető programok forráskódja

Fórumok

Nem vagyok biztos benne, hogy ebbe a fórumba kell beküldenem, de remélem megbocsájtotok nekem.
A következőre lenne szükségem: alapvető gnu/linux programok (úgy mint például: more, fdisk, less, nano, stb...) forráskódjait keresem. Arra lennék kíváncsi, hogy ezeknek a forráskódját le lehet-e tölteni valami központi forrásból, vagy végig kell túrni értük a netet?
Egyébként egy beágyazott teszt rendszert szeretnék kicsit "otthonosabbá" tenni (sajna még a filesystem hierarchy standardnak sem felel meg ami alapból benne van, annyira sovány).

közös nevező

Fórumok

Nincs véletlenül valakinek egy működő függvénye törtek közös nevezőre hozásához? Ami megbírkózik változó számú inputtal, és a törtek számláló/nevező alakban vannak tárolva mondjuk valamilyen struktúrában?

Billentyűzet daemon-nak

Fórumok

Sziasztok!

Olyan gondom támadt, hogy egy speciális helyen kellene alkalmazni egy linux-ot (debian). Arra lenne szükségem, hogy elindítom a gépet, ami a bootolás végén betölti a programomat. Eddig nincs is gond. Ám a programomnak szüksége lenne a billentyűzetre! Minden gombnyomást az én programomnak kellene elkapnia! Meg lehet ezt oldani anélkül, hogy valami trükkös módon autologin-t csinálna a gép és a user indítaná el a programomat? A monitor nem lenne fontos, de ha az is van, az nem baj. A lényeg, hogy a billentyűre minden beavatkozás nélkül lenne szüksége a progimnak!

Jah és nincs X!

Köszi!

Üdv:
denx

"serial8250: too much work for irq4"

Fórumok

Sziasztok!

Kommunikálnom kell egy eszközzel soros porton keresztül. Megy minden szépen, ám ha az eszköz nem kap áramot és később ismét magához tér, akkor ennyit kapok vissza:


serial8250: too much work for irq4

Innentől kezdve semmit nem tudok kezdeni a porttal! Mitől lehet ez és hogyan lehet kiküszöbölni?

Köszi:
denx

C++ extern "C" problémák

Fórumok

Sziasztok!

Az alaphelyzet a következő:
Szeretnék osztályokat exportálni egy .so fájlból. Utánanéztem és találtam is rá megoldást, de van egy kis gondom.
(Már egy napja szenvedek vele :) )

A hívó applikáció forrása:

TestClass.h:


class TestClass
{
	public:
		TestClass();
		virtual ~TestClass();
		virtual void Kiir();
};

TestClass.cc:


#include "TestClass.h"

void
TestClass::Kiir() {
    std::cout << "Os OSztaly!" << std::endl;
}

main.cc:


#include <gtkmm.h>
#include "TestClass.h"
typedef TestClass* (*func)();
typedef void (*func2)(TestClass* p);

int main()
{
	Glib::Module module("/home/neuro/Projects/libem/src/.libs/liblibem.so.0.0.0");
	std::cout << Glib::Module::get_last_error() << std::endl;
	TestClass* ret;
	func test;
	func2 test2;
	module.get_symbol("test",(void*&)test);
	module.get_symbol("Del",(void*&)test2);
	ret = test();
	ret->Kiir();
	test2(ret);
	return 0;
}

A lib forrása pedig a következő:

InhTest.h:


#include "../include/TestClass.h"
class InhTest : public TestClass {
     public:
	InhTest() {};
	virtual ~InhTest() {};
	virtual void Kiir();
};

main.cc:


extern "C" {

TestClass* test() {
	return new InhTest;
};

void Del(TestClass* p) {
	delete (InhTest*) p;
};

};

A két projekt teljesen le van egymástól szeparálva, azaz nem ugyanazt a TestClass.h-t használják, ha ez egyáltalán lényeges.
Ha az InhTest osztály Kiir() metódusát egy külön .cc fájlban fejtem ki, akkor


/home/neuro/Projects/libem/src/.libs/liblibem.so.0.0.0: undefined symbol: _ZTVN5Test37InhTestE

(process:11484): GModule-CRITICAL **: g_module_symbol: assertion `module != NULL' failed

(process:11484): GModule-CRITICAL **: g_module_symbol: assertion `module != NULL' failed

Program has been terminated receiving signal 11 (Segmentation fault)

Hibaüzenetet kapom, amiben csak az első sor az érdekes.
Ha a headerben, akkor hiba nélkül lefut a dolog.

g++-ről:

Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --enable-checking=release x86_64-linux-gnu
Thread model: posix
gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)

Szóval a kérdésem az, hogy van-e valami megoldás arra, hogy ne kelljen mindent a headerben kifejtenem ahhoz, hogy fusson? Esetleg máshogy kéne a gcc-t fordítani, vagy az a bizonyos nem implementált 'export' kulcsszó, ami hiányzik? - Mert a template-eknél is valami hasonló névfeloldási problémákkal küszködik a gcc. (Amúgy a IDE-nek az Anjuta-át használom, a hívó app-ot egy gtkmm-2.0 template-ből generáltam, a lib egy sima console-os alkalmazás C++-ban, a cél pedig egy dinamikusan csatolható konyvtár.)
A google-n néztem, de a példákban nem említették (vagy én voltam figyelmetlen), hogy ilyen gond lenne, mármint hogy nem osztható ketté a lib forrása.
Illetve ehhez kapcsolódóan lenne még egy kérdésem, hogy nincs-e a Visual Studio __declspec(dllexport)-éhez hasonló megoldás Linuxra?

Előre is köszönöm a segítséget!

Fejlesztőeszközt keresek

Fórumok

Helló!

C nyelvet szeretnék tanulni, és azt a feladatot kaptuk az oktatáson, hogy mindenki nézze ki magának, hogy milyen fejlesztőeszközt szeretne. Megmondom őszintén laikus vagyok a témában (értsd nem tudom mi a különbség a C. c# és C++ között). A lényeg, hogy tudtok-e olyan fejlesztőeszközt aminek segítsésgével konzolfüggetlen programokat írhatok. Nem úgy gondolom, hogy a win alatt lefordított bináris futtatható legyen linux alatt hanem úgy, hogy a forráskód gond nélkül lefordítható legyen Win és Linux alatt. VAn ilyen? Tudnátok ilyent javasolni?