You are not logged in.

  • Login

31

Sunday, June 1st 2008, 4:15pm

ähm fehlende threads in c/c++ ?? ich glaub da is einer komplett auf dem falschen dampfer! ich habs selbst noch nicht gemacht, aber hab hier folgendes buch vorliegen:

"multithreading applications in win 32 -the complete guide in threads"
jim beveridge + robert wiener, addison wessley, isbn 0-201-44234-5

erscheinungsjahr !996 !!!!!!! und damit schon seit mindestens 12 jahren verfügbar. was ja wohl in der it ne ewigkeit ist.
ach ja, es geht natürlich um die sprache c/c++, es beinhaltet sogar kapitel, um das ganze mit mfc-klassen zu nutzen!

Posts: 2,153

Location: Freiberg

Occupation: GER

  • Send private message

32

Sunday, June 1st 2008, 4:24pm

du brauchst dennoch eine zusätzliche bibliothek!

openMP zb
Ist aber glaube ich sogar standartmäßig bei vs dabei

This post has been edited 1 times, last edit by "GWC_Vegeta" (Jun 1st 2008, 4:25pm)


fast_tam

Professional

Posts: 1,013

Location: Erding

Occupation: GER

  • Send private message

33

Sunday, June 1st 2008, 6:12pm

Vegeta hat schon recht - es ist prinzipiell kein sehr großes Problem eine Bibliothek einzubinden. Für mich ist das Problem eher das es keinen einheitlichen Weg gibt, dh. es gibt einfach mehrere Optionen zur Auswahl.

Sagen wir man baut eine GPU Computing Library auf Basis von OpenMP.
Jetzt möchte man aber eine sehr eechenintensive Anwendung auf Basis von ZThreads, Boost oder ACE damit optimieren.... und man wird am Ende seine Anwendung in großen Teilen umschreiben zu müssen.

Was in der C++ Unterstützung von Visual Studio eingebaut ist... keine Ahnung.
.NET dürfte ja multithreading mitbringen. Zudem läuft die Anwendung ja dann auch wieder in einer virtuellen Maschine ;) (ja, C# ist technisch gesehen mehr Java als C(++) )


Quoted

erscheinungsjahr !996 !!!!!!! und damit schon seit mindestens 12 jahren verfügbar. was ja wohl in der it ne ewigkeit ist.


sag das nicht - du glaubst nicht wieviel software um einiges älter als 12 jahre ist und immer noch brav ihren dienst tut. ich finde es vor allem immer wieder lustig wenndie clients von älteren unix-systemen auf win32 portiert wurden weil der PC sich durchgesetzt hatte (meist war die "portierung" immer noch texteingabe, aber halt im windowsfenster - manchmal gibts sogar einige dialoge (einloggen, etc))...
jetzt überdenkt man die situation und kommt zu der erkenntnis das man eigentlich wieder zurück auf UNIX möchte (thin clients... rechenpower auf dem client war gestern).

Das System welches Geschäftsvorfälle abbildet ist der Mittelpunkt eines Unternehmens, die technik drumherum ändert sich viel zu schnell als das man sich festlegen möchte.

34

Sunday, June 1st 2008, 8:15pm

jo , da haste wohl recht, ich muss mich an der arbeit mit ner 16 jahre alten software zur angebotserstellung rum quälen. das teil ist ne datenbank vom damaligen sohn des inhabers entwickelt. auf basis von "smartware auf dos "entwickelt", is der grösste schrott, und buggy ohne ende.

35

Monday, June 2nd 2008, 8:57am

Quoted

Original von fast_tam

Was man als Student lernt ist in der freien Wirtschaft doch sowieso nur sehr beschränkt einsetzbar.

Najawirklich "praktische" Erfahrung in der Wirtschaft hab ich leider eher wenig. War beim Fraunhofer Institut hier in MD als hiwi jahrelang tätig und durfte da so edle Sachen wie VB/VBA (für access) machen. ...großes Kino :rolleyes: Ansonsten ist hier im Raum Magdeburg schwer was zu finden. Wäre ich irgendwo im Westen Deutschlands wäre ich nach dem Studium wahrscheinlich garnicht erst in der Uni geblieben. Aber hier ist das so ziemlich das beste, was man an Bezahlung kriegen kann. Und nebenbei springt sogar noch 'ne Promotion raus ;). Wobei das in der IT-Branche glaub ich keine Sau interessiert ?(

Quoted

Original von fast_tam
Ich hatte neulich erst einen Studenten - der konnte hochkomplizierte Algorithmen implementieren, aber bei den simpelsten Aufgaben welche weniger mathematisch waren hat er einen Murks zusammengeschustert das alles zu spät war...

Jo das kenn ich. Versuche auch fähige HiWis zu finden. Bis man da einen findet der halbwegs proggen kann... ;(

Quoted

Original von fast_tam
Allerdings kenne ich auch einige welche neben dem Studium schon ihre Firma aufbauen.. kann man also wohl nicht verallgemeinern. Diese sind dann in der Regel aber nicht auf dem Arbeitsmarkt verfügbar.

Jo eigene Firma hätte ich auch gerne. Nur leider keine geschäftsidee :(

Quoted

Original von fast_tam
Ich kenne eine Firma welche ihre Bildverarbeitungssoftware damals auf Turbo Pascal aufgebaut hat :-)

TP gibts immernoch? :D


Quoted

Original von fast_tam
Was RealTime angeht... wird das in der Bildverarbeitung wirklich benötigt?

Kommt ganz auf die Anwendung an. Bei Fahrerassistenzsystemen (Auto) z.B. schon.

Quoted

Original von fast_tam
Ich kenne RealTime möglichkeiten in ADA und Java. In C/C++ braucht man hierfür doch wieder einen Umweg über ein RTOS wie QNX oder RTLinux...

Ja, bei "wirklich" realtime muss man diese Krücke nehmen, weil Win & Linux per default kein Realtime Systeme sind. Mir reicht es aber schon, wenn ich weiß, dass meine App 10-15 Frames/sekunde wirklich verarbeitet. Zu welchen exakten Zeitpunkten innerhalb der Sekunde das geschieht ist mir erstmal relativ egal. Darum soll sich, sofern das wirklich mal irgendwo verwendet wird, ein Entwickler kümmern, wenn das denn nötig ist. Mir reicht es erstmal zu zeigen, dass es schnell genug geht.

Quoted

Original von fast_tam
Die derzeitigen Ansätze laufen ja eher über Bibliotheken der Grafikkartenhersteller. Ich glaube nicht das sich das durchsetzen wird... (Ich möchte meine Anwendung ungern an einen Hardwarehersteller koppeln...).

So hab ich das auch im Ohr. Und deswegen bisher einen Bogen drum gemacht. ;)

This post has been edited 1 times, last edit by "kOa_Borgg" (Jun 2nd 2008, 8:58am)


Posts: 2,153

Location: Freiberg

Occupation: GER

  • Send private message

36

Monday, June 2nd 2008, 10:09am

hätte da auch noch ein c++ problem:

ISt zwar eher speziell aber vielleicht hatte jemand schon das selbe problem:

ich hab nen string, den will ich in einen LPCWSTR umwandeln.
Nun hab ich eine lösung für das ganze gefunden,nur: Der LPCWSTR soll in einem dateidialog die möglichen dateiendungen angeben. Soweit sogut, aber leider werden die "befehle" innerhalb des strings nicht als solche erkannt, sodass lediglich der korrekte string im dialog steht, allerdings KEINE dateien angezeigt werden.

Es muss nicht unbedingt ein std::string sein der umgewandelt wir da ich den string selber schreibe.
Oder wie kann ich denn einen "Satz" in einen LPCWSTR schreiben?

37

Monday, June 2nd 2008, 10:22am

Quoted

Original von GWC_Vegeta
aber leider werden die "befehle" innerhalb des strings nicht als solche erkannt,



Kann dir zwar jetzt nicht wirklich helfen, aber ich glaube du suchst den Fehler an der falschen Stelle.

Das ist kein Problem von std::string oder LPCWSTR usw. Offensichtlich hast du dich nicht an die Syntax gehalten, wie der string aussehen soll, damit das Widget das von dir gewünschte anzeigt. Kenne die Problematik nur von Qt her. Da muss man auch hin und wieder irgend so einen schrägen "Format-String" angeben. Die syntax dafür ist meist recht komisch. Vielleicht postest du mal ein paar Zeile Code, damit man weiß worum es geht.

Posts: 2,153

Location: Freiberg

Occupation: GER

  • Send private message

38

Monday, June 2nd 2008, 11:12am

nein nein, die syntax ist korrekt, denn so klappt es ja:

ofn.lpstrFilter = "Image Files (*.jpg,*.png,*.bmp)\0*.jpg;*.png;*.bmp\0\0"

nur wenn ich es so mache:

std::wstring s2ws(const std::string& s)
{
int len;
int slength = (int)s.length() + 1;
len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0);
wchar_t* buf = new wchar_t[len];
MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len);
std::wstring r(buf);
delete[] buf;
return r;
}

std::string s;

std::wstring stemp = s2ws(s);
ofn.lpstrFilter = stemp.c_str();

werden die dialogbefehle nicht erkannt

39

Monday, June 2nd 2008, 11:16am

und wenn du die beiden strings auf der konsole ausgibst steht das selbe drin? Kann ich kaum glauben.

Posts: 2,153

Location: Freiberg

Occupation: GER

  • Send private message

40

Monday, June 2nd 2008, 11:21am


41

Monday, June 2nd 2008, 11:58am

öhm sieht doch gut aus. Was ist da jetzt falsch?

Posts: 2,153

Location: Freiberg

Occupation: GER

  • Send private message

42

Monday, June 2nd 2008, 12:10pm

die .jpg und so werden nicht angezeigt^^

43

Monday, June 2nd 2008, 12:23pm

So klappt es richtig?

ofn.lpstrFilter = "Image Files (*.jpg,*.png,*.bmp)\0*.jpg;*.png;*.bmp\0\0"


und so nicht ?

std::wstring stemp = s2ws(s);

bitte mach mal die Ausgabe von 'ofn.lpstrFilter' 's' und 'stemp' auf eine Konsole. Wenn das gleich aussieht die Ausgabe von allen 3 in je eine textdatei. Das ganze dann mit einem hexeditor anschauen. Da wird schon irgendwas anders sein ;).

This post has been edited 2 times, last edit by "kOa_Borgg" (Jun 2nd 2008, 12:24pm)