
Bubble
Mitglieder-
Gesamte Inhalte
1565 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Bubble
-
Visual C++ DLL in Borland Builder 6 benutzen
Bubble antwortete auf Highzwerg's Thema in C++: Compiler, IDEs, APIs
Du könntest Dir, wenn Du eine passende Visual C++ Version besitzt, mit Visual C++ eine Wrapper-DLL um die DLL mit der Klasse bauen, die nur ein C-Style-Interface exportiert. -
Und in dem Thread wird mit keinem Wort erwähnt, wie er es *selbst* programmieren kann. @Tetabyte: Schau bei www.mpeg.org nach Links zu Dokus und Beispielimplementierungen. Aus denen kannst Du evtl. das Nötige herauslesen. Falls Dir das nicht hilft oder Du eine verbindliche Auskunft brauchst, musst Du Dir die MPEG Specification für die unterschiedlichen Standards kaufen oder in einer Bibliothek nachschlagen, die die von Dir benötigten Dokumente besitzt (oder auf sie Online-Zugriff hat).
-
Visual C++ DLL in Borland Builder 6 benutzen
Bubble antwortete auf Highzwerg's Thema in C++: Compiler, IDEs, APIs
Auch hierbei sage ich größere Probleme voraus, insbesondere wenn Klassen verwendet werden sollen. -
Visual C++ DLL in Borland Builder 6 benutzen
Bubble antwortete auf Highzwerg's Thema in C++: Compiler, IDEs, APIs
Nimm die Kommentare mal wieder weg. __declspec(dllimport) macht Visual C++ bekannt, dass eine Funktion aus einer DLL benutzt werden soll. Ob Dein Compiler damit auch umgehen kann, wirst Du ja beim Testlauf erfahren C++ benutzt so genanntes "name mangling", bei dem die Funktionsnamen und Namen von Member-Functions auf einen eindeutigen Bezeichner abgebildet werden. Das Verfahren ist nicht standardisiert, daher können sich hier Compiler unterscheiden. Wenn zwei Compiler nicht mit dem gleichen Verfahren arbeiten, kommt es zu Problemen. Umgehen kann man diese Probleme i.d.R. nur völlig, indem man beim Entwurf der DLL nur ein "C-Style-Interface" exportiert und auch nur dieses importiert. Der Export von C++ Klassen ist dann aber nicht möglich. Ob Symbole mit C-Konvention importiert oder exportiert werden erkennst Du daran, dass die Prototypen in einen Block eingschlossen sind, dem ein extern "C" vorangestellt ist. -
Visual C++ DLL in Borland Builder 6 benutzen
Bubble antwortete auf Highzwerg's Thema in C++: Compiler, IDEs, APIs
Warum ist diese Zeile auskommentiert? Handelt es sich um C oder C++? Falls C in C++ wurde auf den Einsatz von extern "C" geachtet? Wenn es C++ ist muss Dein C-Builder die Funktionsnamen genau so abbilden, wie der zur Erzeugung der lib und dll verwendete Compiler (in Deinem Fall Visual C++). -
Es geht mir nur darum den Sachverhalt möglichst richtig und so umfassend wie nötig darstellen, auch im Interesse anderer Leser dieses Threads. Vielleicht sollte man noch anmerken, das Standard- C/C++ Programme eine main-Funktion verwenden müssen und WinMain natürlich plattformspezifisch ist.
-
Nein, das hängt vom verwendetet Subsystem (Console oder Windows) ab. Du kannst auch jederzeit eine andere Eintrittsfunktion festlegen, die einen beliebigen Namen haben darf, aber den von Windows festgelegten Aufrufkonventionen folgen muss. Der Aufruf dieser Funktionen erfolgt aus dem CRT Startup-Code heraus, je nach verwendetem Subsystem. Welche Funktion Windows zuerst aufruft, wird vom Linker festgelegt. Normalerweise ist das eine zur C-Run Time Library gehörende Funktion. Du musst den String in einem Buffer vorbereiten, z.B. mit sprintf().
-
Cygwin ist dazu gedacht Linux Programme mit möglichst geringen Aufwand unter Windows betreiben zu können. Dazu wird ein wichtiger Teil der Linux-APIs zur Verfügung gestellt. Da beim von Cygwin verfolgten Ansatz eine Recompilierung unter Cygwin erforderlich ist, kann man natürlich mit Cygwin als Nebeneffekt auch Programme entwickeln. Inwiefern das sinnvoll ist, insbesondere wenn man ohnehin nur Windows als Zielplattform vor Augen hat, ist eine andere Sache. Mir sind lediglich einige Projekte bekannt, die Cygwin dazu nutzen Software unter Windows und Linux mit einheitlichen Build-Scripten erzeugen zu können.
-
Cygwin ist keine Entwicklungsumgebung, es ist eine Art Laufzeitungebung, die jedoch eine Neucompilierung der Programme für Cygwin zwingend erfordert.
-
GCC wurde schon genannt, ist im Unix/Linux/BSD Bereich beliebt. Für Windows gibt es auch das Visual C++ Toolkit. Es kommt letzlich aber auch darauf an, was Du machen möchtest und welches OS Du einsetzt.
-
Achte darauf, dass für den Port auch auf dem VM-Ware Netzwerkinterface keine Firewall aktiv ist, die Anfragen von aussen blockiert.
-
Leider gibt es IMO keine sinnvolle und angemessen anerkannte Zwischenlösung. Ich finde, das ist eine echte Lücke. Bei einer Ausbildung solltest Du aufpassen, dass Du vom Betrieb auch umfassend ausgebildet (soweit wie für den Beruf FIAE vorgesehen) und nicht als billige Arbeitskraft für laufende Projekte ausgenutzt wirst. Im Verlauf eines Informatikstudiums kannst Du Dir auch Veranstaltungen aussuchen, für die mehr programmiert werden muss. Während der Semesterferien hast Du meist auch Freizeit und damit die Möglichkeit zu Hause eigene Software-Projekte anzufangen. Das hat sogar den Vorteil, dass Du prinzipiell machen kannst, was Du willst. Du bist allerdings dabei auf Dich alleine gestellt.
-
Ghost von CD booten.
-
Seit 1.09 in der Ausbildung, brauche günstiges Notebook !
Bubble antwortete auf SchnittenP's Thema in Hardware
Insbesondere wenn Du Linux direkt einsetzen willst (also ohne VMware oder ähnliche Lösungen), solltest Du Dich vor dem Kauf über die Kompatibilität und die Treibersituation informieren. -
Ich hatte für meinen PIII auch mal ein Speichermodul, das doppelt so hoch wie normal war und das war kein besonderer Speicher und ein ganz normales Board. Es muss also nicht unbedingt etwas exotischeres sein, was es wirklich ist, kann ich auf dem Bild nicht erkennen.
-
Sofort hach DoModal() Funktionen aufrufen...
Bubble antwortete auf Arparso's Thema in C++: Compiler, IDEs, APIs
Das es für manche Anfänger zu viel ist, dem stimme ich zu. Allerdings: Es ist wie beim Strassenverkehr. Abkürzungen zu nehmen, wie eine Einbahnstrasse in die falsche Richtung zu befahren, und das mit dem Status "Fahranfänger" zu entschuldigen geht nicht. Und mal ehrlich, selbst wenn er es nicht hinbekommt: Dann gibt er seine Statusmeldungen einfach auf einem anderem Weg aus oder lässt sie einfach weg und das Programm funktioniert (hoffentlich) trotzdem noch (und enthält keine Workarounds). Es gibt wichtigeres, als eine hübsche GUI -
Automatisch ein- und abschalten für einen neuen Porsche
Bubble antwortete auf marc.kohler's Thema in Windows
Also an diesem Punkt möchte ich mich einmal einmischen: Es ist zwar wirklich so, dass ein 24h Betrieb am einfachsten zu managen ist, allerdings: - Für einen sicheren 24h Betrieb ist auch das Drumherum zu gewährleisten. Es ist leider nicht bekannt, ob die 3 Server in einem eigens eingerichteten Raum stehen oder irgendwo in der Ecke vom Büro plaziert sind und <Übertreibung> eh zwangs-resetet werden, wenn die Steckdose für den Staubsauger gebraucht wird... </Übertreibung> - Wenn ein Server nicht gebraucht wird (nicht über's Internet erreichbar, keine nächtlichen Tätigkeiten, die nicht auch problemlos in die Tageszeit verlegt werden können) und es problemlos machbar ist, dass der erste Mitarbeiter, der am Folgetag den Server benötigt, den Server-Computer einschaltet, dann ist das Abschalten eine Entscheidung, gegen die IMO nichts einzuwenden ist und Energiespaaren hilft. Über Stromverbreuch sollte man sich wirklich Gedanken machen (auch darüber, wo der Strom eigentlich herkommt) und nicht allzu leichtfertig damit umgehen. Zu den bisher angesprochenen Nachteilen: - Die Dienste starten nicht richtig/vollständig: Wenn das der Fall ist, gibt es IMO mit der Software ein größeres Problem, das sofort gelöst werden sollte. So etwas ist nicht normal. Es _muss_ jederzeit gewährleistet sein, dass die PCs wieder korrekt anfahren. Ggf. muss halt dafür gesorgt werden, dass Server automatisch in der richtigen Reihenfolge und zum richtigen Zeitpunkt gestartet werden (das ist machbar). - Wenn einer DB ein Neustart (nach kontrolliertem Herunterfahren) nicht gut bekommt, dann sollte das Produkt oder der Admin gewechselt werden, je nachdem wer Schuld hat... - Festplatten vertragen an/aus nicht: Backups sind eh erforderlich. Wer wirklich sicher gehen will, da ein Festplattenausfall ihn viel Arbeitszeit kosten würde, sollte ohnehin ein Hot-Swap-RAID verwenden. Wenn trotzdem ein 24h Betrieb angestrebt werden muss (z.B. wegen ständig erforderlicher Erreichbarkeit über das Internet), kann man noch folgende Überlegungen mit einbeziehen: - Lassen sich Server konsolidieren? Weniger Server brauchen meist weniger Strom und (falls vorhanden) belasten die Kimaanlage weniger. - Server mit geringem Stromverbrauch: Nicht jede Anwendung benötigt ständig die volle Rechenleistung. Geringere Taktraten haben oft einen geringeren Stromverbrauch. Wie viel Leistung wird für die Anwedungen benötigt und mit welcher Hardwarekombination bekommt man die meiste Leistung pro Watt? Die Entscheidung ist schwierig und sollte richtig ausgewogen sein. -
Sofort hach DoModal() Funktionen aufrufen...
Bubble antwortete auf Arparso's Thema in C++: Compiler, IDEs, APIs
Man kann eigene modale Fenster sauber programmieren, die wie eine modale Dialog-Box die Interaktion mit dem Parent-Window unterbinden. Das Hauptfenster kann man selbst mit EnableWindow() "lahmlegen", da für ein modales Fenster eine eigene Message-Loop verwendet wird, kommt die Message-Loop vom Hauptfenster ohnehin nicht zum Zug. Es muss dabei darauf geachtet werden, dass Parent-Window wieder zu aktivieren, bevor das Anzeige-Fenster geschlossen wird. Man sollte auch eine eintreffende WM_QUIT Nachricht geeignet behandeln (sie sollte in die übergeordnete Message-Loop wieder eingefügt werden). Ich hab Dir noch mehrere Links zu ein paar Beispielen rausgesucht, die eine mögliche Vorgehensweise beschreiben: http://www.mvps.org/user32/modal.html und http://blogs.msdn.com/oldnewthing/archive/2004/02/27/81155.aspx und http://blogs.msdn.com/oldnewthing/archive/2005/02/18/376080.aspx Nichts für ungut, aber Timer, die genau einmal aufgerufen werden, nur mit dem Zweck eine einzige WM_TIMER Nachricht zu erzeugen, halte ich für keine saubere Lösung. Da könnte man doch eher mit PostMessage (eine) eigene Nachricht(en) in die Nachrichten-Warteschlange einfügen, das wäre zumindest etwas schöner. -
Das kann Excel schon von Haus aus. Speichere Dein Sheet (oder die aktuelle Selektion) als CSV-Datei.
-
Sofort hach DoModal() Funktionen aufrufen...
Bubble antwortete auf Arparso's Thema in C++: Compiler, IDEs, APIs
Das ist aber kein schöner Workaround. So sollte man IMO nicht vorgehen. Eine modale Dialogbox ist für den Dialog mit einem Anwender gedacht (insbesondere werden Eingaben vom Anwender erwartet) und nicht dafür Statusinformationen in eine Richtung auszugeben. Hierfür solltest Du lieber ein normales Fenster nehmen, dieses kannst Du natürlich der Einfachheit halber auch mit CreateDialog aus einem Dialog Template Resource erstellen. Da Du bei dieser Variante die Nachrichtenschleife und das Dispatchen der Nachrichten an die DialogProc selbst übernehmen musst, kannst Du hier (nach erfolgter Darstellung und erstmaligem Zeichnen) Deine umfangreichere Verarbeitung problemlos anstoßen und ggf. Elemente in dem Fenster verändern. Du musst nur immer wieder zwischendurch die angefallenen Nachrichten verarbeiten oder alternativ zwei getrennte Threads verwenden (einen für die Nachrichtenverarbeitung, einen weiteren für Deine sonstige nebenläufige Funktionalität). -
Also ich fände es gut, wenn es so wie AOE2 ist, denn AOE2 hat Spass gemacht und war IMO intuitiv zu bedienen. Ich muss die AOE3 Demo demnächst auch mal probespielen.
-
Ein paar Vorschläge: - Eine spaarsame CPU verwenden: Beispiel ULV Pentium M mit passemdem Board oder spezielle stromspaarende embedded CPUs - Ein Betribssystem verwenden, das mit der verwendeten stromspaarenden CPU zusammenarbeitet und sie auch wirklich in den Zustand geringer Stromaufname versetzt. - Nur eine spaarsame integrierte Grafik verwenden, keine extrenen Karten (manche Systeme booten ohne Grafikhardware nicht). - Keine Stromhungrigen Laufwerke einbauen, jedes zusätzliche Laufwerk braucht ebenfalls Strom, also auf RAID verzichten (wozu braucht ein Gateway ohnehin ein RAID? Theorerisch könntest Du, wenn Du einen File-Server hast, ganz auf Platten verzichten und über das Netz booten.) - Ein gutes nicht überdimensioniertes Netzteil, das im benötigten Lastbereich einen guten Wirkungsgrad erreicht. Meine Empfehlung: Kauf Dir einen normalen Gateway-Router, der braucht IMO weniger Strom, als ein selbstgebauter PC, kommt mit einem Steckernetzteil aus und ist bedeutend leiser ;-)
-
Darüber kann man vortrefflich streiten ;-)
-
Die Antwort findet sich im Eclipse-FAQ: http://www.eclipse.org/eclipse/faq/eclipse-faq.html#about_4 Im "normalen Sprachgebrauch" wird mit SDK allerdings meist etwas anderes als eine IDE gemeint. Während eine IDE Editoren und sonstige Unterstüzung (Compiler-Anbindung, Debugger, etc.) für eine oder mehrer Sprachen anbietet, ist ein SDK meist eine Sammlung von dokumentierten Bibliotheken/Schnittstellen, über die einem Entwickler irgendeine Funktionalität zur Verwendung durch seine Programme bereitgestellt wird.
-
Ja, es ist aber Betriebssystemabhängig.