包括c程序中的tk.h和tcl.h

包括c程序中的tk.h和tcl.h,第1张

概述包括c程序中的tk.h和tcl.h

我正在一个Ubuntu系统上工作。 我的目标是基本上使用TCL / TK的GUI工具制作C语言的IDE。 我安装了tcl 8.4,tk8.4,tcl8.4-dev,tk8.4-dev,并在我的系统中有tk.h和tcl.h头文件。 但是,当我运行一个基本的Hello World程序时,它显示了很多错误。

#include "tk.h" #include "stdio.h" voID hello() { puts("Hello C++/Tk!"); } int main(int,char *argv[]) { init(argv[0]); button(".b") -text("Say Hello") -command(hello); pack(".b") -padx(20) -pady(6); }

一些错误是

tkDecls.h:644: error: expected declaration specifIErs before 'EXTERN' /usr/include/libio.h:488: error: expected ')' before '*' token In file included from tk.h:1559,from new1.c:1: tkDecls.h:1196: error: storage class specifIEd for parameter 'TkStubs' tkDecls.h:1201: error: expected '=',',';','asm' or '__attribute__' before '*' token /usr/include/stdio.h:145: error: storage class specifIEd for parameter 'stdin' tk.h:1273: error: declaration for parameter 'Tk_PhotoHandle' but no such parameter

任何人都可以告诉我如何纠正这些错误? 请帮忙…

QPalette不能在子QWidget上工作

崇高文本3 – 编译程序并在terminal中运行

SIGPIPE,破碎的pipe道

我想用C ++在windows *** 作系统上得到一个Gpu的名字

生成(非常)大的非重复整数序列,无需预先混洗

如何正确地等待execve完成?

链表或散列表?

valgrind显示的额外程序内存消耗

gdb ptrace *** 作不允许

在windows中分配内存

这根本不是一个有效的程序。 你试图做的是将Tcl和Tk嵌入到你的C应用程序中。 阅读Tcl / Tk书中的相关章节或研究Tcl Wiki(例如1 )。

要运行Tcl或Tk命令,必须正确初始化Tcl_Interp 。 所以至少你必须初始化Tcl库并创建一个解释器。 那么对于Tk你将需要初始化该库并运行一个事件循环。 Tcl_AppInit的文档讨论了这个和Tcl源代码中的tclappInit.c文件(或Tk中的tkAppInit.c ),告诉你如何设置你的应用程序。 通常,您可以使用提供的tkAppInit文件作为“main”,并将您的自定义应用程序初始化放入从Tcl或Tk主函数调用的Tcl_AppInit函数中。

从C调用Tk函数是不好的建议。 定义脚本并在Tcl中写入Tk位。 即使Tk本身也使用Tcl脚本(从library/*.tcl )创建标准对话框。

但是……不应该使用<>来包含系统范围? 和button("..") -text("...") ..不是很好的C语法,除非tk.h给出强大的宏button和-text(这是有问题的,即不可能的),而我怀疑事实并非如此(事实上并非如此)…

你可能对这个感兴趣,而且对这个东西的阅读也是值得的。 也(也许更有趣),阅读例如这个

总结

以上是内存溢出为你收集整理的包括c程序中的tk.h和tcl.h全部内容,希望文章能够帮你解决包括c程序中的tk.h和tcl.h所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1157552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存