Der Unterschied ist, daß Galaxy Revolution dich mit (schlechter) Musik begrüßt, die man nichtmal abdrehen kann. Websites, die ungefragt irgendwas durch meine Boxen jagen, sind kollektiv das letzte.
Beiträge von Plantschkuh!
-
-
-MM gibt nur die Dependencies im Format wie bei einem Makefile aus, was aber eben die Verwaltung der Dependencies vereinfacht, weil sie sich auf maximal copy&paste reduziert.
Naja, wenn ich Libraries mit vielen Headern verwende (und das muß ich persönlich nun mal), ist nach -MM noch ein wenig Postprocessing angesagt, also ist nichts mit copy & paste. Außerdem muß man gcc -MM nach Änderungen auch händisch laufen lassen, das ist nicht der Gipfel der AutomationSicher ein Schritt in die richtige Richtung, aber einige Sachen bleiben doch ungelöst.
-
Inkludiert man am besten die c-Dateien selbst oder doch die header-Dateien in denen die Funktionsrümpfe mit "extern" deklariert sind?
Üblicherweise nur Headers, der Linker soll auch ein bissi arbeiten dürfenAußerdem, je weniger Code auf einmal neu kompiliert werden muß, umso besser. (Wenn ich das richtig im Kopf hab, ist extern übrigens fast nie nötig, da default. Ist aber eine nette Annotation, also warum nicht.)
Du kannst die Funktionen, die nur innerhalb einer Source-Datei relevant sind, übrigens als static deklarieren, dann kann man nicht von außerhalb gegen sie linken, selbst wenn man wollte. (Wiederum wenn ich das richtig im Kopf hab... Schwimmen macht müde.)
ZitatWas ist mit mehrfacher Inkludierung? Das könnte eventuell Probleme geben, nicht? Hilft da wirklich einfach ein "ifndef ... define ... endif" Block?
Ja, das hilft wirklich, wieso auch nicht? Solang ein Header übrigens nur Deklarationen ohne Definitionen oder Makros enthält, ist mehrfache Inkludierung übrigens kein Problem, aber die Guards kosten nichts.ZitatEin Nachteil ist ja auch, dass man beim Aufteilen einer Anwendung im Makefile nicht mehr sowas wie "gcc *.c" verwenden kann, sondern immer speziell anpassen muss.
Der Vorteil von make ist ja gerade, daß nicht immer alles neu übersetzt werden muß. Aber ja, Dependencies verwalten ist ein Hund. Wenn man aber mal wirklich alles neu builden will, ein "make clean; make" tippt sich fast so schnell -
Aaah, ungesunde Paranoia gepaart mit der Unfähigkeit zu googeln...
Zitat von eine sehr alte Mail vom ZIDEine weitere häufige Anfrage betrifft eine immer wiederkehrende Mail
mit dem Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA> From: "Mail System Internal Data" <MAILER-DAEMON@stud4.tuwien.ac.at>
> Sent: Thursday, April 29, 2004 12:11 PM
> Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
>
> This text is part of the internal format of your mail folder, and is
> not a real message. It is created automatically by the mail system
> software. If deleted, important folder data will be lost, and it will
> be re-created with the data reset to initial values.Diese "Pseudo-Nachricht" wird durch das IMAP-Protokoll in jedem
Mail-Ordner angelegt, so auch in der Inbox. Ruft man die Mails immer
per IMAP ab (Webmail oder Mail-Programm, das IMAP unterstützt), wird
diese Nachricht richtig interpretiert und die Anzeige daher
unterdrückt. Wechselt man jedoch das Protkoll auf POP, so wird die
Nachricht wie eine ganz gewöhnliche Nachricht angezeigt, da das
POP-Protokoll den "tieferen Sinn" dieser Nachricht nicht interpretieren
kann. Dasselbe passiert, wenn man mit Programmen von der Shell aus, wie
elm, mutt oder pine, seine Mailbox abruft.
Ich kenne keinen Fall, wo das Löschen dieser Nachricht negative
Auswirkungen gehabt hatte, aber Sie wird halt immer wieder neu erzeugt. -
meine überschreitungen beschränken sich auf höchstens 5 km/h zu schnell
War da nicht mal was mit zweimal 10% Toleranz wegen den Meßgeräten und noch was? Da könnten sie dich nichtmal in einer 30-er-Zone für 5 km/h strafen.ZitatWolfibolfi: neueste untersuchungen haben gezeigt, dass der ablenkfaktor ganz genau gleich ist!! also tel mit oder ohne freisprecheinrichtung. (ich meine jetzt nur die ablenkung, nicht ob man jetzt händer frei hat oder sonstwas).
Das weiß er. Deswegen hat er auch das geschrieben, was er geschrieben hat von wegen Händen und Beifahrern. -
anscheinend dürfen aber einsatzfahrzeug-fahrer im auto telefonieren! also auch die rettung und die feuerwehr!
Ein Einsatzfahrzeug ist es aber erst mit Blaulicht oder Sirene, äh, Folgetonhorn. Weiß nicht, wie es in reddis konkretem Fall war, aber ich seh fast nie Polizeiautos mit Blaulicht, also würde ich tippen, daß es bei ihm auch ohne unterwegs war (insbesondere, weil er das nicht dazugesagt hat). -
Weil bei guter OOP keine Funktion zweimal vorkommen wird, da sie in Klassen als Methoden gekapselt sind und eine Klasse auch nicht zweimal vorkommen sollte (was mach ich zB mit zwei Klassen namens Person?
- eine Person ist eben eine Person)
Ich definier natürlich keine zwei Klassen, die jeweils Person heißen, aber man verwendet immer wieder Libraries. Wenn zwei Libraries gleiche Klassennamen deklarieren, hat man den Salat; Namespaces helfen da. (Und ja, Libraries verwenden oft eigene Präfixe für alle Symbole, die sie exportieren -- bingo, genau diese Präfixe kann man sich mit Namespaces theoretisch sparen bzw. hat mit dem Namespace halt eine andere Art Präfix.)ZitatC++ ist allerdings keine objektorientierte Sprache und man kanns auch nie komplett objektorientiert programmieren, da man sonst "Funktionsrestklassen" definieren müsste, wie zB für die mathematische Funktionssammlung...
Bitte was? Magst du in Smalltalk demonstrieren, das so eine Funktionsrestklasse sein soll? -
Ich hab seit bald zwei Jahren LG-Handys, und das einzige Problem, das ich hatte, war, daß mir eins gestohlen worden ist
Und was die Softwareprobleme betrifft, wenn Nokias gepatcht werden können, dann wohl auch LGs.
-
Ein yacc-File hat drei Abschnitte, die durch %% voneinander getrennt sind. Im ersten stehen diverse Deklarationen und sowas, im zweiten die Grammatikregeln, und im dritten kann beliebiger Code stehen, der ans Ende vom generierten C-File kopiert wird. Dort gehört dein Kommentar also hin.
-
public class scanner {
public static void main(String[] args) {
int x;
int y;
Scanner sc = new Scanner(System.in);
Ähm, soll der kleine scanner das selbe wie der große Scanner sein? Wenn sie unterschiedlich sein sollen, such dir einen gescheiten, großgeschriebenen neuen Namen für deine Klasse. (Ganz unabhängig vom aktuellen Problem.) -
Major_Payne, hier ein Tip, den du dein ganzes Leben lang mit dir mitschleppen kannst: Ein kleines vollständiges Programm, oder allerzumindestens eine kleine vollständige Methode gehört zu einer anständigen Problembeschreibung dazu. Denn dann sehen die anderen wirklich, was dein Code tut, und müssen nicht raten, ob du irgendwas initialisiert hast oder nicht.
Also wenn das Problem noch besteht: nimm dein Programm her, nimm alles raus, was nicht mit diesem einen Codestück zu tun hat, aber das Programm noch immer compilierbar und lauffähig ist, und poste das.
(Und ignoriere den Rat von Leuten, die deine Spezifikation nicht gelesen haben.)
-
Danke für das Video! Ich finds voll interessant.
-
Ich will auch mal! Der Hund gehört meiner Freundin, davor hatte ich ein Enten-Warnschild von Wolfibolfi, davor ein Fraktal von Wolfibolfi... der macht coole Bilder. Noch davor irgendein von Apple vorgegebenes Hintergrundbild, insgesamt bin ich nicht so der Typ, der stundenlang rumcustomisiert.
Als ich noch Linux verwendet hab, hab ich jahrelang einfach das schwarzweiße X-Hintergrundmuster als Hintergrund gehabt...
-
aber was wäre wenn ich den Spalteninhalt zentriert haben möchte und die Spaltenbreite 5cm. weiß jemand rat?
Also mir kann deine Diplomarbeit ja relativ wurscht sein, aber mein Rat wäre: Wenn du wirklich Hilfe willst, spezifizier mal genau, was du wirklich haben willst, und ändere nicht die Spezifikation, wenn dir jemand helfen will.Also zum Beispiel: Wieso soll die Spalte gerade 5cm breit sein, sollen Einträge mehrzeilig sein dürfen, wie soll der Text wirklich ausgerichtet werden, wie soll das ganze aussehen?
Zitataber ich hab ne weitere Warning, die ich nicht in den Griff bekomme:
"h float modifier changed to ht"
das heißt das er mir eine Tabelle immer an den Anfang der Seite stellt, obwohl er eigentlich die Hier [h] einfügen soll.
Vielleicht tut [!h] das, was du willst. Vielleicht auch nicht. Die Not So Short Introduction meint "In particular, you should never, ever use the [h] option—it is so bad that in more recent versions of LATEX, it is automatically replaced by [ht]." -
Und zwar möcht ich ne dreispaltige tabelle, deren Inhalt linksbündig und 5 cm Spaltenbreite ist.
Was genau meinst du mit linksbündig? p{Breite} erzeugt eine Spalte mit der gegebenen Breite, in der der Text wie normale Absätze (p steht für paragraph) mit jener Breite gesetzt wird. Wenn ich nicht mal wieder links und rechts durcheinanderbringe, dann ist das linksbündig.Was die Fehlermeldung betrifft, kann man sie wohl besser analysieren, wenn du sie postest...
-
Das ist vielleicht nicht das beste Forum für sowas, aber es scheint kein besseres zu geben...
Datenbankinteressierte könnten das vielleicht genauso cool finden wie ich, es ist ein Demo von Dabble DB, einer webbasierten Datenbankapplikation: http://dabbledb.com/explore/7minutedemo/
-
PS: Warum wurde der Thread eigentlich ins Offtopic verschoben?
Weil es keinen Mistkübel gibt, nehm ich an. Es haben sich genug Leute gemeldet, für zukünftige Interessierte gibts den Wiki-Link, ist es wirklich noch nötig, das Informatikforum als private Mailingliste zu mißbrauchen?(Ich weiß, ich weiß... wenn mich der Thread nicht interessiert, brauche ich ihn nicht zu lesen. Na Mahlzeit, wenn sich das jeder so denkt.)
-
Weswegen ich hier poste, ist eigentlich die Frage inwieweit das auf der TU/UniWien zu finden ist, entweder in Form von Projekten oder nahegelegenem Knowledge.
Ich habs weder besucht noch weiß ich, ob es wieder stattfinden wird, aber es gibt das da: http://vowi.fsinf.at/wiki/Engineeri…ng_VO_(Tomsich)Edit: Tststs, einmal probier ich meine Links nicht durch... danke für die Korrektur, mdk!
-
Ich bin bei solchen Geschichten kein Experte, aber mein g++ meint zu deinem Code "warning: `std::map<_Key, _Tp, std::less<_Key>, std::allocator<std::pair<const _Key, _Tp> > >::iterator' is implicitly a typename" und daß das deprecated sei; wenn ich typename einfüge, dann ist er ruhig.
Vielleicht hilft das bei dir auch? Ansonsten dürft ein Fehler woanders im Code sein. Das jedenfalls kompiliert bei mir wie gesagt:
C
Alles anzeigen#include <map> #include <utility> namespace std { template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > class MapWrapper : public std::map<_Key, _Tp, _Compare, _Alloc> { public: MapWrapper() {}; virtual ~MapWrapper() {}; virtual void serialize() { // zeile 35 (für compiler...): typename std::map<_Key, _Tp>::iterator iter; }; }; }; // namespace std
Eine Sache noch: Kann mir nicht vorstellen, daß das hier das Problem ist, aber Identifier, die mit einem Underscore gefolgt von einem Großbuchstaben beginnen, sind immer für die Implementierung reserviert. D.h. jedesmal, wenn du etwas _Key oder _Tp nennst, kann es sein, daß du mit den Interna deiner Header rumpfuscht, das kann zu beliebigen unmöglich zu findenden Fehlern führen.
(Und der Vollständigkeit halber: Ebenso reserviert sind Identifier, die irgendwo zwei Underscrores hintereinander enthalten, außerdem sind Identifier, die mit einem Underscore und nicht einem Großbuchstaben beginnen, oft, aber nicht immer, reserviert. Am besten auch vermeiden.) -
binäre Suche? Nein das geht hier nicht.. ich such ja nicht nach einem String, sondern ich such nach den Vorkommnissen aller Strings in dem Array.
Sobald du mittels Binärsuche ein Vorkommen vom String gefunden hast, kannst du schauen, wie oft vor und nach diesem der gleiche vorkommt und hast auch die Anzahl der Vorkommen.Zitatnein ich werd eine Liste machen.. einen Eintrag nach dem anderen einlesen und mit dem nächsten vergleichen. Wenn der Eintrag der gleiche ist, dann inkrementier ich das Ergebnis für den String, ansonsten häng ich ein neues Element mit dem aktuellen String an die Liste. Ich glaub so isses relativ schnell.
Was heißt "relativ" schnell? Wenn du wenige unterschiedliche Strings hast, dann ist ein Array mit Binärsuche sicher besser. Wenn du viele verschiedene Strings hast, dann nimm zumindest einen binären Suchbaum statt einer Liste... Es gibt einiges, was besser ist als lineare Suche.