導航:首頁 > 源碼編譯 > 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編譯器使用相關的資料

熱點內容
荒野行動的伺服器為什麼那麼慢 瀏覽:110
下載視頻伺服器出錯是什麼意思 瀏覽:595
演算法怎麼測試數據 瀏覽:724
三星冰箱壓縮機價格表 瀏覽:993
微信視頻分裂源碼 瀏覽:47
安卓手機打開屏幕時間怎麼設置 瀏覽:379
php不讓網頁直接打開 瀏覽:728
為什麼程序員的網速總是那麼快 瀏覽:954
單片機一個led閃爍 瀏覽:473
pdf顯示空白 瀏覽:449
基岩版伺服器怎麼添加常載入區域 瀏覽:651
蘋果雲服務伺服器地址 瀏覽:162
blue引擎gm命令如何修改 瀏覽:49
編程高手箴言pdf 瀏覽:702
那狗n1用的app叫什麼名字 瀏覽:336
python定義浮點數 瀏覽:604
酷安加密門禁卡 瀏覽:101
為什麼蘋果比安卓拍攝效果好 瀏覽:341
android網路中文亂碼 瀏覽:656
演算法就是程序這句話對不 瀏覽:930