wird select( ) nicht eingesetzt um von multiplen ports zu lesen? D.h. wenn ich z.B. mit einem Programm 10 unterschiedliche Ports überwachen möchte, dann setze ich select( ) ein - aber in diesem fall sehe ich keinen Nutzen von dieser Funktion
Ach Gott, ich Idiot. Natürlich, 0 ist ja der Rückgabewert für "OK". Gnarr! setrlimit klappt. Alright, funktioniert. Haha, der Wald vor lauter Bäumen Danke dir!
Extrahiere erstmal die Funktionalität, die du rekursiv aufrufen willst, als Funktion, sonst wirds schwierig.
Überlege dir, was wohl der/die Parameter dieser Funktion sein könnten.
Mache dir klar, was für Risiken Rekursion beinhaltet.
Hallo,
ich habe ein 64 Bit OpenSUSE Linux und will das 32 Bit Binary "osgconv" benutzen. Wenn ich es starte kommt dieser Fehler:
> osgconv /tmp/foo*.flt /tmp/bar.ive
Warning: dynamic library '/usr/local/lib/osgPlugins-2.9.5/osgdb_openflight.so' exists, but an error occurred while trying to open it:
/usr/local/lib/osgPlugins-2.9.5/osgdb_openflight.so: wrong ELF class: ELFCLASS32
Warning: Could not find plugin to read objects from file "/tmp/foo.flt".
Error no data loaded.
Es sieht so aus als laedt osgconv zur Laufzeit das .so osgdb_openflight.so (per dlopen() oder so), findet die 32 Bit Version und bricht dann ab.
Wieso bricht er ab, obwohl sowohl osgconv als auch das .so 32 Bit sind? Und wieso findet er ueberhaupt das 32. Bit .so zuerst, obwohl ich im LD_LIBRARY_PATH zuerst den 64 Bit Ordner habe:
> echo $LD_LIBRARY_PATH
/usr/local/lib64/osgPlugins-2.9.5/:/usr/local/lib/:/usr/local/lib64/:/usr/local/lib/osgPlugins-2.9.5/
(Ich habe osg sowohl als 32 als auch 64 bit installiert)
Bin fuer jede Hilfe dankbar!
OK, als ersten Prototyp für meine Optionsliste zum Ankreuzen habe ich Folgendes zusammnen:
initscr();
int anz_tabs = 2;
char eingabe[anz_tabs];
for (int i = 0; i< anz_tabs; ++i) {
stringstream ss;
ss << i;
mvprintw(12+i,12, (string("[ ] Option ") + ss.str()).c_str());
eingabe [i] = ' ';
} // for i
int pos = 0;
move(12,13);
int c;
keypad(stdscr, true);
do {
c = getch();
if (c == KEY_UP) {
--pos = pos % anz_tabs;
move(12+pos,13);
} else if (c == KEY_DOWN) {
++pos = pos % anz_tabs;
move(12+pos,13);
} else if (c == KEY_RIGHT) ;
else eingabe [pos] = c;
} while (c != KEY_RIGHT) ;
endwin();
Danach habe ich das Array "eingabe", dass ich dann verwenden kann.
Ist das so in etwa die Art und Weise, wie man die Bib zu diesem Zweck verwendet?
Ich habe das Gefühl, dass ich hier etwas im Dunkeln tappe.
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum C (C89 und C99) in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
verwirrt schrieb:
rüdiger schrieb:
http://packages.ubuntu.com/search?searchon=contents&keywords=iconv.h&mode=exactfilename&suite=intrepid&arch=any
libc6-dev am besten einfach build-essential.
Ja das habe ich gefunden. Kann ich das auch unter Windows verwenden? Außerdem riecht es stark nach GPL!? Dabei ist Spatialite MPL
libc6-dev ist die C-Library von Linux. Die kannst du nicht unter Windows verwenden und steht unter der LGPL. Es gibt aber zahlreiche iconv-Implementierungen. Wenn du eine für Windows suchst, dann bist du hier aber im falschen Forum. Schau einfach bei google. Cygwin und APR dürften Kandidaten sein. Ansonsten schau im Handbuch von Spatialite, was die für Windows empfehlen (kenne Spatialite nicht).
(Aber für Windowsfragen ist das hier sowieso das falsche Forum!)
edit: Und halte die Fragen bitte in einem Thread Es macht keinen Sinn ein Thema über mehrere Threads in verschiedenen Foren zu diskutieren: http://www.c-plusplus.net/forum/286591
Hallo,
bevor jetzt alle schimpfen, ich weiß: ich bin ein Depp.
Was war passiert? Ich wollte einen neuen Notebook mit Windoof 7 in mein Netz integrieren und habe deshalb das openSUSE Repository von 11.4 in meine 11.0 Installation mit eingehängt und SAMBA aktualisiert. Das hat zwar leider nicht funktioniert, nachdem ich aber zur alten Version von Samba zurückgekehrt bin, hat mir der Installer die Shared Library von openSUSE 11.4 stehen lassen. Die habe ich jetzt selber downgegraded und jetzt funktioniert es wieder.
Nochmal ein Dank an alle, die sich Gedanken gemacht haben.
mfg Martin
Hallo ich möchte messen wie lange ein Kindprozess lief.
Um an die user_time und die system_time von einem Kindprozess zu kommen, errechne ich die Differenz vor und nach dem wait.
Eigentlich bin ich mir sicher, dass ich so die Zeiten bekommen.
Naja eigentlich, ich bekomme immer wieder 0.00 für user_time und system_time bei den Kindprozessen.
Also mach ich doch irgendwas falsch
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/times.h>
#include <errno.h>
#include <sys/wait.h>
#include <sys/types.h>
int main(void){
pid_t forkpid,pid,pids[5];
int i = 0;
int x = 0;
int status = 0;
float user_time,system_time;
static struct tms t1,t2;
for(i = 0; i < 4; i++){
forkpid = fork();
if(forkpid == 0){
for(x = 0; x < 5000000; x++){
fopen("test.txt","a");
}
exit(0);
}
else if(forkpid == -1){
printf("\nfork()Error\n");
}
else{
pids[i] = forkpid;
}
}
if (times(&t1)==(clock_t)-1){
perror("times1");
exit(0);
}
while ((pid=wait(&status))>0){
if (times(&t2)==(clock_t)-1){
perror("times2");
exit(0);
}
user_time = ((float)(t2.tms_cutime - t1.tms_cutime)) / CLOCKS_PER_SEC;
system_time = ((float)(t2.tms_cstime - t1.tms_cstime)) / CLOCKS_PER_SEC;
printf("prozessID:%d user_time:%.2f systemtime:%.2f\n",pid, user_time, system_time);
}
return 0;
}
Ich bin für jeden Beitrag dankbar.
MFG
etty ott schrieb:
Freiheit++ schrieb:
Nun meldet mir der Compiler beim bauen von A ettliche "undefined reference to" Errors, zu includes die die Funktion benötigt. Wieso? Ich kann im Makefile von A doch nicht alle Objekt-Files von B eintragen.
Aber genau das musst du.
Ok, vielen Dank für deine Beharrlichkeit. Das hat geklappt. Alle .o files eingesammelt, im Makefile eingebaut und es läuft. Umständlich, aber muss wohl so sein.
Die Static-Library funktioniert so leider nicht. Zwar hat dein Tip auch funktioniert, ich konnte eine Library bauen die offenbar Teile von B enthält. Leider fehlt dort aber was (das Projekt besteht aus mehreren Verzeichnissen mit Makefiles die absteigend aufgerufen werden), der Compiler wirft weiterhin Fehler weil er Dinge nicht kennt.. anyway.
Problem gelöst, vielen Dank!
hallo leute
ich weis nicht bo dies das richtige forum ist, deshalb schonmal sorry
ich möchte mich jetzt auch mal an linux (debian) versuchen und es deshalb parallel zu meinem windows7 aufsetzen
das ding ist nur, ich hab mir einen raid0 verbund aus 2x1TB festplatten gebaut
nun habe ich mehrere partitionen (ntfs) und noch gut 800GB frei sowie eine partition die ich mir für linux vorstelle von 50 GB
so nun will ich im install menu von debian die festpaltten einteilen und partitionieren aber da wird nur komsiches zeug angezeigt von wegen 4 partitionen in einem raid verbund, soweit so gut - aber das ist nur meine systempartition und 2 hilfspartitioen die windows automatisch erstellt hat, und noch eine andere, aber nicht 6 isngesamt wie ich sie eingerichtet habe.
daneben werden beide festplatten noch angezeigt und ich kann sie anwählen
mein problem ist, dass ich mich nicht sehr viel traue in dem bereich weil ich logischerweise nicht meine daten verlieren will...
gibt es da eine andere möglichkeit ausser eienr zusätzlichen HDD?
mfg m0sh0
Das sollte mit udisks gehen.
Google hat mir das hier als ersten Treffer ausgespuckt, vielleicht hilft Dir das weiter: http://stackoverflow.com/questions/5109879/usb-devices-udev-and-d-bus
Eine division durch 0 ist ein Spezialfall.
Du koenntest davor mit eine if abfragen ueberpruefen ob der nenner 0 ist.
Ist er 0 bekommt a den wert 42 und es wird keine division ausgefuehrt.
Ich habe zwar kein Suse, aber solche Dienst sind eigentlich immer in /etc/init.d/ . Dort guckste mal nach etwas was nach Firewall klingt und startest dann dieses Programm mit dem Argument "stop" (ohne die Anführungszeichen).
Mal sehen, ob ich genaueres rausfinden kann:
http://lmgtfy.com/?q=suse+firewall+disable+bash
Aha, essollte also wohl /etc/init.d/SuSEfirewall2_setup sein.
Hi,
ich habe das mal gemacht...
struct passwd *uucp = getpwnam("uucp");
uid_t user_id_von_uucp = uucp->pw_uid;
gid_t group_id_von_uucp = uucp->pw_gid;
cout << "user_id_von_uucp: " << user_id_von_uucp << endl;
cout << "group_id_von_uucp: " << user_id_von_uucp << endl;
struct group * mygrp = getgrgid( s.st_gid );
cout << " mygrp (gid): " << mygrp->gr_gid << endl;
struct passwd * mypwd = getpwuid( s.st_uid );
cout << " mypwd (uid): " << mypwd->pw_uid << endl;
cout << " mypwd (gid): " << mypwd->pw_gid << endl;
Wenn ich das mal mit "/etc/passwd" oder mit "/etc/group" vergleiche...
in allen Fällen ist der Konqueror besser als ich. Ich kriege für jede Datei nur meine ID's und nicht die Grupen ID's die der Konqueror anzeigen kann.
Gruß
Franky