Du musst schon etwas genauer beschreiben, welche Art Grafik du meinst.
Willst Du ein Diagramm darstellen, ist GNUPlot dein Freund, siehe auch hier und hier in diesem Forum.
Möchtest Du eine Bitmap-Grafik erzeugen, kann ich das Format PPM oder PGM empfehlen, da es nur einen sehr einfachen Kopf und dann die reinen Bilddaten (Pixel für Pixel) enthält. Anzeigen kannst Du die Grafik dann z. B. mit
system("display [i]meine-Grafik.ppm[/i]");
Für Vektorgrafiken (SVG) gibt es bestimmt eine Bibliothek, aber damit habe ich noch nicht gearbeitet.
a) Du kannst keine FIFO mit Major- und Minor-Nummer anlegen, da FIFOs keine Major- und Minor-Nummer haben. Der Shellbefehl mknod wird dir den Versuch entsprechend quittieren.
b) Die POSIX-Funktion zu dem Shell-Befehl heisst überraschenderweise auch mknod()
ptrxyz schrieb:
Hallo!
Wie kann ich Umgebungsvariablen von einem elternprozess ändern? Ich habe einen Prozess, der startet mein C++ - Programm in einem neuen Prozess. Das Programm soll nun eine Umgebungsvariable im Elternprozess anlegen bzw. ändern. Wie mach ich das?
Geht nicht... die Umgebung wird für einen Prozess beim Starten gesetzt, bzw. die Threads erhalten diese..
Im nachhinein ist dies nicht mehr änderbar! (außer durch environment umsetzen und restarten des prozesses)
Hallo,
ich studiere in München an der TU und brauche dringend Nachhilfe für Linux, C++ und Eclipse. Wer kann mir helfen? Bitte Email mit Preis an cpplinux@yahoo.de
Gruss,
Der Student
Martin G schrieb:
Das geht doch alles viel einfacher:
Ruf dein Programm innerhalb des Shell-Skriptes mit "." auf, dann läuft es in dem gleichen Prozess und die Änderung des aktuellen Verzeichnisses bleibt für die folgenden Programme bestehen:
#!/bin/sh
programm1
. programm2
programm3
Geht es nicht. Das funktioniert nur, wenn programm2 auch ein Shell-Skript ist, welches dann von der aktuellen Shell interpretiert wird.
Also, hallo.
Ich versuche gerade, DRI einzurichten, und da habe ich einige Probleme mit den Treibernamen, bitte korrigiert mich, falls ich falsch liege.
AAA ist "radeon", "mga", oder so.
AAA_drv.so : 2D-Treiber, wird beim starten von X geladen.
AAA_dri.so : DRI-Treiber, notwendig für 3D-Graka-Beschleunigung
AAA.ko : Generischer Treiber, wird sowieso geladen.
Und dann gibts noch ein DRM - Modul ???.ko, das für 3D-Grafik auch benötigt wird, wie heißt das?
Dass der Kind-Prozess keinen weiteren Kind-Prozess erzeugt lässt sich dadurch erreichen, dass nur der Prozess, bei dem fork()!=0 ist, einen weiteren Prozess abspaltet.
Das Ganze müsste etwa so aussehen:
switch(pid1=fork())
{
case -1: perror("Fehler bei fork()");
exit(1);
case 0: write(...) /* Kindprozess 1 */
return(0); /* ganz wichtig!!! */
default: switch(pid2=fork())
{
case -1: perror("Fehler bei fork()");
exit(1);
case 0: read(...) /* Kindprozess 2 */
return(0); /* ganz wichtig!!! */
default: ... /* Rest des Vater-Prozesses */
}
}
Vergiss nicht, im Vaterprozess mit wait() auf das Ende der Kindprozesse zu warten (oder alternativ einen SIGCHLD-Signalhandler einzurichten), damit keine Zombie-Prozesse entstehen.
Mehr zu Prozessen, Pipes etc. findest du auch in meinem Buch "C und Linux"
Mr. N schrieb:
Gar nicht nötig, da es sowieso schon aus ist.
Vollkommen richtig. War ein Irrglaube.
man 2 open schrieb:
The new file descriptor is set to remain open across an execve(2) (i.e., the FD_CLOEXEC file descriptor flag described in fcntl(2) is initially disabled).
Hallo!
Ich möchte in meinem Programm alle unterstützten Bildformate mit imlib2
öffnen, das Bild auf eine einheitliche Grösse und Farbtiefe bringen, und
als jpg wieder abspeichern.
Ich hab es bis jetzt nur geschafft, das Bild zu laden, es in jpg umzuwandeln,
und wieder abzuspeichern.
Da ich mich mit Bildbearbeitung nicht so besonders gut auskenne, komm ich
mit der Doku zu imlib2 nicht weiter.
Folgendes hab ich bis jetzt:
Imlib_Image image;
image = imlib_load_image(_PicturePath.c_str());
imlib_context_set_image(image);
imlib_image_set_format("jpg");
imlib_save_image(SavePath.c_str());
Doch wie schaff ich es jetzt, das Bild auf 320x240 bei einer Auflösung
von 72dpi zu skalieren, und auf eine Farbtiefe von 24bit RGB zu bringen?
Erstens: sfds
Zweitens: Könntest du den Text bitte ein wenig zusammenstutzen? Niemand hat Lust, sich durch fast 900 Zeilen Code auf der Suche nach möglichen Fehlern durchzuwühlen.
soundoflife schrieb:
Ist der Name CC nicht eindeutig?
Nein. Das ist meinstens nur ein Link auf den entsprechenden Compiler. Gibts denn keine Manpages zu deinem Compiler?
$ man cc
Dieser Thread wurde von Moderator/in Tim aus dem Forum ANSI C 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.
danke für deine antwort.
wo bekommt man denn gute beispiele, wie man c module für den apache schreibt?
unter google findet man kaum etwas.
egal ob buch oder web
viele grüße
µaµi
DrGreenthumb schrieb:
das beep geht auf den pc-lautsprecher. Hast du einen? (Mein Rechner zb. nicht). Im Kernel muss es auch aktiviert sein.
dann wirds wohl am kernel liegen, die pc-lautsprecher hab ich nämlich
weiß jemand wie der punkt heißt den ich bei make menuconfig dann aktivieren muss ??
danke
LinuXer
dabei gibt es 2 probleme:
1. problem: ich weiß nicht in welchem weiteren thread der fehler auftritt!
2. problem ich bin der entwickler
aber vielleicht habe ich auch mein problem schlecht erklärt.
es gibt einen von mir entwickelten service wo einige threads laufen, ein thread ruft wie geschildert mittels vfork und execvp den ping befehl testhalber auf und lässt diesen einfach dahin laufen!
und ein x-beliebiger thread erzeugt einen seg-fault, aber leider kann ich den service nicht mal einfach im gdb laufen lassen, weil sich der gdb bei der vfork&execvp geschichte stehen bleibt ..