![]() |
Visual C++ - Was ist u_char? Ich bin hier am rotieren! Obwohl ich ein absoluter C++ Anfänger bin, hab ich mich bisher doch recht wacker bei meinem aktuellen Projekt geschlagen. Ich hab hier ein Stück Quelltext vor mir liegen worin dauernd der Datentyp (?) u_char verwendet wird. Teile dieses Quellcodes wollte ich nun in mein Projekt übernehmen, bekam aber ständig nur die Meldung, dass es sich bei u_char um einen unbekannten Bezeichner handelt. Schlau (oder dumm, wie auch immer) wie ich bin, hab ich u_char selbst definiert (#define u_char unsigned char). Geht aber auch nicht! Jetzt bekomm ich stattdessen die Meldung "unsigned char * kann nicht in 'unsigned char *' konvertiert werden" ... Wenn mir jemand einen Tip geben oder helfen könnte, wäre ich echt dankbar. redilS //EDIT: ARGH !!! Bin ich zu dämlich für C++ oder is' C++ einfach nur Schei***? :evil: Man baut ne einfach DLL mit der Function [CODE] short int _stdcall Calc(short int in) { short int out; out = in + in; return out; } [/CODE] Was bekomm ich nach nem Aufruf von VB aus mit Übergabewert '1' zurück? Nein, nicht 2 sondern irgendeinen utopischen Negativwert von -3752 *bang head here* |
AW: Visual C++ - Was ist u_char? Ich denke 'unsigned char *' steht für einen Zeiger. Einen Fehler in dem Sinne kann ich nicht entdecken. |
AW: Visual C++ - Was ist u_char? Muss es C++ sein (Schule/Studium) oder kannst du dir auch eine andere Sprache aussuchen(Eigenes Projekt). Wenn du nichts rechenintensives machst (wo dein Rechner ständig auf 100% CPU-Last läuft) würde ich eine "moderne" Sprache wie C# nehmen.. Heutzutage hat es nichtmehr unbedingt Sinn auf dem c++ level zu programmieren, außer wenn man wirklich noch den letzten Takt aus dem Rechner holen will.. Wenn du bei C++ bleiben willst oder musst, dann poste mal mehr code.. Wahrscheinlich übergibst du eine Speicheradresse und nicht den Wert deiner Variablen.. |
AW: Visual C++ - Was ist u_char? [CODE] #define MYRAND (u_int)GetTickCount() ... u_char rndstring[11]; create_rand_string(MYRAND, rndstring, sizeof(rndstring) - 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); [/CODE] [CODE] u_char *create_rand_string(u_int seed, u_char *data, int len, u_char *table) { int tablelen = strlen(table); u_char *p = data; while(--len) { seed = (seed * 0x343FD) + 0x269EC3; *p++ = table[seed % tablelen]; } *p = 0; return(data); }[/CODE] Der Code funktioniert wie gesagt im usprünglichen Programm einwandfrei und lässt sich auch compilieren - die Definition von 'u_char' ist aber nirgendwo zu finden. Für mich ebenfalls gänzlich unerklärlich ist, wohin 'data' zurückgegeben wird. Augenscheinlich an die Funktion selbst, im späteren Programmablauf wird allerdings die Variable 'rndstring' für die weitere Verarbeitung verwendet. Ich bin im übrigen nicht gezwungen bei C++ zu bleiben. Ursprünglich wollte ich Teile des Codings nach VB6 portieren, da meine VB Kenntnisse doch ganz passabel sind. Probleme hatte ich allerdings beim Verstehen des C++ Syntax - ich hab mich daher dazu entschlossen gleich bei C++ zu bleiben und mich entsprechend einzuarbeiten. Schadet ja nicht, eine weitere Programmiersprache zu können ;) //EDIT Ich hab das Problem gelöst bekommen. Es lag, wie sollts auch anders sein, am fehlenden Wissen bzgl. der C++ Syntax meinerseits... Beim Implementieren der Funktion in mein Coding hab ich ein kleines '*' vergessen. Musste also so aussehen: u_char* _stdcall meinefunktion(u_char *rndstring) { ... } |
AW: Visual C++ - Was ist u_char? Na klar, deswegen hast du auch so komische Werte bekommen. Jetzt seh ich es auch. |
AW: Visual C++ - Was ist u_char? Sieht so aus, als wäre ich mittlerweile halbwegs fit was C++ angeht... Das Ziel, meine Funktionen in eine DLL zu packen hab ich erreicht und die letzten Änderungen daran hab ich sogar ohne Fehler beim Compilieren gemeistert ^^ So schwer is C++ garnicht wenn man mal durchblickt... |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 23:45 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.