int main(int args, char* argv[]) {
int i;
cout << argv[1];
printf(argv[1]);
execl("/usr/X11R6/bin/gvim","gvim",argv[1],(char *)0);
return 0;
}
Obiges Programm compiliere ich mit folgendem Script:
#!/bin/sh
g++ -I/usr/include/g++-2 -I/usr/include $@
Und bekomme folgende Meldung:
In file included from /usr/include/g++-2/iostream.h:31,
from /usr/include/g++-2/iostream:6,
from post2.c:2:
/usr/include/g++-2/streambuf.h: In method `ios::~ios()':
/usr/include/g++-2/streambuf.h:485: warning: `void *' is not a
pointer-to-object type
//bis hierher harmlos, da auch bei erfolgreich compiliertem Hello
//World
post2.c: In function `int main(int, char **)':
post2.c:8: implicit declaration of function `int execl(...)'
//da hängts aber
Gibt es da generelle inkompalitäten, oder muss ich irgendwelche Flags
setzten?
MfG Jörg
Diese Pfade sollte der Compiler eigentlich per default einbinden.
> post2.c: In function `int main(int, char **)':
> post2.c:8: implicit declaration of function `int execl(...)'
> //da hängts aber
Wo ist execl deklariert?
$ man execl
> Gibt es da generelle inkompalitäten, oder muss ich irgendwelche Flags
> setzten?
unistd.h einbinden
Gruss,
Daniel
>> Obiges Programm compiliere ich mit folgendem Script:
>> #!/bin/sh
>> g++ -I/usr/include/g++-2 -I/usr/include $@
>
>Diese Pfade sollte der Compiler eigentlich per default einbinden.
Macht er aber nicht. Das habe ich schon ausprobiert. Liegt
wahrscheinlich daran, dass ich die Headerdateien für g++
nachinstallieren musste.
>
>Wo ist execl deklariert?
>$ man execl
#include <stdio.h>
//#include <iostream>
int main(int args, char* argv[]) {
int i;
// cout << argv[1];
printf(argv[1]);
execl("/usr/X11R6/bin/gvim","gvim",argv[1],(char *)0);
return 0;
}
Das durch den gcc funktioniert auch. Deshalb sollte die Header-Datei
auch stimmen.
>unistd.h einbinden
Werd ich dann mal ausprobieren. Danke.
MfG Jörg
>Werd ich dann mal ausprobieren. Danke.
Hat geklappt.
Ja, es gibt Inkompatibilitäten zwischen C++ und Versagern, die die man
pages nicht lesen.
auf welchem trip bist du denn ???
>"Felix von Leitner" <usenet-...@fefe.de> schrieb
>> Ja, es gibt Inkompatibilitäten zwischen C++ und Versagern, die die man
>> pages nicht lesen.
>
>auf welchem trip bist du denn ???
Sag bloß, Du kanntest FvL noch nicht?
ne, ist das normal ???
hab mich schon gewundert warum da keiner antwortet
jlu...@web.de (Jörg Luger) writes:
> #include <stdio.h>
> #include <iostream>
[Rest des Programmes geloescht]
> Und bekomme folgende Meldung:
> post2.c: In function `int main(int, char **)':
> post2.c:8: implicit declaration of function `int execl(...)'
> //da hängts aber
'man execl' sollte Dir sagen, welche Header-Datei fuer 'execl'
benoetigt wird...
Ciao
Markus
--
Markus Korth | SYSTline
mko...@systline.de | Heiden Lemmermann
Essen/Germany | Systemhaus GmbH
Key fingerprint = FA 10 36 1E A1 F7 F3 02 0D A9 14 60 A8 51 E4 D3
jlu...@web.de (Jörg Luger) writes:
> #include <stdio.h>
> #include <iostream>
[Rest des Programmes geloescht]
> Und bekomme folgende Meldung:
> post2.c: In function `int main(int, char **)':
> post2.c:8: implicit declaration of function `int execl(...)'
> //da hängts aber
'man execl' sollte Dir sagen, welche Include-Datei fuer 'execl'
Welchen Teil der Antwort hast du nicht verstanden?
Und ich war mir sicher, daß das dieses Mal auch der letzte
Hirnamputierte noch würde verstehen können. Tja, BSE soll man halt
nicht unterschätzen.
> > Ja, es gibt Inkompatibilitäten zwischen C++ und Versagern, die die man
> > pages nicht lesen.
>
> auf welchem trip bist du denn ???
Es gibt das Konzept des »egoless programming«. Felix ist ein Vertreter
der dieser Idee diametral entgegengesetzten Philosophie. Du solltest
Dich aber nicht verschrecken lassen; er kocht (wie wir alle hier) auch
nur mit Wasser.
Wobei an dem Tip, die Manpages zu den Funktionen zu lesen, die man
aufruft, durchaus was dran ist. Jemand anderes könnte das bestimmt
etwas freundlicher und weniger arrogant rüberbringen, auch ohne daß
ihm deswegen gleich ein Zacken aus der Krone fällt, aber das ist halt
eben nicht Felix' Art. Als Adressat seiner Weisheiten muß man sich
dran gewöhnen oder, wenn's einen denn stört, es gar nicht so weit
kommen lassen, daß er sich zu solchen Antworten veranlaßt sieht --
etwa indem man sich selber schlau macht, ohne erst aufs Netz zu
posten. Und letzten Endes ist das ja genau das, was Felix erreichen
möchte -- die Reinhaltung des Usenet von trivialen, soll heißen, für
einen Felix von Leitner oder Personen ähnlicher Erfahrung trivialen,
Fragen. Sein pädagogischer Ansatz dafür ähnelt zwar, jedenfalls was
die dauerhafte Wirkung auf die Newsgruppe angeht, dem eines Don
Quichotte, der wieder und wieder voller neuem Elan gegen die
Windmühlen anreitet, und wirkt dadurch auf die Dauer ein bißchen
ulkig, aber im Usenet darf sich bekanntlich jeder so lächerlich
machen, wie er will.
Anselm
--
Anselm Lingnau .......................................... ans...@strathspey.org
One of the richest men in the world made his billions selling a toy `operating
system' that is more accurately described as a glorified bootstrap loader.
-- Phil Karn
>Wobei an dem Tip, die Manpages zu den Funktionen zu lesen, die man
>aufruft, durchaus was dran ist. Jemand anderes könnte das bestimmt
Ich fühle mich davon jetzt mal angesprochen und möchte deshalb noch
etwas dazu sagen. Ich habe erst vor kurzem ein Linuxsystem mit
halbwegs ausreichend Festplattenplatz bekommen, so das ich vorher auf
einem System gearbeitet habe, wo es die entsprechenden Manpages nicht
gab. Da ich den exec-Befehl aus einem Buch habe und das veränderte
Beispiel problemlos(!) durch den gcc gegangen ist, bin ich nicht auf
den Gedanken gekommen mal, in die Manpage zu schauen ob ich die
richtige Header-Datei erwischt habe. Aber in Zukunft werde ich wohl
vorher schauen, ob es zu meinem Problem was in der Manpage gibt.
MfG Jörg Luger
Nö, ich habe keine Philosophie bezüglich Ego und Programmieren.
Ich habe allerdings die Philosophie, daß man Leuten, von denen man etwas
will, höflich gegenüber tritt. Dazu gehört, daß man grammatikalisch,
stilistisch und orthographisch korrekt formuliert, alle zur Beantwortung
der Frage notwendigen und vorliegenden Fakten mitliefert und sich vorher
ausreichend bemüht hat, das Problem selber zu lösen.
> Und letzten Endes ist das ja genau das, was Felix erreichen möchte --
> die Reinhaltung des Usenet von trivialen, soll heißen, für einen Felix
> von Leitner oder Personen ähnlicher Erfahrung trivialen, Fragen.
Nein.
Eine Frage darf ruhig trivial sein, solange der Frangende mit der
gebotenen Freundlichkeit daher kommt und glaubhaft machen kann, daß er
sich hinreichend selbst um Klärung bemüht hat.
Diese an sich hilfreichen Regeln zu befolgen hilft dem Fragenden nur
auch nicht, wen du dir nicht die Mühe gibst, den Artikel vor dem
Ablassen einer im wahrsten Sinn des Wortes einsilbigen "Antwort"
überhaupt vollständig zu lesen.
regards
Matthias
--
PGP used here!
2048/0x90CF8389 / 8E 1F 10 81 A4 66 29 46 B9 8A B9 E2 09 9F 3B 91
Willst du das ganz alleine rauchen oder reichst du es mal herum?
Dafuer!
--
Z (Zoran....@daimlerchrysler.com)
"LISP is worth learning for the profound enlightenment experience
you will have when you finally get it; that experience will make you
a better programmer for the rest of your days." -- Eric S. Raymond
Jetzt wo du es sagst: "in der Pfeife rauchen" ist mir bei der Lektüre
einiger deiner Antworten auch spontan eingefallen. Da, nimm - diese
recycleten Bits schmecken nicht.