导航:首页 > 源码编译 > tcl编译器使用

tcl编译器使用

发布时间:2022-11-27 18:46:21

linux 如何运行tcl

1. 创建
例如想创建一个 *.tcl的文件,只需在终端中输入
touch *.tcl 即可
2. 编译
可用不同的编译器对 *.tcl文件进行编译
1> vi *.tcl
2> vim *.tcl
3> gedit *.tcl
3. 运行
我是用ns2运行*.tcl文件的
所以运行时输入的就是
ns *.tcl

㈡ 在linux中在文档中已经指定了tcl脚本与亚编译器的位置,但在终端执行时提示找不到命令

这是因为你使用的命令并不在系统PATH环境变量包含的目录里

㈢ 如何编译SQLite-How To Compile SQLite

SQLite是ANSI-C的源代码。在使用之前必须要编译成机器码。这篇文章是用于各种编译SQLite方法的指南。

这篇文章不包含编译SQLite的每个步骤的反馈,那样可能会困难因为每种开发场景都不同。所以这篇文章描述和阐述了编译Sqlite的原则。典型的编译命令已经作为例子提供了,以期望应用开发者能够使用这些例子作为完成他们自己定制的编译过程的的一个指南。换句话说,这篇文章提供了想法和见解,而不是交钥匙的解决方法。

融合VS单独源文件

Sqlite是由超过一百个c源码文件以及众多的目录下的脚本构建的。Sqlite的实现是纯粹的ANSI-C,但是许多C语言源代码文件是由辅助的C程序生成或者转换来的,并且AWK,SED和TCL脚本会融合到完成的sqlite库中。对Sqlite构建需要的C程序和转换和创建C语言源码是一个复杂的过程。

为了简化这些,sqlite也通过一个预打包的合并后的源码文件:sqlite3.c。这个合并文件是一个ANSI-C源码实现整个SQLite库的唯一文件。合并后的文件更容易处理。所有的东西都包含在这一个文件里,所以很容易进入一个更大的C或者C++程序的源码树。所有的代码生成和转换步骤都已经实现了,因此没有辅助的C程序需要去配置和变异,也没有脚本需要去运行。并且,因此所有哭都包含在一个翻译单元,编译器可以做更多高级的优化从而提升5%到10%的性能。因为这些原因,融合后的源码文件sqlite3.c对所有程序来讲都是值得推荐的。

推荐所有的应用程序使用融合文件。

直接从单独的源码文件中构建sqlite当然可以,但是并不推荐。对一些特殊的应用程序,可能需要修改构建程序去处理使用那些从网站上下载的预构建的源码文件不能完成的情况。对于这些情况,推荐构建和使用一个定制过的合并文件。换句话说,即使一个工程需要以单独的源码文件构建sqlite,仍然推荐使用一个融合后的源码文件作为一个中间步骤。

编译命令行接口(CLI)

构建命令行接口需要三个源码文件:

sqlite3.c:Sqlite融合的源码文件

sqlite3.h:匹配sqlite3.c以及定义sqlite的c语言接口的头文件

shell.c:命令行接口程序本身。这个c源码文件包含一个main()的例程和每轮循环的用户输入的提示符并将输入传给sqlite数据库引擎用于处理。

所有的上述源码的三个文件都被包含在下载页面的amalgamation tarball中。

为了构建CLI,简单的将这三个文件放置在相同的目录下然后一起编译他们。用MSVC:
cl shell.c sqlite3.c -Fesqlite3.exe

在unix系统上(或者在windows上用cygwin或者mingw+msys)典型的命令会有些像这样:
gcc shell.c sqlite3.c -lpthread -ldl

为了SQLite线程安全,需要pthreads库。但是因为CLI是一个单线程的,我们可以指示SQLite构建一个非线程安全的库并因此护绿pthreads库:
gcc -DSQLITE_THREADSAFE=0 shell.c sqlite3.c -ldl

-ldl库是在支持动态装载时需要,例如sqlite3_load_extension() 接口和load_extension()
SQL function。如果这些特性都不要求,那么我们也可以使用SQLITE_OMIT_LOAD_EXTENSION编译时间选项忽略他们。
gcc -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION shell.c sqlite3.c

有人可能想要提供其他的编译时间选项(compile-time options),例如SQLITE_ENABLE_FTS3去全文本搜索或者SQLITE_ENABLE_RTREE用于R*树搜索引擎扩展。而有人将正常指定一些编译优化开关。(预编译的CLI可以从选择sqlite网站上使用“-Os”下载下来)有无数种可能的变数在这里。

关键点在这里:构建CLI需要编译一起两个C语言文件。shell.c文件包含入口的定义和用户输入的loop,而sqlite融合文件sqlite3.c包含完整的sqlite库的实现。

编译TCL接口

sqlite的tcl接口是一个小的模块被添加到一般的融合文件中。结果是一个新的融合后的源码文件,称之为“tclsqlite3.c”。这个源码文件是生成一个可以使用TCL

load命令去加载到一个标准的tclsh或者wish中,或者随着sqlite构建成功生成一个单独唯一的tclsh的共享库所需要的。一个tcl的融合的副本被包含在下载页的TEA
tarball中作为一个文件。

为了生成一个linux上的sqlite的TCL-loadable库,下面的命令需要满足:
gcc -o libtclsqlite3.so -shared tclsqlite3.c -lpthread -ldl -ltcl

不幸的是构建Mac OS X 和 Windows的共享库并不是如此简单。对于这些平台最好使用包含在TEA tarball中的configure脚本和makefile.

为了生成一个单独的tclsh,可以用于sqlite静态链接,使用如下的编译器调用:
gcc -DTCLSH=1 tclsqlite3.c -ltcl -lpthread -ldl -lz -lm

这里的技巧是-DTCLSH=1选项。sqlite的TCL接口模块包含一个main的过程,用于初始化一个TCL解释器并在以-DTCLSH=1编译后进入到一个命令行loop。上述命令可以工作在Linux和Mac
OS X,虽然有时可能需要依赖于平台调整库选项以及编译的TCL的哪一个版本。

构建融合文件

下载页提供的sqlite融合文件的版本对大多数用户来说是足够的。然而,一些工程可能想要或者需要构建他们自己的融合文件。一个常见的构建一个定制的融合文件的理由是为了使用特定的compile-time options来定制sqlite库。回想sqlite融合文件中包含了许多C代码由辅助程序和脚本生成。许多的编译时间选项影响这一成圣代码而且必须在融合文件组装前提供给代码生成器。这一系列必须传给代码生成器的编译时间相关的选项会使得sqlite的发布版本各不相同,但是在写这边文章的时候,代码生成器需要知道的这组选项包括:

SQLITE_ENABLE_UPDATE_DELETE_LIMIT
SQLITE_OMIT_ALTERTABLE
SQLITE_OMIT_ANALYZE
SQLITE_OMIT_ATTACH
SQLITE_OMIT_AUTOINCREMENT
SQLITE_OMIT_CAST
SQLITE_OMIT_COMPOUND_SELECT
SQLITE_OMIT_EXPLAIN
SQLITE_OMIT_FOREIGN_KEY
SQLITE_OMIT_PRAGMA
SQLITE_OMIT_REINDEX
SQLITE_OMIT_SUBQUERY
SQLITE_OMIT_TEMPDB
SQLITE_OMIT_TRIGGER
SQLITE_OMIT_VACUUM
SQLITE_OMIT_VIEW
SQLITE_OMIT_VIRTUALTABLE

为了构建一个定制的融合文件,先下载原始的独立源码文件到一个unix或者类unix开发平台。确定获取的原始源码文件不是“预编译过的源文件”。任何人都可以通过到下载页或者直接从configuration management system.获取完整的一套原始源码文件。

假设sqlite源码树被存在一个名为“sqlite”的目录下。计划构建一个平行目录下的名为“bld”的融合文件。首先通过运行sqlite源码树种的configure脚本运行或者通过制作一份源码树顶层的的makfile模板的一份,来构建一个合适的makefile.然后手动编辑这个Makfile去包含需要的编译时间相关的选项。最终运行:
make sqlite3.c

在windows上使用MSVC:
nmake /f Makefile.msc sqlite3.c

sqlite3.c的make
target会自动构造一般的“sqlite3.c”合并的源码文件,以及它的头文件“sqlite3.h”,和包含TCL接口的融合源码文件“tclsqlite3.c”。之后,需要的文件可以被拷贝到文件目录下然后根据上述勾勒的过程编译。

构建一个windows的动态链接库DLL

为了在windows构建一个sqlite的dll使用,首先获取对应的融合过的源码文件,sqlit3.c和sqlite.h。这些可以从SQLite website上下载或者和上述告知的一样去定制生成。

使用工作目录下的源码文件,一个dll可以在msvc中使用如下命令生成:
cl sqlite3.c -link -dll -out:sqlite3.dll

上述命令需要运行在msvc的MSVC Native Tools Command
Prompt.如何你已经在机器上安装了msvc,你可能有多个版本的这种命令提示符,针对于x86和x64的自带构建的,或者交叉编译到ARM的。依赖要求的DLL去使用对应合适的命令提示符工具。

如果使用MinGW编译器,命令是这样的:
gcc -shared sqlite3.c -o sqlite3.dll

注意MinGW只生成32位的dll。另有一个分开的MinGW64工程可以用来生成64位的dll。可以推断其命令行语法是类似的。需要注意的是最近的MSVC的版本生成的DLLs可能不能工作到WinXP或者更早版本的windows上。因此为了最大限度的兼容你的生成的dll,推荐MinGW。一个好的经验法则是使用MinGW去生成32位的dlls,使用msvc去生成64位的dlls。

㈣ 920文本编辑器的c++编译器怎么用

920文本编辑器(920 Text Editor)是一款运行于Android手机上功能强大的文本编辑器,使用它你可以在任何地方都可以方便地查看或编辑你的代码,你也可以将它当作电子书阅读器来打开txt小说,它就像Windows上的Emeditor, EditPlus那么实用强大 :-)
特色功能:
1. 语法高亮:
ASP, ActionScript, C/C++, C#, Erlang, Frink, HTML/XML/WML, CSS, Javascript, Java, JSP, Perl, PowerShell, PHP, python, Shell/Bash, Lua, SQL, VB/VBS, Tcl, TeX/LaTeX, Verilog, AutoHotKey, AutoLisp
2. 显示行号
3. 显示空白字符(制表符,换行符)
4. 自动检测打开的文件编码,同时你也可以转换当前文件编码,支持:
ISO-2022-CN,BIG5,EUC-TW,GBK,GB2312,ISO-8859-5,KOI8-R,WINDOWS-1251,MACCYRILLIC,IBM866,IBM855,ISO-8859-7,WINDOWS-1253,ISO-8859-8,WINDOWS-1255,ISO-2022-JP,SHIFT_JIS,EUC-JP,ISO-2022-KR,EUC-KR,UTF-8,UTF-16BE / UTF-16LE,UTF-32BE / UTF-32LE / X-ISO-10646-UCS-4-34121 / X-ISO-10646-UCS-4-21431,WINDOWS-1252
5. 方便的工具栏,你可以快捷进行文件新建、打开、保存、另存为、撤销/重做、一些常用符号、返回上次编辑位置等等
6. 最近打开的文件历史列表
7. 正则查找、替换或替换全部
8. 更改字体和字体大小
9.“自动换行” 开关
10. 锁定屏幕方向于:自动、横向或纵向
11. 记住最后打开的文件
12. 隐藏软键盘(即输入法),长按编辑区域可以切换显示输入法
13. 长按编辑区域可以将选中的文字转换为大写或小写
14. 自动缩进
15. 保持屏幕常亮
16. 获取ROOT权限
17. 简易的文件管理器,你可以重合名或删除文件,或通过其它程序管理或打开文件
18. 使用音量键快速切换显示/隐藏工具栏,全屏模式
19. 预览HTML文件
20. 强大的颜色拾取器
21. 你可以通过“参数”菜单的“捐赠”页面来捐助它

㈤ c语言编译软件有哪些

6款好用的C语言编译器推荐

一些刚开始接触C语言编译的网友想下载一款C语言编译器来使用,不过,网络上有不少C语言编译器相关的软件,让人很难抉择。那么,C语言编译器哪个好?今天的文章里,小编给大家整理了6款好用的C语言编译器推荐给大家,需要C语言编译器的网友,不妨了解一下!

一、Dev-C++

Visual Studio(VS) 是一套非常完备的工具和服务,可帮助您为 Microsoft 平台和其他平台创建各种各样的应用程序。Visual Studio 还可将您所有的项目、团队和利益干系人联系在一起。现在您的团队可以从任何位置以虚拟方式进行更为敏捷的合作,无论他们采用何种开发工具。

功能介绍

可以通过强大的集成开发环境构建面向 Windows、Android、iOS 以及 Web 的出色应用。使用任何 IDE 或编辑器在云中进行版本控制、敏捷、持续交付、应用程序分析协作。

适用于所有操作系统的编辑器使用可在 Windows、OS X 或 Linux 上运行的免费代码编辑器构建和调试现代 Web 和云应用程序。

㈥ TCL的脚本编辑器是什么

Active Tcl
官方发布的免费Tcl开发环境,包含许多有用的扩展包,支持windows、linux、mac等多种平台。我现在就用的是这个。
官方下载地址:http://www.activestate.com/activetcl

㈦ tcl语言 使用什么编译器

TCL 语言开发工具 Visual Tcl

㈧ 请教一下在windows下,tcl文件如何编译运行,是python.exe abc.tcl吗

我安装了Python
2.5.2,发现里面有目录:C:\Python25\tcl,
是附带了tcl,但里面根本没有tcl的编译器:tclsh

wish(我搜索不到文件wish*或者tclsh*)那里面的tcl目录干啥的呢,还请解释一下python和tcl究竟啥关系?为什么带了tcl目录,又没有tcl文件的编译器?[
本帖最后由
yuonunix

2008-4-18
17:57
编辑
]

㈨ 想在windows下用tcl/tk和C/C++联合编程,用什么编译器好啊该怎么处理

GNU的C/C++编译器(mingwgcc),同时支持c语言和C++的编译,而且不容易崩溃,不容易死机。我的网络云盘里有下载安装和简单实用文档:/s/1dQP8E

阅读全文

与tcl编译器使用相关的资料

热点内容
带为字的电影名 浏览:920
加瓦程序员实习工资 浏览:97
linux修改文件后缀 浏览:677
台湾近几年尺度电影 浏览:239
小玛利亚所有电影 浏览:221
小孩和一条狗的外国电影 浏览:240
网页游戏解压视频 浏览:461
彼时曾相伴电影百度网盘 浏览:731
电脑免费看电影网站 浏览:883
小女孩叫墨菲的电影 浏览:524
与凤行全本txt 浏览:706
日本电影网址大全 浏览:170
android手机温度 浏览:843
易语言编辑框内容生成源码 浏览:353
有个电影割了脚脖子 浏览:430
找一个能看片的那 浏览:939
周礼正义pdf 浏览:498
主商品凑单商品减价算法 浏览:493
韩国女星李彩谭 浏览:7
舔乳照 浏览:737