eclipse - supertoll aber diese Warnmeldung???
-
Hey all,
ich habe mal ein Programm geschrieben#include <stdio.h> void a( char[][][] ); int main() { int person = 0, i = 0; char names[255][2][50]; memset( names, 0, sizeof(names)/sizeof(names[0][0][0])); a( names ); for( person = 0; person < 255; person++ ) { for( i = 0; i < strlen(names[person][0]); i++ ) printf( "%c", names[person][0][i] ); printf( "\n" ); for( i = 0; i < strlen(names[person][1]); i++ ) printf( "%c", names[person][1][i] ); printf( "\n" ); } system( "pause" ); return 0; } void a( char names[][2][50] ) { strcpy( names[254][1], "hallo" ); }
Abgesehen davon das "Drücken Sie eine beliebige Taste..." vor dem "hallo" kommt ist ja alles noch ok,
ABER (so wie immer xD )
eclipse meckert wegen 4 sachen und zwar
'implicit declaration of function "memset"'
und noch für "strcpy", "strlen" und "system"...Weis jemand wieso?
-
Versuchs mal mit dem entsprechenden #include
-
Sollte der richtige sein...
Sprache: (ANSI) C
-
lippoliv schrieb:
Sollte der richtige sein...
Sprache: (ANSI) C
nein, stdio ist nur für input/output zuständig. warum das bei dir funktioniert? der header bindet von sich aus memset für die io funktionen ein, und darüber meckert eclipse(zurecht, denn mit ner anderen version der std lib könnte es nicht mehr funktionieren).
der richtige header ist stdlib.h
-
Eclipse meckert nicht, das ist der Compiler
-
Ja ok, nach memory.h is alles ok.. danke euch.
-
lippoliv schrieb:
Ja ok, nach memory.h is alles ok.. danke euch.
memory.h? Das ist doch kein ANSI C-Header. Ich würde es mal mit string.h probieren
Siehe auch deine lieblings C-Referenz.
zB hier man: strcpy(3), man: memset(3), ...
-
MSDN sagt <string.h> oder <memory.h>...
Ich hab halt memory genommen... ist die schlechter als <string.h>?
-
lippoliv schrieb:
Ich hab halt memory genommen... ist die schlechter als <string.h>?
rüdiger schrieb:
memory.h? Das ist doch kein ANSI C-Header.
-
k, werds mir merken...
Also es geht munter weiter, ich habe gerade ein größeres Projekt (einen Text-Programm) nach eclipse gezogen...
Ich habe das Projekt auf 5 *.c Dateien verteilt, da es für eine Datei zu viel währe, zumindest würd ichs gern so lassen, aber wies aussieht, klappt dass nich...eclipse sagt:
15 errors
4 warningsWas sind das für sachen?
"'appTitle' undeclared..."
die steht nicht in dieser Datei sondern in der globVars.c, allerdings, wenn ich die da und in der haupt-c-datei also myNote.c einbinde kommt "redeclaration" dann beläuft es sich auf ca. 118 errors xDWie kann ich nun -vernünftig- einen Quellcode auf meherere Dateien verteilen, ohne dass eclipse mich erschießst?
-
Du weisst schon, was Header sind und wie man sie benutzt?
-
Falsch gepostet... nicht alles gelesen... nicht hilfreich...
Ich will ja nicht kompletten Code in eine(mehrere) Headerdateien tun, sondern sie, zum besseren finden, in *.c Dateien aufbewahren, damit ich sehe dass es Code-Dateien sind...
Würde sich dass Problem denn auflösen wenn ich es *.h nennen würde??
-
Hab die alle jetz als *.h Datei...
Jetzt muss ich ne lib einbinden... mit eclipse.. wie geht dass denn?Ich habe in den Settings schon nen pfad angeleg.t..
es geht um TextOut...
Momentan hab ich in der ersten Zeile "#pragma comment(lib, "libgdi32" )" sethen.. aber das bringt nichts... weiß da wer was, hat da jemand erfahurng?
-
Kann mir da bitte wer helfen?
-
#pragma comment (lib, "gdi32.lib")
-
"Severity and Description Path Resource Location Creation Time Id
undefined reference to `TextOutA@20' myNote prefProc.h line 82 1208353694394 1493"
So dass ist die Meldung..."#pragma comment (lib, "gdi32.lib")" steht jetzt in der ersten Zeile...
Ich versteh dass nicht.. hatte auch schon Beispiele im Forum gesucht, alles Fehlgeschlagen...
-
Muss ich da noch etwas in den Einstellugnen machen?
Ich meine ich denke mal dass die Zeile richtig sein sollte, wieso funktioniert Sie nicht???Braucht ihr mehr Code?
[edit]Project->Properties->Settings->Libraries da muss mans eingeben...