Zum Inhalt springen

Crush

Mitglieder
  • Gesamte Inhalte

    2.048
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Crush

  1. Crush

    Projektmanagment

    Also dem kann ich mich nur anschließen. Together und Objecteering gehören zum Feinsten!
  2. Man kann es sogar noch genauer erklären: Beim Auslösen eines Interrupts werden die Adreßregister, Prozessor-Register und die Prozessorflags auf den System-Stack gelegt. Es wird der Vector aus dem IRQ-Array geholt und zwar mit dem Offset des auslösenden Interrupts. In diesen wird dann gesprungen. Die Register Ax-Dx oder auch Al,Ah-Dl,Dh werden unter Umständen mit Zusatz-Informationen wie der Art des auslösenden Interruptes oder Zeigern auf bestimmte System-Strukturen initialisiert bevor in die Interrupts gesprungen wird. Solange das Interrupt-Flag gesetzt ist, kann dieser Interrupt nicht erneut aufgerufen werden. Es gibt maskable und nonmaskable (NMI) Interrupts. NMIs können nicht unterdrückt oder von Programmen gelöscht werden. Sie müssen immer stattfinden falls ausgelöst! Nach dem Abarbeiten des Interrupts wird mit dem Assembler-Befehl IRET die Prozessor-Daten wieder in den Prozessor geladen. Der Stack-Zeiger wieder zurückgesetzt und an der Stelle fortgefahren, an dem der Prozessor beim Auslösen des Interrupts befunden hat. Das Springen in Unter-Routinen ist im Grunde genommen dasselbe, nur wird hier keine Array mit Einsprungsadressen verwendet, sondern direkt übergeben. In C/C++ werden auf dem Heap zusätzliche Parameter wie Variablen oder Zeiger abgelegt, die in der Unter-Routine abgearbeitet werden sollen (Zeiger in Prozessor-Register). Hier wird dann der RET für den Rücksprung genutzt. Der Unterschied ist: Bei IRQs werden keine Zusatzdaten auf den Stack-gelegt, sondern nur Prozessor-Inhalte. Ein Interrupt kann nicht durch weitere Interrupts derselben Art unterbrochen werden (aber durch Interrupts höherer Priorität) - eine Sub-Routine jedoch ohne weiteres in neue Subs reinspringen (sogar in sich selbst, was dann ein rekursives Programm ist, aber Vorsicht: Abbruchkriterium dann einbauen!). Der Heap erklärt sich leicht. Er ist ein Speicherbereich auf dem ein neuer Stack angelegt werden kann. Ein Heap kann fragmentiert sein - ein Stack muß Linear sein. Ein Heap kann sich über den gesamten physikalischen und virtuellen Speicher erstrecken, während ein "echter" Stack auf 64KB beschränkt ist, wegen der Page-Verwaltung des Speichers (sofern nicht mit verketten Listen ein Künstlicher erzeugt wird). Ein Heap besteht aus einer doppelt verketteten Fragmentierungsliste, ein Stack hat nur eine Stackgröße und einen Stack-Pointer. Angeforderter Speicher (durch malloc) des Heaps enthält keine Informationen über sich selbst, deshalb gibt es den New (Eine Methode, die diese Zusatzdaten des mallocs mitverwaltet - aber immer noch das direkte Delete erfordert). Ein Konstruktor macht dasselbe, allerdings hier werden beim Verlassen der Objekt-/Klassenmethoden der Destruktur mit allen zugehörigen Deletes automatisch aufgerufen. Ein reservierter Heap (also vom System angeforderter Speicher) kann Stacks beinhalten, aber keine weiteren Heaps. Ein Stack kann in Unter-Stacks unterteilt werden (in Maschinensprache). Es Stack ist immer LIFO (last in first out) während andere Strukturen FIFO oder hashes (fast) immer verkettete Listen sind. Man kann natürlich auch einen Stack mit verketteten Listen realisieren, allerdings sind die Prozessor-Unterbrechungen darauf nicht ausgelegt! Als Anmerkung muß ich noch sagen, daß sich natürlich diese Stacks und Heaps von denen ich rede sich nur auf den System-Speicher beziehen. Natürlich kann man Stack- und Heap-Strukturen selber erzeugen und diese als Message- oder Signal-Pipelines oder für Sortieralgorhythmen verwenden. Diese sind hier jedoch nicht gemeint. Sie haben auch nur "ähnliche" Strukturen, aber einen meist vollkommen anderen Verwendungszweck und werden nicht durch einzelne Prozessorbefehle unterstützt! Ich glaube man kann sich in diesem Thema verlaufen, wenn man will aber das sollte erstmal verdaut werden. SO, hoffentlich habe ich nicht zuviele Fehler hier drin, aber wer´s jetzt noch nicht kapiert hat was ein Interrupt ist, dem ist glaub´ nicht mehr zu helfen. <FONT COLOR="#a62a2a" SIZE="1">[ 25. August 2001 13:44: Beitrag 10 mal editiert, zuletzt von Crush ]</font>
  3. Rufe mal UpdateData() oder vielleicht reicht nur das davon aufgerufene DoDataExchange() mit falls notwendigen UpdateWindow() auf. man kann allerdings auch mit RedrawWindow einen bestimmten Bereich (RECT-Struktur) des Fensters neu zeichnen lassen. Das UpdateData() wird allerdings den Inhalt der Variablen erst austauschen. Wenn man mit Member-Variablen arbeitet (DirectDataExchange oder DDX) erübrigt sich das allerdings. Hier kannst Du dann mit m_EingabeFeld.Empty(); den Inhalt löschen. Die Eingabe von 0 ist ja ein Wert und Sonderzeichen werden bestimmt als Ascii-Wert übernommen! <FONT COLOR="#a62a2a" SIZE="1">[ 25. August 2001 12:41: Beitrag 2 mal editiert, zuletzt von Crush ]</font>
  4. Crush

    Welche Grafikkarte?

    Der 32 oder 64 MB Speicher wird doch optisch bei den Texturdaten eh kaum noch fürs Auge sichtbar, weil man mit Datenkompression ohnehin schon ein vielfaches aus dem Speicher holt. Mit der Auslagerung ins RAM - was ja heute jede ordentlich AGP-Karte können sollte ist dafür genug gedient. Also ein Argument für NVidia ist tatsächlich die Relevator-Brille. Bringt natürlich nur bei normalen Monitoren was, wo der Bildschirm noch mit einem Elektronenstrahl aufgebaut wird. LCD-Monitore kann man abhaken. Also die Relevator war eine der genialsten Anschaffungen von mir - wenn auch nicht ganz jedes Spiel so ganz ordentlich damit läuft (teiweise unregelmäßiges Flackern). Funkt aber inzwischen nicht nur bei DirectX sondern auch bei OpenGL und der Effekt ist schon hypragenial. KyroII ist nur eine billige Alternative und wer bemerkt schon den Unterschied zwischen 50 und 200 Hertz Bildwiederholrate? (sieht doch alles flüssig aus) - heutige Spiele ziehen schließlich die Leistung der Grafikkarte und des Prozessors meist in den Keller, damit man sich regelmäßig neue Hardware kauft. Und spielt man nicht regulär mit 15-25 Frames pro Sekunde bemerkt man zusätzliche 5-10 Frames hin oder her kaum. <FONT COLOR="#a62a2a" SIZE="1">[ 25. August 2001 12:26: Beitrag 1 mal editiert, zuletzt von Crush ]</font>
  5. Aber mal ernsthaft: Haben die Ausbildungsbetreuer sich stundelang mit Euch Azubis rumgeschlagen oder Euch nur mal gelegentlich mit ner Arbeit beschäftigt, damit ihr was zu tun habt. Den meisten Teil (wo´s ums Lernen geht) erlebt man doch eh in der Berufsschule! Im Betrieb sind die meisten Leute beim Lernen doch auf sich allein gestellt (im Normalfall). Es sei denn man spannt die Azubis als billige Arbeitspferde für Hiwi-Jobs ein.
  6. Crush

    5400 vs 7200

    Ist der Geschwindigkeitsunterschied nicht wesentlich spürbarer, ob man eine SCSI anstatt eine IDE Festplatte nimmt? Und sind die 7200er nicht noch ein wenig lauter (also bei den CD-ROMS hört man sehr wohl den Unterschied zwischen 32x und 52x)? Von der Lebensdauer durch die höhere Drehzahl mal abgesehen ... <FONT COLOR="#a62a2a" SIZE="1">[ 24. August 2001 23:18: Beitrag 1 mal editiert, zuletzt von Crush ]</font>
  7. Wird denn bei den Ausbildungsbetrieben kein Ausbildungsvertrag von beiden Parteien unterschrieben?
  8. Ich glaube eh, daß das erste halbe Ausbildungsjahr bei beiden Zweigen gleich ist, genauso wie die Systemkaufleute. Also der käufmännische Part ist überall der Selbe. Danach oder dazwischen ist es also immer noch kein allzu großes Problem zu wechseln. Allerdings will die Firma schon wissen, womit sie zu rechnen hat, weil die ja schließlich auch mit dem Gedanken spielen nachher eventuell den Azubi zu übernehmen. Man sollte bei Firmen am besten mit klaren Zielen antreten. Wenn man nachher wechseln möchte kann einen das trotzdem keiner verbieten. <FONT COLOR="#a62a2a" SIZE="1">[ 24. August 2001 18:49: Beitrag 1 mal editiert, zuletzt von Crush ]</font>
  9. Verschickt doch Internet-Word-Bewerbungen. Das geht einfacher, kostet weniger, kann an mehrere gleichzeitig gemailt werden und außerdem testet man hier gleich aus, wer fortschrittlich denkt. Falls jemand danach ausdrücklich schriftlich was will, dann leben die halt hinterm Mond und sollten vielleicht besser gemieden werden. Gerade die Tatsache, daß Bewerbungsunterlagen einbehalten und unterschlagen werden ist auch oft eine ziemlich kostspielige Angelegenheit - überlegt doch mal bei 20-30 Bewerbungen die nicht mehr zurückkommen: Nur das Porto und die Paßfotos! Sollte die Firma keine Homepage haben, über die man sie mal etwas abchecken kann (und die keine Referenzen beinhaltet), dann ist das auch ein Indiz, daß eine solche Firma wohl lieber gemieden werden sollte. Die besten Kontakte kann man eh auf entsprechende Veranstaltungen und Messen finden - vor allem nehmen sich die Leute da Zeit einem die Firma und deren Produkte vorzustellen - und es wird einem auch klar gesagt, was die Firma an Leute braucht! Und die Leute erzählen auch dann gerne einmal etwas über die Firma, was die Chefs einem nie aufs Auge drücken würden! Außerdem kann man hier schon bleibende Eindrücke hinterlassen. An einem Stand über ein radargesteuertes Auto-Einpark und Steuerungssystem habe ich dem gesagt, daß das so nicht funktioniert wie am Stand dargestellt, zum räumlichen Orten braucht man mindestens zwei Radare und die Wellen erzeugen Interferenzen, weshalb man die verschieden kodiert Pulsen müßte, vor allem wenn mehrere Autos auf der Straße mit diesem System rumgurken. Außerdem würde nur eine Kombination von mehreren Systemen damit den gewünschten Erfolg bringen (z.B. zusätzliche optische Analysen). Danach wollte der mich gleich überreden bei denen einzusteigen! Und da frägt dann kaum einer mehr nach Zeugnissen, sondern höchstens nach den Gehaltsvorstellungen. <FONT COLOR="#a62a2a" SIZE="1">[ 24. August 2001 18:44: Beitrag 1 mal editiert, zuletzt von Crush ]</font>
  10. Crush

    Festplattenproblem!!!!

    Nein, bestimmt nur falsch beschriftet oder falsch gelötet!
  11. Es ist ja eh egal was man lernt und in welcher Zeit, weil die Entwicklung auf diesem Sektor mit Lichtgeschwindigkeit fortschreitet. Man muß sich einfach später wenn man die ersten Schritte kann mit Problemen konfrontieren, diese lösen und sich weiterentwickeln - auch über den persönlichen Einsatzbereich am Arbeitsplatz hinaus.
  12. Crush

    C++ für Linux

    Mit Empfehlungen ist das immer etwas problematisch. Was der eine gut findet ist einem vielleicht zu hoch oder zu niedrig. Gehe doch vielleicht mal in eine größere Bücherei und schau Dir dort die Bücher an. Da kannst Du direkt vergleichen und die rauspicken, welches Dich am meisten anspricht. Es gibt da schon einiges zu diesem Thema. Doch die C/C++ Programmierung ist vielleicht sinnvoller als spezialisiertes Extra-Buch, da so wie ich das bei uns gesehen habe die Linux-Bücher alle voraussetzen, daß man das schon draufhat.
  13. Ich bin ja kein Linux-Mann allerdings haben bei mir in der Praktikumsfirma alle vor allem vom Mandrake-Linux und auch rom Redhat geschwärmt. Wobei diese für Anfänger wohl nicht so empfehlenwert sein sollen wegen der Installation.
  14. Also mit den Lehrer ist das wie mit Roulette. Man braucht schon viel Glück um jemanden zu treffen der wirklich was taugt. Also ein Programmier-Professor bei uns hatte schon ernsthafte probleme bei meinem Idioten-Test: Was ist der Unterschied zwischen einem NOT und einem EOR #-1? (eigentlich gar keiner, aber da habe ich ihm schon helfen müssen, weil der doch erstmal versucht hat logische Tabellen an die Tafel zu schmeißen und dann nochmal den EOR zu simulieren). Das beste sind ohnehin die Programmier-Lehrkräfte, die keine Ahnung vom Programmieren haben, aber mir Geschichten von Schleifen und Sortierfunktionen erzählen wollen. Irgendwie erscheinen die mir dann nicht glaubhaft genug. Wenn einer wirklich was lernen will soll er den Unterricht "mitnehmen" aber sich selber in die Richtung bringen in die man hingehen will - also selber lernen aus Büchern und solchen intelligenten Foren wie diese hier!
  15. Ich, aber der Glatzkopf Meister Proper wie der Dschinn aus der Wunderlampe fand ich unterhaltsamer. Gab´s da aber nicht noch die lustige OMO-OMA mit ihrem TEAED-System (weiß überhaupt einer, was das sein soll - hab ich nie gerafft). Und DASH (wäscht reiner als rein) war ja besonders einfallsreich.
  16. Gratulation!!! Ja und wie hast Du das mit dem Drucken jetzt gemacht? Mit dem Netzwerkdrucker, normal oder hast Du das ganz anders angestellt als das was man hier so geschrieben hat?
  17. ALso bei uns waren gleich zwei Frauen: Ein Kampfpanzer mit dem Charme eines Berggorillas (also besser von weitweg schon einen Bogen machen) und Ein nettes Mädel, allerdings ist die nicht weit vom Durchschnitt entfernt gewesen. Hat aber ausgereicht um die ersten paar Tage ein paar (mehr oder weniger verheirateten) Gierschlunds bei uns den Kopf zu verdrehen.
  18. Vielleicht bringt Dich der Auszug aus der MSDN weiter: Why can't I DDX/DDV to initialize my CDialog controls? You can't do anything with the dialog controls until your dialog is created—which doesn't happen until DoModal(). The standard way of overcoming the problems is to create member variables for the data, initialize them before calling DoModal, and then transfer the values in OnInitDialog. Or perhaps in UpdateData(). Much like the ClassWizard member variables do it. Also: Member-Variablen definieren. Im OnInitDialog() diese Member-Variablen abarbeiten. Man kann einfach keine Parameter direkt übergeben vor dem Aufruf von DoModal(). So have your dialog include a CStringList or CStringArray, put the values for the listbox in that and transfer them to the listbox in OnInitDialog. [Etc....] Also den Dialog mit einem zusätzlichen Array oder halt einer Stringlist versehen. In diesen kannst Du dann alle Übergabeparameter reinknallen und bei DoModal wird dann der OnInitDialog() ausgeführt. In diesem müssen die Inhalte des Arrays in die Felder des Dialogs eingefügt werden und dann klappts auch mit dem UpdateData, falls man das überhaupt braucht! Diese z.B. mit Dlg.addString(&Wer) füllen. Init your dialog in OnInitDialog. If necessary, pass a pointer to your document to the constructor of your dialog (and save it in a private/protected m_pDoc member). Also das mit dem Pointer ist vielleicht auch noch eine Möglichkeit, dann kann man Referenzen vom Parentfenster übergeben und die Daten können sich auch außerhalb des Dialogs befinden (außerdem muß nicht wie wild durch die Gegend kopiert werden). Das ist jedoch die Qual der Wahl und das hängt vom Programmdesign ab. (Ja soll ich das jetzt so machen, oder so, oder vielleicht ganz anders irgendwie??? Vielleicht würfeln?) <FONT COLOR="#a62a2a" SIZE="1">[ 24. August 2001 15:59: Beitrag 1 mal editiert, zuletzt von Crush ]</font>
  19. Bei Sourceforge.net gab´s sogar eine MS-Visual-Studio nachempfundene (wirklich gute) Freeware-Oberfläche - weiß aber nicht mehr für welchen Compiler (gcc, lcc, djgpp). Ich glaub der ist sogar konfigurierbar gewesen, welchen Compiler er nutzen soll. Auf jeden Fall war ich erstaunt, was der so alles draufhatte. Ein echter Geheimtip!!! Für 250 Eier gibt´s allerdings auch schon das MS C++ als Orginal zu kaufen - manche verscherbeln das sogar schon billiger.
  20. 3 Tage ist noch nix. Wir sehn uns mal in 3 Monaten wieder! Mal schaun, ob Du wirklich die Power hast. Wie hat He-Man immer gesagt: "ICH HABE DIE MACHT!!!(gröhl)"
  21. Eigentlich ist jedes ereignisbasierendes Betriebssystem eine einzige Interrupt-Maschine. Jeder Prozess ist ein Interrupt. Jedes interne und externe Ereignis ist ein Interrupt. Nur mit Signal-Listen und gesliceten Interrupts (Interrupt erhält Zusatzinformationen um ihn in weitere Interrupts "einzuteilen") kann man sich hierbei nur noch behelfen. Jede Mausbewegung, jeder Tastendruck und jeder leisteste Pieps an den Schnittstellen führt unweigerlich zu irgendwelchen Interrupts - sogar sowas wie das Erreichen der vertikalen und horizontalen Austastlücke des Monitors - falls gewünscht.
  22. Also ich habe hier das Borland C++ B(u)ilder-Buch rumstehen und muß sagen, daß der keineswegs einfacher ist. Vieles kommt mir eh vor wie Wrapper-Klassen um MS - und ein paar Versuchen was eigenes auf die Beine zu stellen (wie die BDE). Das einzige Problem ist, daß es mit Lektüre um Borland wesentlich schlechter bestellt ist - auch wenn die mitgelieferten PDFs ziemliche Oberklasse sind! Die kochen halt eben auch nur mit Wasser.
  23. Also ich habe schon einen ganzen Stapel an Rechnern verbraten und muß sagen, daß IMMER das Problem am Netzteil oder dem Mainboard lag. Einzige Ausnahme war vor 5 Monaten mein CD-Writer -> da war´s ein internes thermisches Problem. Nach einigen Minuten Laufzeit hat der sich so aufgeheizt, daß er sich komplett abgeschalten hat und erst nach Eisspray oder 1 Stunde abkühlen wieder für ein paar Minuten ging. Da hatte aber niemand schuld, außer daß ein paar miese elektronische Teile verbaut worden sind. (Vielleicht mit Sollbruchstelle - die Garantie war fast abgelaufen). Ich kann mich noch an einen Bericht über elektronische Sollbruchstellen erinnern - irgendwie habe ich das Gefühl, daß sowas immer häufiger zum Einsatz kommt. Vorkenntnisse: Sind immer gut. Wenn einer keine Ahnung hat kann man doch nicht das Wunder erwarten mal mir nix dir nix zum Computer-Profi zu mutieren (es sei denn man ist ein Maniac!) <FONT COLOR="#a62a2a" SIZE="1">[ 24. August 2001 15:16: Beitrag 2 mal editiert, zuletzt von Crush ]</font>
  24. Ich würde mal bei der Adobe HP nachschauen, ob die nicht sowas als Acrobat-Plugin haben. Wäre denkbar -> Du bist bestimmt nicht der erste, der sowas will. Vielleicht kann ja der Orginal Acrobat in beide Richtungen konvertieren. Könnte ich mir jedenfalls vorstellen und wäre ja auch einleuchtend. Schau doch mal dort vorbei oder frag dort direkt per E-Mail an - wenn´s einer weiß, dann die Macher selbst.
  25. Also bei mir habe ich festgestellt, daß der installierte Real-Player sich wohl so mies ins System einklinkt, daß ein normales Herunterfahren nicht mehr möglich ist. Ein Deinstallieren: Und die Kiste hat gar keine Probleme mehr gemacht. Offensichtlich ist wohl irgendwas beim Realplayer, was bestimmte Win98-Konfigurationen in die Knie zwingt. Ein weiterer Grund, was zu Shutdown-Problemen mal bei mir geführt hat war die Spyware, die sich mit Bearshare mitinstalliert. Adaware hilft dagegen zuverlässig! Vielleicht erstmal Adaware laufen lassen und danach mal den Realplayer testweise deinstallieren. Vielleicht bin ich ja nicht der Einzige, der dieses Problem hat. Manche Programme, die sich "tief" ins System reinhängen wie Zipmagic oder bestimmte Treiber können unter Umständen genauso Probleme verursachen. Also vielleicht mal in der Registry nachschauen, was sich so alles beim Start mit hochfährt. Das seltsame ist, daß diese Fehler oft auf anderen Rechnern mit ähnlicher Konfiguration keine Probleme bereiten - ist mir echt ein Rätsel. <FONT COLOR="#a62a2a" SIZE="1">[ 24. August 2001 15:00: Beitrag 1 mal editiert, zuletzt von Crush ]</font>

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...