Ist eine Kombination von C mit Tcl/Tk möglich?

Diskutiere Ist eine Kombination von C mit Tcl/Tk möglich? im Developer Network Forum im Bereich Hardware & Software Forum; Liebe Powerforenposter, Ich interessiere mich neuerdings für die GUI-Programmierung mit Tcl/Tk. Auf wikibooks habe ich ein Beispiel gesehen, in...
  • Ist eine Kombination von C mit Tcl/Tk möglich? Beitrag #1
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Liebe Powerforenposter,
Ich interessiere mich neuerdings für die GUI-Programmierung mit Tcl/Tk.
Auf wikibooks habe ich ein Beispiel gesehen, in dem eine Fortran- und eine Tcl-Datei geschrieben werden. Die Fortran-Datei teilt einer Variable einen Wert zu und das Tcl-Script zeigt es in einer Box an.
Hier ist nochmal der Link dazu. Meine eigentliche Frage lautet: Kann man diesen Fortran-Code auch in C/C++ umschreiben (C wäre mir lieber)?
Ich habe schon von dieser Library gehört, die sich direkt in C einbinden lässt, will den Umgang damit aber vermeiden, um meinen Code übersichtlicher zu halten, außerdem habe ich mir schon richtiges Tcl draufgeschafft und will nicht, dass das ganze für die Katz war.
Ich benutze Debian Lenny 5.0.1 (Linux) mit dem gcc/g++ Compiler und tcl/tk 8.5.
 
  • Ist eine Kombination von C mit Tcl/Tk möglich? Beitrag #2
N

nic_power

Senior Moderator
Dabei seit
27.12.2000
Beiträge
7.838
Reaktionspunkte
2
Hallo,

in dem von Dir verlinkten Beispiel wird von dem TCL-Skript ein externes Programm aufgerufen (set f [open "|./a.out" r+])). In welcher Sprache dieses Programm geschrieben wurde ist dabei völlig unerheblich. D.h. Du kannst natürlich auch C verwenden.

Gruss

Nic
 
  • Ist eine Kombination von C mit Tcl/Tk möglich? Beitrag #3
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Danke für die Antwort, aber ich kenne mich mit Fortran nicht aus. Welcher Befehl in C ist entscheidend, um Tcl einen Wert zuzuschicken?
 
  • Ist eine Kombination von C mit Tcl/Tk möglich? Beitrag #4
O

oiermann

Bekanntes Mitglied
Dabei seit
30.12.2005
Beiträge
1.342
Reaktionspunkte
0
Ort
Milchstrasse
So wie du dir das vorstellst, geht das nicht.
Da TCL eine Scriptsprache ist, weiss ich nicht genau wie das geht, aber vom Prinzip her sicher ähnlich wie bei zwei compilierten Teilen.
Du hast in deinem ersten Teil irgend eine Funktion, beispiel_funk(int bla, char blubb); und im zweiten Teil kannst du die ohne weiteres Aufrufen, wenn der Linker vorher beide Teile nach dem Compilieren verlinkt hat, genauso kann jeder Teil, je nach Rechten, auch den Speicher beschreiben und lesen.

Welche Sprache das macht ist letztendlich egal, da sowieso JEDER Befehl/Anweisung in Maschinencode übersetzt und der dann ausgeführt wird.
Man muss es eben nur hinbekommen, von A auch B aufzurufen ;)
 
  • Ist eine Kombination von C mit Tcl/Tk möglich? Beitrag #5
N

nic_power

Senior Moderator
Dabei seit
27.12.2000
Beiträge
7.838
Reaktionspunkte
2
Hallo,

Du hast in deinem ersten Teil irgend eine Funktion, beispiel_funk(int bla, char blubb); und im zweiten Teil kannst du die ohne weiteres Aufrufen, wenn der Linker vorher beide Teile nach dem Compilieren verlinkt hat, genauso kann jeder Teil, je nach Rechten, auch den Speicher beschreiben und lesen.
Nein, das ist in diesem Fall nicht so! In dem verlinkten Beispiel ist sehr gut zu erkennen, dass das Fortran Programm extern von TCL aufgerufen wird (set f [open "|./a.out" r+] ). D.h. TCL interpretiert nur den Rückgabewert eines externen Programms. Dafür ist es natürlich nicht notwendig, dass ein Linker irgendeiner Verbindung zwischen TCL und dem externen Programm herstellt!


Nic
 
  • Ist eine Kombination von C mit Tcl/Tk möglich? Beitrag #6
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
In dem Fall mit Fortran geht es ja immerhin auch, selbst wenn Fortran eine Compilersprache und TCL eine Skriptsprache ist. Was mir fehlt sind nur die entscheidenden Befehle, die TCL einen int/char senden.
 
  • Ist eine Kombination von C mit Tcl/Tk möglich? Beitrag #7
N

nic_power

Senior Moderator
Dabei seit
27.12.2000
Beiträge
7.838
Reaktionspunkte
2
Hallo,

Das Skript parsed die Ausgabe des externen Programms. D.h. es reicht, wenn Du etwas mit "printf()" ausgibst.

Gruss

Nic
 
  • Ist eine Kombination von C mit Tcl/Tk möglich? Beitrag #8
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Danke für eure Hilfe! Ich habe jetzt das Programm zum laufen gebracht und es läuft perfekt! Ich hätte übrigens nicht gedacht, dass das so einfach ist...
 
Thema:

Ist eine Kombination von C mit Tcl/Tk möglich?

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben