如何用C++扩展TCL?

2024-02-11

我可以编写可编译并用于扩展 TCL 的 C++ 代码(我不是指调用可执行文件)吗?我可以描述一些类、函数并通过调用已编译的(.so 或 .a 文件)C++ 代码在我的 TCl 代码中使用它们吗?如果是,请示意性地向我解释一下它是如何完成的。


http://cpptcl.sourceforge.net/ http://cpptcl.sourceforge.net/它是 Tcl C API 的 C++ 包装器,使用起来非常方便,文档齐全。我是根据我的个人经历来讲述这一点的。

C++/Tcl 是一个可以轻松集成 C++ 和 Tcl 的库。 如果您用两种语言编写程序,您会发现它非常有帮助。

C++/Tcl 库受到 Boost.Python 库的启发,旨在提供类似的接口。

目前,C++/Tcl 库提供以下功能: 支持使用 C++ 模块扩展 Tcl 以及在 C++ 应用程序中嵌入 Tcl。 可以将自由 C++ 函数公开为 Tcl 中的命令。 可以定义类和类成员函数,在 Tcl 中可见,其样式类似于 SWIG 包装器。 可以从 C++ 代码操作 Tcl 列表和对象。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用C++扩展TCL? 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l

随机推荐

  • 无法从 Maven 运行 Cucumber 测试

    我的 Maven 项目结构是 如果我尝试通过 eclipse 作为 JUnitTest CucumberRunnerTest java 运行该项目 则该项目运行良好 但如果我尝试通过 Maven 执行它 则会收到以下错误 pom如下
  • 在selenium中读取PDF:构造函数PDFParser(BufferedInputStream)未定义

    我收到错误 构造函数 PDFParser BufferedInputStream 未定义 我正在尝试使用 Selenium 阅读 PDF 内容 WebDriver driver new FirefoxDriver driver get ht
  • 编辑文本上显示红色下划线的文本

    我正在使用一个EditText从用户处获取日期 因此 当我以给定的默认值运行应用程序时 它会用红色下划线显示文本 XML Code
  • java Swing 中的锚定和停靠控件

    在 net中 有一个称为锚定的控件 用于随表单动态调整控件的大小 当控件锚定到窗体并且调整窗体大小时 控件将保持控件与锚点位置之间的距离 我的问题是 java 中是否有任何控件具有与 net 中的锚定功能相同的功能 作为一个例子 我选择了一
  • 我想使用 Stormpath、Express.js 和 Node.js。我想要stormpath-express 还是express-stormpath?

    我之前发布了一个问题 要转移正在运行的 Node 项目 我需要了解什么 https stackoverflow com questions 32319150 what do i need to know to transfer a work
  • 错误:调用非对象上的成员函数 get()

    我正在尝试使用 Swift Message 发送邮件 但是当我发送数据时 它不会发送 并且出现以下错误 FatalErrorException 错误 调用成员函数 get 非对象在 vagrant vendor symfony symfon
  • PHP Mailer 编译并存储消息以供以后发送

    我们可以在 PHP 邮件程序中将消息编译并存储为草稿 然后再发送每条消息吗 It is使用 PHPMailer 可以做到这一点 使用您通常发送消息所需的一切配置 PHPMailer 实例后 不要调用send 相反打电话preSend 构造消
  • 带有大标题的 UINavigationBar - 如何在 iOS 11 中找到额外的高度

    当使用prefersLargeTitles时UINavigationController s UINavigationBar in iOS 11 导航栏增加高度 我检查过的 iPhone 上的数量从 44 增加到 96 但我认为这些数字可以
  • 为什么 PHP 内置对象无法序列化?

    我尝试反序列化 PHP 对象 警告 unserialize function unserialize 节点不再存在于 var www app php 第 42 行 But why那件事发生了吗 即使我找到了反序列化 simplexml 对象
  • 来自API的奇怪字符串的java字符编码

    我对 API 的响应遇到了奇怪的问题 我正在使用 apache HTTP 客户端来获取响应 响应头有以下内容 Content Type application json charset utf 16 Transfer Encoding ch
  • 如何更改 iOS 7 中 UISearchBar 中放大镜图标的位置或隐藏放大镜图标?

    我正在开发 IOS 7 应用程序 默认情况下 它的显示像图 1 但我需要将其更改为图 2 我在谷歌上搜索并找到了一些要求的答案 但它没有改变 否则我需要隐藏 这样我就可以使用背景图像进行管理 这是第一张图像 我用下面的代码修改它 但没有成功
  • Python 3 中全局变量的正确使用

    Python 3 中全局变量的正确用法是 1 陈述global VAR NAME一旦进入核心脚本 不在函数内 然后简单地将变量引用为VAR NAME其他地方 2 陈述global VAR NAME在每个使用全局变量的函数中一次 然后简单地将
  • 如何使用 GTK+ / Cairo 旋转图像

    我有一个简单的应用程序 应该使用每 x 毫秒旋转装饰轮这么多度GTK and Cairo 我下面有一些代码可以调用cairo rotate 来自计时器 然而 图像并没有改变 我是否必须使图像无效才能引发暴露事件 我对开罗很陌生 一个简单的例
  • Android SDK与ubuntu设置代理

    在哪里可以找到 android SDK 代理设置 我正在使用 ubuntu 提前致谢 我所拥有的一切都在下面的屏幕中 我目前只能在我的 mac 上查看 设置存储在 android androidtool cfg 我的设置目前如下所示 Set
  • 检查断点处的条件时 gdb 失败

    我定义一个断点 b foo 124 if strcmp bar foo getName abc 0 但是 gdb 失败并出现以下错误 Thread 0x7fffe8ef9700 LWP 25817 exited Switching to T
  • 如何让用户使用 Android 中的 Intent 仅选择本地文件?

    我需要让用户从本地存储中为我的应用程序选择一个文件 现在我正在使用INTENT ACTION GET CONTENT让用户选择文件 但它也提供了从云中选择 URI 的选项 获取 URI 文件后 我将其视为本地文件并执行各种操作 包括提取文件
  • 将组合框显示文本设置为 ObservableCollection 的属性

    我有以下集合 我想将其绑定到组合框 public ObservableCollection
  • 使用 jquery.each() 循环创建对象键

    我正在 javascript 中创建一个命名空间来循环遍历表单并创建一个对象 调用该函数的目标是循环遍历所有特定表单类型并构造一个对象 该对象的键是 html 输入的名称 值是其当前值 但是 它始终返回未定义 任何帮助将不胜感激 get f
  • 尽管符号存在,但 CMake 中的符号查找失败

    我正在尝试使用 CMake 检查符号 getaddrinfo a 是否存在 list APPEND CMAKE REQUIRED DEFINITIONS D GNU SOURCE check symbol exists getaddrinf
  • 如何用C++扩展TCL?

    我可以编写可编译并用于扩展 TCL 的 C 代码 我不是指调用可执行文件 吗 我可以描述一些类 函数并通过调用已编译的 so 或 a 文件 C 代码在我的 TCl 代码中使用它们吗 如果是 请示意性地向我解释一下它是如何完成的 http c