1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. marX

Beiträge von marX

  • ist das glaubhaft?

    • marX
    • 29. Januar 2004 um 19:54
    Zitat von Baby

    ich hab auch diese drohmail bekommen, aber bei mir hat die ip nicht gestimmt, drum hats mich nicht wirlich aufgedregt
    aber mich würds auch schrecken, wenn ich sowas bekomme und dann auch noch die richtige ip drin steht

    also, dass bei dir nich die richtige ip drin stand kann natürlich dran liegen, dass du keine statische ip hast ?!!

    -> würde aber warscheinlich auch etwas blöde schaun, wenn ich sone mail bezüglich raubkopien bekommen würde -> würde es aber schlussendlich nicht glauben, weil man meinen festplatteninhalt kaum über meine 56k verbindung hochladen könnte :winking_face: *gg*

    mfg marX

  • Memory Management in Java

    • marX
    • 24. Januar 2004 um 14:32
    Zitat von Ringding

    Richtig, solange sich der allozierte Speicher in Grenzen hält, ist das sehr brauchbar. Für große Speichermengen empfiehlt sich halt dann doch ein größerer Addressraum, sprich 64 Bit-Maschinen.

    klar funktionierts (prinzipiell) aber warum sollte man wenn man ja eh eine virtuelle maschine hat und somit das kopieren von referenzen überwachen kann, nicht eine "sauberere" methode wählen ?!! (wäre nicht viel langsamer, aber viel sauberer bzw. gründlicher)

    -> für c/c++ bzw andere programmiersprachen ohne vm (oder emulation) kann natürlich nur ein speicher-scann-verfahren verwendet werden...

  • Memory Management in Java

    • marX
    • 23. Januar 2004 um 18:55
    Zitat von Ringding

    Du, ich weiß, was eine Java VM macht, ich arbeite nämlich an einer im Rahmen meiner Diplomarbeit. Und der Boehm GC, ein sehr weit verbreiteter Garbage Collector, tut genau das, was ich beschrieben habe, nämlich den Speicher scannen. Außerdem haben die Pointer auf einer 32bit-Maschine natürlich 32 Bit und nicht 64.

    1. also dann ist dieser gc aber nicht speziell für java entwickelt, sonst wäre es nämlich nicht umbedingt zweckmäßig ein so umständliches (und fehlerbehaftetes) verfahren zu wählen, wenn das programm sowieso emuliert werden muss.....

    2. meinses wissens haben referenzen in java (VM-intern) immer 64 bit !
    (wäre zumindest sinnvoll....in hinblick auf kompatibilität)

    mfg marX

  • Memory Management in Java

    • marX
    • 22. Januar 2004 um 19:29
    Zitat von Ringding

    Kann schon vorkommen, dass der GC was überlässt, was eigentlich gelöscht werden sollte. Kommt einfach drauf an, wie er den Memory scannt. Wenn er einfach alle 32 bit-Worte liest und als Pointer betrachtet, kann's ja schon mal zufällig passieren, dass ein solcher in einen Speicherbereich reinzeigt, der alloziert ist. V.a. wenn das Programm ein paar hundert MB braucht, ist das leicht möglich. Auf 64 bit-Maschinen passiert's klarerweise viel seltener, weil da schon einiges an Glück dazugehört, um mit einem wild zusammengewürfelten Pointer genau einen gültigen Speicherbereich zu treffen.

    1. zu "64-bit maschinen": da hast du anscheinend das prinzip von java noch nicht verstanden -> das übersetzte programm wird nicht direkt dem prozessor gefüttert, sondern einer virtuellen maschine -> der "maschinen-code" kann von keinem "normalen" pc-prozessor (nur von speziellen sun-prozessoren) direkt ausgeführt werden!! desshalb ist es auch egal ob di maschine 64 oder 32 bit hat -> die referenzen haben immer 64 bit (von der vm geregelt)

    2. also ich weiß ja nicht wie der gc den speicher verwaltet, aber er "scannt" sicher nicht den speicher (pach pointern) um auf referenzen zu prüfen !!! das wäre ja schon eine etwas hirnrissige methode !!
    java läuft ja auf einer virtuellen maschine (mit speziellen maschinen-codes) -> dies erlaubt es einer "kontrollierenden instanz" das kopieren einer referenz (pointer) zu verfolgen -> der referenz-counter wird incrementiert -> wenn der ref.count == 0 ist wird der speicherbereich freigegeben...

    ps: was vorher schon gesagt wurde: wenn java solche gravierenden fehler hätte wäre es niemals so "groß" geworden sondern gleich in der luft zerissen worden :winking_face: (stell dir mal vor ein java programm würde auf einem handy oder organizer solche speicherprobleme verursachen!!)

    mfg marX

  • ist das glaubhaft?

    • marX
    • 21. Januar 2004 um 19:56

    sorry, aber das soll doch wohl ein spass sein ?!!
    du wirst doch nicht tatsächlich so dumm sein und das glauben
    -> das ist so ziemlich die einfachste möglichkeit einen dummen dazu zu bringen sich WIRKLICH einen virus einzufangen !!!

    -> generell muss man mit attachments vorsichtig sein (auch wenn der absender bekannt ist) aber ein .exe attachment (Programm) würde ich NIEMALS von KEINEM absender öffnen :winking_face:

    mfg marX

  • Borland C unter Win XP

    • marX
    • 21. Januar 2004 um 19:50
    Zitat von Eristoff


    ich befürchte alkohol

    ...hehe na ja vielleicht nächstes mal bis zum morgen warten :winking_face:
    jedenfalls solltest du genäuere info's angeben (version, .... etc.)

    mfg marX

  • mathe programm

    • marX
    • 21. Januar 2004 um 19:40

    also ich kann dir nur die 2 "großen bekannten" programme empfehlen:

    1. mathcad -> einfach, gute darstellung, syntax etwas gewöhnungsbedürftig
    2. matlab -> "dank" programmiersprache sehr wissenschaftlich und unständlich zu lernen, aber ein mächtiges werkzeug -> die programme können direkt in maschinencode (für ic's) umgewandelt werden

    ich hatte das zweifelhafte glück beide programme inder schule benützen zu müssen :winking_face:

    mfg marX

  • Memory Management in Java

    • marX
    • 20. Januar 2004 um 18:56
    Zitat von hal

    wär mir neu, dass er sowas tut. eine schnelle google-recherche zeigt nur, dass es das problem der ungewollten referenz gibt (siehe zB hier), die aber technisch kein leak ist, sondern ein unfähiger programmierer ;).
    ansonsten sollte da nichts verloren gehen.

    kann ich mich nur anschließen :winking_face:

    PS:
    1. so bekommt man viele posts !! ...... hehe
    2. klein schreiben sollte man vom programmieren her gewöhnt sein! (ich zumindest)

    mfg marX

  • C-Probleme

    • marX
    • 20. Januar 2004 um 18:37

    ...hab ja gesagt, dass das nicht schön ist, aber faulheit ist das schlimmste übel :winking_face: (langsam ist's normalerweise aber nicht ;))

    na ja....gibt ja auch eine routine um die dateigröße abzufragen.....

  • Memory Management in Java

    • marX
    • 19. Januar 2004 um 21:07

    also um in einem java-programm memory leaks zu produzieren musst du aber schon wilde scheisse programmen (;) sorry nicht persönlich nehmen)

    aber mal ernst: wenn du eine referenz nicht überschreibst erkennt der garbage collektor automatisch ob ein objekt noch benötigt wird!!!

    und es gibt auch eine methode um die priorität des GC's "hochzuschrauben" um ihn zu veranlassen den speicher zu defragmentieren... (weiß aber leider nicht mehr wie die heißt -> help nachsehn!)

    mfg marX

  • C-Probleme

    • marX
    • 19. Januar 2004 um 20:56

    was hal geschrieben hat ist natürlich die einfachste methode....
    wenn du aber wirklich den inhalt des files speichern willst:

    Code
    FILE *fp; // File Pointer
       int fsize; // Dateigröße
       char *fbuffer; // File-Buffer
    
    
       fp = fopen("xyz.dat", "rb"); // Öffnen der Datei -> Lesen+Binary
       if (fp == NULL) // Fehler beim Öffnen ?!!
       { // -> JA
          printf("ERROR: Unable to open file xyz.dat!");
          return ;
       }
    
    
       // Ermitteln der Dateigröße -> ist ein SCHEISS-verfahren...aber ich mache
       // das schon lange so...funzt gut und ich bin zu fault um den befehl 
       // nachzusehen ;)
       fsize = 0; // Dateigröße=0
       while (fgetc(fp) != EOF) // Solange nicht am Dateiende ->
          fsize++; // "Dateigröße" erhöhen
       fseek(fp, 0, SEEK_SET); // Wieder zum Datei-Anfang springen
    
    
       fbuffer = (char *)malloc(fsize+1); // Speicher belegen
       if (fbuffer == NULL) // Speicher bekommen ?!!
       { // Nein!!!
          fclose(fp); // Datei wieder schließen!!!
          printf("ERROR: Low Memory! Unable to Cache xyz.dat.");
          return ;
       }
    
    
       fread(fbuffer, fsize, 1, fp); // Datei in den Buffer lesen
       fbuffer[fsize] = '\0'; // Am Datei-ende mit 0 abschließen
       fclose(fp); // und Datei schließen
    
    
       // .......
    
    
       // Am ende muss der Speicher mit free((void *)fbuffer); freigegeben werden!!!!
    Alles anzeigen

    so funzt das gut...du kannst dann auf jedes zeichen ganz einfach wie in einem arry (feld) zugreifen -> fbuffer[0] = 1. Zeichen, fbuffer[1] = 2.Zeichen, .... das Feld wir mit '\0' beendet

    -> am ende speicher freigeben nicht vergessen!!!
    -> die methode um die dateigröße zu ermitteln ist "etwas" gammlig, aber sie funktioniert gut und ich war immer zu faul um die funktion zu verwenden...;)

    mfg marX

  • java programm ausführbar machen

    • marX
    • 18. Januar 2004 um 14:12

    ich empfehle dir kein "standalone"-java-programm zu schreiben, sondern ein java-applet!! da hast du im prinzip die gleichen möglichkeiten, aber du kannst das applet einfach in ein html-dokument integrieren -> einfaches starten

    solltest du aber unbedingt ein standalone programm schreiben wollen empfehle ich dir auch ein batch-file zu schreiben, welches den aufruf macht...

    außerdem: warum schreibts du das programm nicht in c++ (c) ist ja java von der syntax her sehr änlich -> viel schneller und dann hast du dieses problem auch nich mehr !!

    mfg marX

  • Ich hätte da ein "Assembler-Problem" mit Keil µVision

    • marX
    • 15. Januar 2004 um 07:40

    kein problem....mit dem initialisieren des displays kann ich dir leider auch nicht helfen!

    wegen der zeitschleife: unterstützt dieser prozessor etwa nur byte-operationen, so dass du die zeitschleife aufsplitten must ?!!

    mfg marX

  • Brauche Hilfe mit Assembler!

    • marX
    • 14. Januar 2004 um 19:30

    ich nehme mal an du und ClintE kennt euch und braucht diese programme für eure schule bzw. studium ?!!

    dies sind sehr spezifische aufgaben und ihr werdet kaum jemanden hier finden der sowohl den prozessor, als auch die tastatur und das lcd-display genau genug kennt um euch mit einem programm zu helfen...

    mfg marX

  • Ich hätte da ein "Assembler-Problem" mit Keil µVision

    • marX
    • 14. Januar 2004 um 19:20

    hm.....das ist halt immer das problem mit assembler
    ->anderer prozessor->anderes programm für die selbe aufgabe (andre syntax+befehle)

    das nächste problem ist dann natürlich das display ?!! (ansteuerung...)

    das prinzip is dafür aber einfach:

    1. initialisierung des displays
    2. register xyz = 0
    3. ausgabe xyz als zeichen (z.B. 'A')
    4. ausgabe xyz als bcd -> am besten bintobcd-funktion schreiben
    -> errechnet bcd-wert und schreibt diesen in register abc
    5. register xyz incrementieren (...um 1 erhöhen)
    6. zeitschleife (1e sec warten) -> funktio- sleep_1 aufrufen
    7. xyz < 256 ? wenn ja -> goto 3
    ende des programms

    sleep_1:
    eine zeitschleife wird wie folgt realisiert:
    1. register auf 0 setzen
    2. register=register+1
    3. wenn register < "zielwert" goto 2
    fkt. beenden

    um jetzt die zeit (in unserem fall eine sekunde) einzustellen musst du wissen
    wie lange der prozessor benötigt um den befehl 2. und 3. auszuführen.
    ein bsp: 2:1us und 3:2us (bei ausgeführtem sprung)
    -> "zielwert" = 1/(0.000001+0.000002) = 333333
    das heißt, dass die schleife ("zeitschleife") 333333 mal durchlaufen werden muss bis eine sekunde verstrichen ist! das wird aber nur funktionieren, wenn Kyle uVision die simulation mit der echten prozessorgeschwindigkeit durchführt (weiß ich nicht, vielleicht kann man das aktivieren ....)


    bcd-funktion: dafür gibt es einen speziellen algorithmus den ich aber leider nicht auswendig kenne.....müsste aber mit google schnell zu finden sein!


    so...das ganze ist etwas abstrakt...ich weiß ja leider nicht was für ein vorwissen du hast, aber sonst kannst du ja nachfragen :winking_face:

    mfg marX

  • Ich hätte da ein "Assembler-Problem" mit Keil µVision

    • marX
    • 14. Januar 2004 um 08:22

    also ich habe schon viel assembler programmiert (68k & pc)
    und könnte dir sicher etwas helfen!

    1. musst du assembler verwenden oder kann es auch C sein ?
    2. was für ein prozessor verwendest du (im keil kann man ja auch einen prozessor aussuchen)
    3. musst du die "pause" (1e sekunde) mit einer "zeitschleife" realisieren oder hast du einen timer-baustein ?

    mfg marX

  • was macht "&" in java?

    • marX
    • 13. Januar 2004 um 07:53

    stimmt natürlich, was jeuneS2 sagte, aber genauer:
    bitweises und ("&"):
    7->00000111
    6->00000101
    = 00000101 -> 1 wenn beide 1 sind

    or ("|")
    4->00000100
    6->00000110
    = 00000110 -> 1 wenn >= 1

    geht natürlich auch mit variablen nicht nur mit "normlen" zahlen!

    mfg marX

  • SQL: Wildcard-Zeichen in Abfrage

    • marX
    • 13. Januar 2004 um 07:48

    im folgenden findest du einen ausschnitt aus dem SQL-reference manual:
    (dort hättest du aber auch selbst nachsehen können, bzw. googlen ;))

    Code
    3.3.4.7 Pattern Matching
    
    
    MySQL provides standard SQL pattern matching as well as a form of pattern matching based on extended regular expressions similar to those used by Unix utilities such as vi, grep, and sed. 
    
    
    SQL pattern matching allows you to use `_' to match any single character and `%' to match an arbitrary number of characters (including zero characters). In MySQL, SQL patterns are case insensitive by default. Some examples are shown below. Note that you do not use = or != when you use SQL patterns; use the LIKE or NOT LIKE comparison operators instead. 
    
    
    To find names beginning with `b': 
    
    
    mysql> SELECT * FROM pet WHERE name LIKE "b%";
    +--------+--------+---------+------+------------+------------+
    | name   | owner  | species | sex  | birth      | death      |
    +--------+--------+---------+------+------------+------------+
    | Buffy  | Harold | dog     | f    | 1989-05-13 | NULL       |
    | Bowser | Diane  | dog     | m    | 1989-08-31 | 1995-07-29 |
    +--------+--------+---------+------+------------+------------+
    
    
    To find names ending with `fy': 
    
    
    mysql> SELECT * FROM pet WHERE name LIKE "%fy";
    +--------+--------+---------+------+------------+-------+
    | name   | owner  | species | sex  | birth      | death |
    +--------+--------+---------+------+------------+-------+
    | Fluffy | Harold | cat     | f    | 1993-02-04 | NULL  |
    | Buffy  | Harold | dog     | f    | 1989-05-13 | NULL  |
    +--------+--------+---------+------+------------+-------+
    
    
    To find names containing a `w': 
    
    
    mysql> SELECT * FROM pet WHERE name LIKE "%w%";
    +----------+-------+---------+------+------------+------------+
    | name     | owner | species | sex  | birth      | death      |
    +----------+-------+---------+------+------------+------------+
    | Claws    | Gwen  | cat     | m    | 1994-03-17 | NULL       |
    | Bowser   | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |
    | Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL       |
    +----------+-------+---------+------+------------+------------+
    
    
    To find names containing exactly five characters, use the `_' pattern character: 
    
    
    mysql> SELECT * FROM pet WHERE name LIKE "_____";
    +-------+--------+---------+------+------------+-------+
    | name  | owner  | species | sex  | birth      | death |
    +-------+--------+---------+------+------------+-------+
    | Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
    | Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
    +-------+--------+---------+------+------------+-------+
    
    
    The other type of pattern matching provided by MySQL uses extended regular expressions. When you test for a match for this type of pattern, use the REGEXP and NOT REGEXP operators (or RLIKE and NOT RLIKE, which are synonyms). 
    
    
    Some characteristics of extended regular expressions are: 
    
    
    `.' matches any single character. 
    A character class `[...]' matches any character within the brackets. For example, `[abc]' matches `a', `b', or `c'. To name a range of characters, use a dash. `[a-z]' matches any lowercase letter, whereas `[0-9]' matches any digit. 
    `*' matches zero or more instances of the thing preceding it. For example, `x*' matches any number of `x' characters, `[0-9]*' matches any number of digits, and `.*' matches any number of anything. 
    Regular expressions are case sensitive, but you can use a character class to match both lettercases if you wish. For example, `[aA]' matches lowercase or uppercase `a' and `[a-zA-Z]' matches any letter in either case. 
    The pattern matches if it occurs anywhere in the value being tested. (SQL patterns match only if they match the entire value.) 
    To anchor a pattern so that it must match the beginning or end of the value being tested, use `^' at the beginning or `$' at the end of the pattern. 
    To demonstrate how extended regular expressions work, the LIKE queries shown above are rewritten below to use REGEXP. 
    
    
    To find names beginning with `b', use `^' to match the beginning of the name: 
    
    
    mysql> SELECT * FROM pet WHERE name REGEXP "^b";
    +--------+--------+---------+------+------------+------------+
    | name   | owner  | species | sex  | birth      | death      |
    +--------+--------+---------+------+------------+------------+
    | Buffy  | Harold | dog     | f    | 1989-05-13 | NULL       |
    | Bowser | Diane  | dog     | m    | 1989-08-31 | 1995-07-29 |
    +--------+--------+---------+------+------------+------------+
    
    
    Prior to MySQL Version 3.23.4, REGEXP is case sensitive, and the previous query will return no rows. To match either lowercase or uppercase `b', use this query instead: 
    
    
    mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";
    
    
    From MySQL 3.23.4 on, to force a REGEXP comparison to be case sensitive, use the BINARY keyword to make one of the strings a binary string. This query will match only lowercase `b' at the beginning of a name: 
    
    
    mysql> SELECT * FROM pet WHERE name REGEXP BINARY "^b";
    
    
    To find names ending with `fy', use `$' to match the end of the name: 
    
    
    mysql> SELECT * FROM pet WHERE name REGEXP "fy$";
    +--------+--------+---------+------+------------+-------+
    | name   | owner  | species | sex  | birth      | death |
    +--------+--------+---------+------+------------+-------+
    | Fluffy | Harold | cat     | f    | 1993-02-04 | NULL  |
    | Buffy  | Harold | dog     | f    | 1989-05-13 | NULL  |
    +--------+--------+---------+------+------------+-------+
    
    
    To find names containing a lowercase or uppercase `w', use this query: 
    
    
    mysql> SELECT * FROM pet WHERE name REGEXP "w";
    +----------+-------+---------+------+------------+------------+
    | name     | owner | species | sex  | birth      | death      |
    +----------+-------+---------+------+------------+------------+
    | Claws    | Gwen  | cat     | m    | 1994-03-17 | NULL       |
    | Bowser   | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |
    | Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL       |
    +----------+-------+---------+------+------------+------------+
    
    
    Because a regular expression pattern matches if it occurs anywhere in the value, it is not necessary in the previous query to put a wild card on either side of the pattern to get it to match the entire value like it would be if you used a SQL pattern. 
    
    
    To find names containing exactly five characters, use `^' and `$' to match the beginning and end of the name, and five instances of `.' in between: 
    
    
    mysql> SELECT * FROM pet WHERE name REGEXP "^.....$";
    +-------+--------+---------+------+------------+-------+
    | name  | owner  | species | sex  | birth      | death |
    +-------+--------+---------+------+------------+-------+
    | Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
    | Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
    +-------+--------+---------+------+------------+-------+
    
    
    You could also write the previous query using the `{n}' ``repeat-n-times'' operator: 
    
    
    mysql> SELECT * FROM pet WHERE name REGEXP "^.{5}$";
    +-------+--------+---------+------+------------+-------+
    | name  | owner  | species | sex  | birth      | death |
    +-------+--------+---------+------+------------+-------+
    | Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
    | Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
    +-------+--------+---------+------+------------+-------+
    Alles anzeigen


    mfg marX

  • Wurm - Virus ??

    • marX
    • 11. Januar 2004 um 15:28

    eine gute sache wäre sicher mit einer firewall oder einem
    sniffer, etc. die sockets (bzw. den datentransfer) zu überwachen
    -> da kannst du sehen, welches programm daten überträgt und dann siehst du schon ob's nen virus/wurm ist !

    also ich hab z.B. ein gutes prog mal im inet. gefunden (vision heist's - weiß aber leider nicht mehr von wo ;)) das alle sockets mit zugehörigen programmen anzeigt !!!

    mfg marX

  • neue grafikkarte aber ich kann n8icht klonen

    • marX
    • 11. Januar 2004 um 14:32

    du solltest dein problem vielleicht etwas genäuer beschreiben ...!
    1. clone cd ?!!
    2. was heist "geht nicht mehr" -> ausgaben ?!!
    3. kann mir nicht vorstellen wie das gehen soll :winking_face:

    mfg marX

Rechtliches

Impressum

Datenschutzerklärung