Man schützt den Zugriff mit einem oder mehreren Mutexen. Wie das genau geschieht hängt von Anwendung zu Anwendung ab, denn man möchte so wenig Contention erzeugen wie möglich.
Gibt es evtl eine einfach Anleitung, wie ich Linux samt dem i2c-core-Modul neu installieren kann?
edit: Hab's neu installiert, läuft nun. Weiß die Hölle wieso, aber ich bin zufrieden Danke für die Zeit und Mühe
LordJaxom schrieb:
Wenn Du beim Binden einer Shared Library andere, statische Libraries dazuholst, geht der Linker erstmal davon aus, dass Du mit den statischen Libraries die Symbole befriedigen willst,...
LordJaxom hat zwar recht, ich glaube aber nicht, dass das hier das problem ist. das liegt vor allem daran, dass deine shared library die funktion abc() ja braucht. würde sie das nicht tun, würde die fehlermeldung nicht kommen.
wie lautet der aufruf zum linken der datei "EmissionFreqs.so"? es scheint, dass die funktion abc nicht erfolgreich gelinkt wurde. whole-archive sollte nur verwendet werden, wenn der linker selbst nicht erkennen kann, dass ein symbol aus einer statische bibliothek verwendet werden wird, zb weil es per dlsym oder so geladen wird.
zusätzlich zu nm (das hier eh die einzig passende anwendung ist) kannst du mit ar t die objekte, die in einer statische bibliothek zusammengefasst sind, auflisten lassen.
Ich habs versucht!
Es funktioniert ABER:
Mein Programm ist darauf angewiesen, dass diese fopen FUnktionen funktionieren. Sprich nach einer Zeit kommt jetzt der Fehler:
"could not open "%s filename
Aber ich würde gerne, dass mein Programm da weitermacht?
Bzw. warum passiert dieser Fehler?
Gibt es alternative, sichere Funktionen?
Was könnte ich noch machen?
Danke für die Hilfe
das skript macht auch nur das automatisch was du von hand machst. also mein befehl sollte funktionieren - wenn ich das in eine datei umleite gehört diese root.
blan
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum 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.
Hallo Supertux, vielen Dank für die Antwort.
Ich habe vergessen zu erwähnen, daß ich in diesem Falle mit Microware OS9 (nicht MAC OS 9!) arbeite. Zwar ist die Entwicklungsumgebung Linux aber das Zielsystem OS9.
Der Compiler ist daher nicht der GCC. Aber das werde ich jetzt nachholen.
Gruss Christian
Die beiden Pakete habe ich nicht installiert, wie gesagt ich habe nur ideses genommen "libsdl1.2debian-all"
Also es geht jetzt, danke.
Mal sehen ob ich es damit hinbekomme.
Okay, danke für die Antworten, dass ich mich so spät melde liegt daran, dass das Problem ne ganze Zeit nicht mehr auftrat, jetzt tut es das aber wieder.
Es liegt vermutlich tatsächlich an Compiz Fusion, da es bisher nur bei Compiz Fusion Effekten auftrat, aber nur wenn mein Programm läuft.
Der Desktop friert übrigens doch nicht ein, sondern wird nur unglaublich langsam(oder so ähnlich), jedenfalls lässt sich mit einiger Wartezeit doch das Terminal(also nicht der Terminal Emulator, sondern strg+alt+F1) starten oder X neu starten.
nach metacity --replace läuft alles flüssig, aber sobald ich compiz --replace aufrufe hängt es sich beim erstbesten Effekt wieder auf.
Hallo Zusammen,
Ich habe eine src/ Verzeichnis wo meine ganze *.c Dateien sich befinden.
Ich moechte alle Quellcodes in diesem Verzeichnis von ./ aus kompilieren und
dann die ausfuehrbare Dateien in einem bin/ Verzeichnis speichern.
ls ./
. bin/ configure.ac Makefile.am src/
ls src/
server.c client.c
Das alles allerdings mit hilfe von autotools und mit einem einzigen Makefile.am...
Die zahlreiche "Einfuehrung"en in autoconf und automake geben mir immer das
gleiche Beispiel, wie folgt:
/* Makefile.am in src/ verzeichnis */
bin_PROGRAMS= server client
server_SOURCES = server.c
client_SOURCES = client.c
Wie in Kommentar schon erwaehnt, das Beispiel ist von Makefile.am, die sich
unter src/ befindet und executables wiederum in src/ erzeugt.
Meine Frage ist, welche direktive muss ich verwenden, damit ich mithilfe von
einer Makefile.am aus root verzeichnis(./), die Quellcodes in src kompilieren
und die gebackene Executables in bin/ speichern kann?
Mit manueller Makefile ist ja kein Problem. Dennoch finde ich die autotools
gar nicht schlecht und moechte deswegen benutzen.
Danke,
Abgesehen davon, dass der BC sehr gut mit Fließkomma arbeiten kann (du kannst mit scale=x die Anzahl der Nachkommastellen einstellen) würde ich da eher eine interactive ruby/python Shell nutzen.
Die haben dann auch eine Command-History und mehr.
praktisch wäre es wenn ich das direkt in c++ implementiert kriege, weil ich danach noch jede einzelne Datei auslesen muss und noch paar Informationen wie zB. Dateilänge herausfinden möchte
EDIT: thx
Die libstdc++ vom gcc scheint da auch entsprechende Funktionalität bereitzustellen, ich weiss nicht genau seit welcher Version:
z.b. compare_and_swap
Solange der GCC auf dem System kompilierbar ist sollte es dann auch z.b. CAS geben.