Ein Buch wäre mit Sicherheit nicht schlecht.
Aber es gibt auch genügend Onlinehilfen. Man ln ist mit Sicherheit keine schlechte Idee, aber vielleicht findest du hier auch noch ein paar Tipps:
http://www.linuxfibel.de
also mein compiler ( g++ v-9.x ) meckert beim compilieren schon rum: stdio.h fehlt. nachdem ich die eingefuegt hatte, und den ":" nach dem "h" weggemacht hatte lief das ganze einwandfrei. das exit( 0 ) hab ich nat. auch aus der schleife entfernt.
das ergebnis sah so aus:
cypoc@greendale:~> ./getopt -h
HILFE...cypoc@greendale:~>
kann es sein, dass es bei dir genauso aussieht, und dass du nur "HILFE..." uebersehen hast?!
mach mal aus deinem printf folgendes: printf( "HILFE...\r\n" );
dann sollte das ganze in einer eigenen zeile stehen.
wenn es das auch nicht war, weiss ich auch nicht...
ciao, cypoc
ein kumpel von mir hat dazu ne recht gute doku allerdings is des eher gedacht eine Distri remote zu ersetzen als neu zu installieren
http://www.really2lazy.de/debian_docu.html
MFG eiskalt
Also forken fuer die einzelnen Clients wuerde ich auf jeden Fall machen. Darueber hinaus koenntest du doch jeweils einen Datenblock senden, per select (ohne Timeout, also sofortige Wiederkehr) fragen ob was zum empfangen da ist, und nur in dem Fall das sendne unterbrechen. So in dieser Art (Pseudocode):
while (1) {
send(datenblock);
select(socket);
if (socket.hasIncoming) {
// Behanldung von Anfragen
}
}
Ist nicht unpraktisch:
http://www.var.cx/root-tail/
Aber ich schätze dass es in Debian auch im apt-repository verfügbar ist, in Gentoo ist es jedenfalls im Portage-Tree.
Hallo Forum,
die Makefile laeuft jetzt fast korrekt aber
wenn ich Makefile ausfuehre werden die dateien mit der Endung *.o ins
Hauptverzeichnis wo Makefile liegt abgelegt. Diese Dateien muessen aber
in das /src Verzeichnis wo die Sources-Dateien liegen. Habe vieles
probiert aber komme da micht weiter.
srcdir = .
WARNINGS := -Wall -Wpointer-arith -Wcast-align
WARNINGS += -Waggregate-return -Wstrict-prototypes
WARNINGS += -Wimplicit-function-declaration
CC = gcc
PROG = udp-router
CCOPT = -O
INCLS = -I. -I include
DEFS = -DHAVE_FCNTL_H=1 -DHAVE_MALLOC_H=1 -DHAVE_MEMORY_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_NET_SLIP_H=1 -DHAVE_VFPRINTF=1 -DHAVE_STRCASECMP=1 -DHAVE_ETHER_NTOA=1 -DHAVE_SETLINEBUF=1 -DRETSIGTYPE=void -DRETSIGVAL= -DHAVE_SIGSET=1 -DHAVE_FDDI
# Standard CFLAGS
CFLAGS = $(CCOPT) $(DEFS) $(INCLS) $(WARNINGS)
LIBS = lib/libpcap.a
INSTALL = /usr/bin/ginstall -c
# Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
# Also, gcc does not remove the .o before forking 'as', which can be a
# problem if you don't own the file but can write to the directory.
.c.o:
@rm -f $@
$(CC) $(CFLAGS) -c $(srcdir)/$*.c
CSRC = src/global.c src/konfig.c src/route.c src/statistik.c src/udp-router.c \
src/utils.c src/version.c
SRC = $(CSRC) $(GENSRC) $(LOCALSRC)
# We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
# hack the extra indirection
OBJ = $(CSRC:.c=.o)
HDR = include/all.h
include/global.h include/funktion.h include/system include/typedef.h
CLEANFILES = $(PROG) $(OBJ)
all: $(PROG)
$(PROG): $(OBJ) ../libpcap-0.4a6/libpcap.a
@rm -f $@
$(CC) $(CFLAGS) -o $@ $(OBJ) $(LIBS)
clean:
rm -f $(CLEANFILES)
Hat jemand eine Loesung ?
mfg Oliver kern.
hmm, ich bin nun mal nicht so begeistert von Qt. Ich bevorzuge da lieber GTKmm, weil die API mehr C++ like ist IMHO. Aber ich denke ein Streit um Qt vs GTKmm, wär hier unangebracht, vorallem wenn er wahrscheinlich eine ganz andere Lösung sucht
hi!
Ich möchte mit ldap_sasl_bind_s() zu meinem LDAP Server binden, jedoch gibts diese Funktion bei mir nicht...
Bei Microsoft kann man sich ne Platform SDK CD bestellen aber das kommt nicht in Frage. Wo krieg ich also so ein kleines LDAP update für VC++6 her?
danke
cppguru
Hat leider beides nicht funktioniert.
ATX3 und ATX1 haben keinen Unterschied bewirkt und AT&F4 kennt die Karte nicht (wird mit "ERROR" quittiert).
Ich werd's mal mit dem Link probieren, den du angegeben hast.
Martin
Danke sehr, das war weit hilfreicher als die doch etwas schwammige manpage, wenn dort auch einfach sowas gestanden wäre wie "Make shell a login shell" hätte mir das bereits weitergeholfen! (Ich muss mir endlich angewöhnen bei GNU-Sachen Infopages statt manpages zu konsultieren! *g*)
DISPLAY muss ich hier übrigens nach jedem su neu setzen, auch ganz ohne '-'. (Ich verwende das Standard-su von Gentoo Linux, aus dem meta-ebuild sys-apps/shadow, das ist aber glaube ich ein normales GNU su mit wheel-patch.)
wenn es sich um ein Programm handelt, kannst du es doch ganz einfach starten, wie jedes andere Programm (execve(2)), die verwendete Programmiersprache ist ja egal.
Oder meinst du eien Library?
Dann musst du einfach um die verwendeten Header extern "C" { } machen und du kannst dir einen schönen C++ Wrapper schreiben