Zum Inhalt springen

hoagi

Mitglieder
  • Gesamte Inhalte

    109
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von hoagi

  1. hoagi

    C

    Was will uns der Künstler damit sagen ??????
  2. Einfach Auf der ersten Platte zuerst Windows auf der zweiten Linux draufspielen. Den Lilobootmanager auf den Masterbootsektor der ersten Platte. Dann 2 EInträge in den lilo.conf. 1. Linux 2. Windows
  3. Hi, um wirklich eine gue Lösung für dein Problem zu geben, gibst du zuwenig Informationen. Wofür brauchst du diesen Wert? Aber es gib mehere Möglichkeiten. z.B.: Erstelle eine neue Klasse, abgeleitet von CDialog und füge ein statische Variable in die Klasse ein , die du entweder public machst oder über eine statische public-Funktion von aussen zugängig machst. Oder du fügst in die Klasse einen Konstruktor ein mit dem du den Wert der Variable setzt. Du kannst natürlich einfach auch den Wert einer nichtstatitschen Variable setzen nach Aufruf des Konstruktors und vor dem Aufruf DoModal() z.b: pDlg = new CMyDialog; pDlg->SetzeWert( irgendwas ); pDlg->DoModal(); Vielleicht stellst du einfach den Code, der bei dir den Speicherfehler erzeugt hier ins Board.
  4. Schau mal ob die Rollleuchte an ist. Vielleichtmal mal auf die Roll-Taste drücken. Wir haben einen Linuxserver an einem Dataswitch, der über die Roll-Taste gesteuert wird, da reagiert die Tastatur auch nicht wenn die Roll-Leuchte an ist.
  5. Mal ne dumme Frage: Wo holt man sich als 16 jähriger Hauptschüler so viel Erfahrungen oder seid ihr in der Schule so gut bestückt?
  6. hoagi

    Routen zwischen zwei Netzen

    Also entweder die Linuxrechner als Gateway eintragen unter Eigenschaften des Netzwerk -> TCP/IP hier den Gateway eintragen oder eine statische Route eintragen. zum Beispiel im 10er Netz: route add 192.168.0.0 mask 255.255.255.0 10.10.10.1 in der Eingabeaufforderung der Clientrechner. Das sich Rechner sich trotz fehlender Route im Netz sehen, lässt sich übrigens dadurch erklären, daß der Sambaserver wahrscheinlich als Local Master Bowser dient und Namensregistrierungen aus beiden Netzen erhällt und diese auch in beide Netze weiterleitet. Hoagi
  7. Hi, wie die das machen ist relativ einfach. Die geben bei einer Verbindungsneuaufbau bei der ersten HTTP-Anforderung einfach, egal welche Seite abgefragt wird die eigene Startseite zurück. Ist nicht wirklich die feine Art. Hoagi
  8. Das ist in dem Fall kein Adressoperator sondern ein Referenz operator. Der Funktion wird als Parameter eine Reference auf Objekt vom Typ demo übergeben. Es wird also nicht wie beim normalen call by Value der Wert des Objektes( also ne Kopie des Objekts) sondern das Objekt selber übergeben. Zwei Gründe hierfür: Erstens die Aufgerufende Funkktion kann das Objekt des Aufrufers ändern ( wenn erwünscht ). Zweitens wenn du mit großen Objekten ( viele Elemente in einer Klasse ) arbeitest kann es sein daß du eine große Menge von Daten auf den Stack kopieren mußt um ein Objekt als Wert zu übergeben. Zudem werden bei Kopieren die Elemente Memberweise kopiert ( das heist es wird nicht einfach der Speicherbereich kopiert ). Dadurch kann die ganze Sache auch sehr zeitintensív werden, denn es werden nicht nur die Kopierfunktionen des eigentlichen Objekts aufgerufen sondern auch von seinen Membern. Also Demo * pD = &d ; // in dem Fall ist & Adressoperator Demo &rD = d; // In dem Fall dient & als Referenzoperator Nich verwechseln. Hoagi
  9. Ihr müßt auch die entsprechende Datei mit der Farbdefinition hinterlegen.
  10. Hi, mal mit GetLastError den Errorcode der Aktion abgefragt? Hoagi
  11. Na wenn das Program gestartet war ( pentagone.exe ) dann ist da auch was Ausführbares auf deinem Rechner, gell. Is eventuell als versteckte Datei angelegt dann im Explorer einstellen, das auch versteckte Dateien angezeigt werden.
  12. Hi, du hast da ein Problem. Schau mal hier: http://lists.jammed.com/incidents/2001/12/0047.html Mein Tip: Virenscaner instalieren und aktuell halten. Hoagi
  13. Wirklich nen interessantes Problem. Ich denk mir aber das bei einem C++ Compiler 150 rauskommen muß wenn man mal das folgende aus der Hilfe zu const-Values aus dem Visual C++ 6.0 Compiler in Betracht zieht: Das kann meiner Meinung eigentlich nur funktionieren, wenn der Compiler maxarray als Alias( also wie ein #define für den Wert 255 betrachtet, nur mit dem Unterschied, daß das nicht vom Präprozessor wie ein Textersatz behandelt wird, sondern vom Compiler verarbeitet wird ). Witzigerweise lässt sich der Compiler auch nicht von Konstruktionen wie nErgebnis = *(&nConstWert) + 50; beeindrucken. Er schreibt auch hier fest an der Speicherstelle von nErgebnis den Wert 150. mov dword ptr [ebp-74h],96h Hoagi
  14. hoagi

    Fragen zu Unicode

    Hast du den unicode-define vor der include der tchar.h gesetzt ???
  15. Ich will ja nicht penetrant wirken aber die Lösung ist die von mir vorgeschlagende. Ist übrigens nicht auf meinen Mist gewachsen, sondern stammt aus dem schon erwähnten Buch "Algorithmen in C" von Robert Sedgewick
  16. Hi Crush hier geht es um das konkrete Problem der Level-Order-Traversierung: Dabei geht es darum alle Knoten des Baumes in einer bestimmten Reihenfolge zu besuchen. Immer alle Knoten einer Stufe zu besuchen. Dann auf die nächste Ebene, hier alle Knoten besuchen usw... (Ich wollte hier ein ein kleines Diagram einbinden, aber irgendwie bin da nicht künstlerich genug zu ) Stimmt nur , wenn ich den Satz richtig verstehe, wenn ein Stack benötigt wird. Im meinem Beispiel nutze ich aber keinen Stack, sondern eine Warteschlange. Würde mein Programbeispiel einfach durch einen Stackersetzen. Also statt queueempty() , put() und get() die entsprechenden stackempty() , push() und pop() - Implementierungen nutzen ( und damit zu einer wirklich rekursiven Darstellung kommen ) hätten wir keine Level-Order -Traversie mehr , sondern eine Preorder - Traversie. Also erste linke zweige vorwärst bis zum Ende , dan rechte Zweige rückwärts bis zum Ende´( oder so ähnlich ). Ich denke Rekursion ist ne schöne Sache, aber es gibt Behandlungen von Datenstrukturen, die nicht rekursiv sind. PS: Mit Leerzeichen vorder Zeile meine ich übrigens das Einrücken des Codes im Text. Hoagi
  17. Hi Crush, wahrscheinlich kann alles irgendwie rekursiv dargestellt werden. Die Frage ist narürlich ob wir ein originär rekursives Problem haben, oder nicht. Die andere Frage ist ob deine rekursive Lösung wirklich das gleiche Ergebniss hat wie das Iterative. Die Antwort auf die ersten Frage kann meiner Meinung dadurch entschieden werden, ob für das Programm eine Stackstruktur notwendig ist. Dadurch das sich das Problem durch eine Warteschlange lösen lässt denke ich mal das das Problem kein rekursives ist ( ich möchte jetzt mal nicht behaupten das es sich rekursiv umstellen lässt ) Für die zweite Frage habe ich das Program mal ein wenig umgeschrieben. EInfach als WIN32 Konsolenprogram kompilieren und starten und du wirst sehen das das Ergebnis ein wirklich anderes ist. Die put() -Funktion ist übrigens in deiner Lösung nicht erforderlich. // Traverse.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung. // #include "stdafx.h" #include <stdlib.h> # define DATA struct data # define ROOT struct root DATA { DATA *l; /* left eye */ DATA *r; /* right eye */ int x; }; DATA *first; void erstelle() { first = (DATA*)malloc( sizeof(DATA) ); first -> l = NULL; first -> r = NULL; first -> x = 0; } DATA *qu[1000]; long head,tail; void put( DATA * r ) { qu[tail++] = r; } DATA * get() { return (qu[head++]); } int quempty() { return head ==tail; } void ausgabe( DATA * d ) { printf( "d->x = %d\n",d->x ); } void show( DATA * d ) { head = tail = 0; if ( d ) put(d); while( !quempty() ) { d = get(); ausgabe(d); if( d -> l ) put( d -> l ); if( d -> r ) put( d -> r ); } } void anmelden(DATA *t, int x) { DATA *neu,*d; neu = (DATA *)malloc( sizeof(DATA) ); if(first == NULL ) { first = neu; neu->l = NULL; neu->r = NULL; neu->x = x; return; } for( d=first; d; ) { if( x == d->x ) return; if( d->l == NULL ) { d->l = neu; neu->x = x; break; } else { if( d->r == NULL ) { d->r = neu; neu->x = x; break; } else d = d->l; } } neu->l = NULL; neu->r = NULL; } Leveltrav(DATA * d) { ausgabe(d); if( d->l ) Leveltrav(d->l); if (d->r) Leveltrav(d->r); } void main() { DATA *t; erstelle(); t = first; anmelden(t, 1); anmelden(t, 2); anmelden(t, 3); anmelden(t, 4); anmelden(t, 5); anmelden(t, 6); anmelden(t, 7); anmelden(t, 8); anmelden(t, 9); anmelden(t, 10); anmelden(t, 11); anmelden(t, 12); anmelden(t, 13); anmelden(t, 14); anmelden(t, 15); anmelden(t, 16); anmelden(t, 17); anmelden(t, 18); anmelden(t, 19); anmelden(t, 20); show( (DATA*)t ); Leveltrav(t) ; /* hier würde ich gerne level für level anzeigen wollen */ /* z.b in dieser form: show(t); */ } Hoagie PS: WIe krieg ich denn nu die Leerzeichen an den Anfang der Zeile.
  18. Laut Robert Sedgewick( Algorithmen in C ) kann die Leveltraversie mit ein Warteschlage realisiert werden und zwar im Buchbeispiel iterativ und nicht rekursiv DATA { DATA *l; /* left eye */ DATA *r; /* right eye */ int x; }; show( DATA * d ) { put(d); while( !queueempty() ) { d = get(); ausgabe(d); if( d -> l ) put( d -> l ); if( d -> r ) put( d -> r ); } } Keine Hexerei also Hoagi P.S. Mal ne blöde Frage : Wie kriegt man die Leerzeichen am Anfang einer Zeile?
  19. hoagi

    Ports öffenen?

    Ich weiss ja nicht genau worum es geht aber vielleicht hilft ja ein kleines shellscript: for ((i=61000; i < 62000; i=i+1 )) do irgendwas $i done Hoagi
  20. Auch wenn die Fehlermeldung nicht darauf deutet , daß der RAID -Treiber das Problem ist( hier wäre eher eine Kernelpanic Meldung beim mounten der Root Partition zu erwarten )her ein Workaround um den eventuellen Treiber nachträglich zu installieren: Dumm bei der Lösung ist nur, daß du das System irgendwie zum starten bringen mußt ( Bootdiskette oder ähnliches ). In der /etc/rc.config den Eintrag ( wenn noch nicht vorhanden ) INITRD_MODULES='namedestreibersfuerraid' erstellen. mit dem Script: mk_initrd die Initialramdisk erstellen. Es wird im /boot - Vezeichnis eine Datei initrd erstellt. In der Datei /etc/lilo.conf den Eintrag initrd=/boot/initrd innerhalb deiner Linuxbootsektion machen. Mit lilo den Bootloader neu installieren. Aber wie gesagt das eigentliche Problem scheint mir woanders dran zu liegen. Normalerweise macht das Ganze das Installationprogramm von Suse automatisch. Die Susedokumentation spricht bei deiner Fehlermeldung von fehlerhafter Plattengeometrie oder verschobener boot.b. Vielleicht reicht es ja schon mit lilo den Loader einfach neu zu installieren. Viel Glück Hoagi
  21. hoagi

    ich will mehr rechte

    Hi, Liebe Leute was habt ihr den vor. Wenn ihr Windows2000 ins Nirwana schicken wollt zieht doch einfach den Netzstecker. Umschalten in Realmode ????????????? Wenn ihr auf Hardwareadressen zugreifen wollt, müßt ihr das schon Windows 2000 konform machen. z.B.: <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> MmAllocateContiguousMemory PVOID MmAllocateContiguousMemory( IN ULONG NumberOfBytes, IN PHYSICAL_ADDRESS HighestAcceptableAddress ); MmAllocateContiguousMemory allocates a range of physically contiguous, cache-aligned memory from nonpaged pool. Parameters NumberOfBytes Specifies the size in bytes of the block of contiguous memory to be allocated. HighestAcceptableAddress Specifies the highest valid physical address the driver can use. For example, if a device can only reference physical memory in the lower 16MB, this value would be set to 0x00000000FFFFFF. Return Value MmAllocateContiguousMemory returns the base virtual address for the allocated memory. If the request cannot be satisfied, NULL is returned. Comments MmAllocateContiguousMemory can be called to allocate a contiguous block of physical memory for a long-term internal buffer, usually from the DriverEntry routine. A device driver that must use contiguous memory should allocate only what it needs during driver initialization because nonpaged pool is likely to become fragmented as the system runs. Such a driver must deallocate the memory if it is unloaded. Contiguous allocations are aligned on an integral multiple of the processor’s data-cache-line size to prevent cache and coherency problems. Callers of MmAllocateContiguousMemory must be running at IRQL = PASSIVE_LEVEL. See Also HalAllocateCommonBuffer, KeGetDcacheFillSize, MmAllocateNonCachedMemory, MmFreeContiguousMemory
  22. hoagi

    Exe und Com Dateien

    Hi, die command.com ist bei dir für den MSDOS -Modus eingestellt. Einfach mit der rechten Maustaste auf die command.com klicken. Menupunkt Eigenschaften -> Register Programm -> Button erweitert. Den Punkt 'Msdos-Modus' ( nicht Msdos-Modus vorschlagen ) deaktivieren. Das sollte es eigentlich gewesen sein. Hoagi
  23. Hi, also ohne viel Ahnung von der Sache einen kleinen Tip: Schaut mal in die Quellen der entsprechenden Linuxtreiber nach, wie die ganze Sache funktioniert. Die sind frei zugänglich. Hoagi
  24. hoagi

    Schach KI

    Hi schau mal hier http://www.tim-mann.org/gnuchess.html Hoagi

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...