notepad++結(jié)合tcc構(gòu)建c語(yǔ)言開(kāi)發(fā)環(huán)境的圖文方法

前言
原來(lái)大學(xué)剛學(xué)c語(yǔ)言時(shí)用的都是VC6.0編譯器,現(xiàn)在的老師之前推薦了tcc編譯器,并且推薦將tcc配置到notepad++,就可以很方便地很c語(yǔ)言了。
然后去查了下tcc編譯器的介紹和它的作者。
tcc(Tiny C Compiler)編譯器是世界上最小的C語(yǔ)言編譯器,而且是開(kāi)源的, 小到只有約100K. (VC,GCC,動(dòng)不動(dòng)幾十M幾百M(fèi)幾個(gè)G的,特別是安裝一次頭疼一次)。別看它小, 功能還是很強(qiáng)??梢跃幾g所有C99標(biāo)準(zhǔn)的ANSI C程序。支持CPU包括:X86 32或64位, ARM,支持Windows, Linux, OSX.(跨平臺(tái)跨系統(tǒng)的能力,比VC強(qiáng))。
TCC是由大牛Fabrice Bellard開(kāi)發(fā)的,這位大牛還開(kāi)發(fā)過(guò) Qemu, FFmepg(FFmepg被稱作音視頻處理的瑞士軍刀,沒(méi)有FFmepg,就沒(méi)有抄它的暴風(fēng)影音,格式工廠,騰訊視頻,以及其它好多好多音視頻播放器)。
tcc特點(diǎn) ??!您可以在任何地方編譯和執(zhí)行C代碼,例如在救援磁盤上(x86 TCC可執(zhí)行文件大約100KB,包括C預(yù)處理器,C編譯器,匯編器和鏈接器)??焖?!tcc生成x86代碼。沒(méi)有字節(jié)碼開(kāi)銷。編譯,組裝和鏈接比GCC 快幾倍。無(wú)限!任何C動(dòng)態(tài)庫(kù)都可以直接使用。TCC正在全面遵守ISOC99標(biāo)準(zhǔn)。TCC當(dāng)然可以編譯自己。安全!tcc包括一個(gè)可選的內(nèi)存和綁定檢查器。綁定的檢查代碼可以與標(biāo)準(zhǔn)代碼自由混合。直接編譯和執(zhí)行C源代碼。無(wú)需鏈接或組裝。包括完整的C預(yù)處理器和類似GNU的匯編程序。支持C腳本:只需在C源代碼的第一行添加“#!/ usr / local / bin / tcc -run”,然后直接從命令行執(zhí)行。使用libtcc,您可以使用TCC作為動(dòng)態(tài)代碼生成的后端。
配置步驟
1、下載tcc軟件
作者主頁(yè): http://bellard.org
tcc主頁(yè):http://bellard.org/tcc/
下載頁(yè): http://download.savannah.gnu.org/releases/tinycc/
TCC最新版本是0.9.27(截止2019年6月29日)。
根據(jù)自己電腦系統(tǒng)(32位還是64位)下載執(zhí)行程序:
tcc-0.9.27-win64-bin.zip
tcc-0.9.27-win32-bin.zip
無(wú)需安裝的,只需要解壓即可。
解壓縮到 c:\tcc , 可見(jiàn)目錄下有 tcc.exe, 這個(gè)是編譯器命令行程序,沒(méi)有IDE界面的。
將 c:\tcc 加入到 系統(tǒng)路徑中 (PATH)后,則可以在任何命令行窗口中使用了。
2、安裝Notepadd++
主頁(yè):https://notepad-plus-plus.org/
Notepadd++最新版本是7.7.1(截止2019年6月29日)。
下載地址:npp.7.7.1.Installer.exe
3、打開(kāi)Notepad++,一次打開(kāi)菜單“NotePad++ --> 插件 -->Plugin Manager -->show Pluyin Manger -->安裝NppExec插件”。
方法一:在NotePad++中配置TCC編譯信息,此種方法可以生成.exe文件。
4、按F6出現(xiàn)Execute對(duì)話框,填寫如下信息:
NPP_SAVE
cd $(CURRENT_DIRECTORY)
tcc "$(CURRENT_DIRECTORY)\$(FILE_NAME)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"
echo
echo =================編譯成功后開(kāi)始運(yùn)行====================
"$(CURRENT_DIRECTORY)\$(NAME_part).exe"
5、點(diǎn)擊Save輸入名字,這里我命名為“tcc”然后點(diǎn)OK
方法二:在NotePad++中配置TCC編譯信息,此種方法跳過(guò)編譯鏈接的步驟,直接運(yùn)行程序。
6、按F6出現(xiàn)Execute對(duì)話框,參數(shù)如下:
NPP_SAVE
cd $(CURRENT_DIRECTORY)
tcc -run "$(CURRENT_DIRECTORY)\$(FILE_NAME)"
7、點(diǎn)擊Save輸入名字,這里我命名為“tcc_run”然后點(diǎn)OK;
為tcc設(shè)置快捷鍵
8、NotePad++中依次點(diǎn)擊:插件 ->NppExec ->Advanced Options,然后如圖操作;
9、關(guān)閉notepadd++,重新打開(kāi)notepadd++,依次點(diǎn)擊:宏 ->管理快捷鍵;
10、在彈出的對(duì)話框中找到“插件命令”,然后找到“tcc”(若剛剛設(shè)置為其它名字,則這里為你設(shè)置的那個(gè)名字),雙擊打開(kāi);
11、在彈發(fā)的對(duì)話框中設(shè)置快捷鍵,我這里我配置快捷鍵為alt+F9;
12、"tcc_run"設(shè)置步驟也同上9、10、11步驟;
13、測(cè)試能否運(yùn)行。
(注:用方法一編譯的c語(yǔ)言的.exe程序默認(rèn)名為 文件名.exe ,使用這種方法盡量為自己的程序新建一個(gè)文件夾)
Tiny C Compiler最小的C語(yǔ)言編譯器,自己編譯自己
最近,在學(xué)習(xí)編譯器技術(shù), 研究了一下TCC, 記錄一下。
Tiny C Compiler(簡(jiǎn)稱TCC, 或Tiny CC)是世界上最小的C語(yǔ)言編譯器,而且是開(kāi)源的, 小到只有約100K. (VC, GCC動(dòng)不動(dòng)幾十M幾百M(fèi)的, 汗)
別看它小, 功能還是很強(qiáng). 可以編譯所有C99標(biāo)準(zhǔn)的ANSI C程序 , 支持CPU包括:X86 32或64位, ARM,支持Windows, Linux, OSX.(跨平臺(tái)跨系統(tǒng)的能力,比VC強(qiáng))
TCC是由大牛Fabrice Bellard開(kāi)發(fā)的,這位大牛還開(kāi)發(fā)過(guò) Qemu, FFMpeg (沒(méi)有FFMpeg, 就沒(méi)有抄它的騰訊視頻,暴風(fēng)影音...)
一、下載TCC
主頁(yè): http://bellard.org/tcc/
下載頁(yè): http://download.savannah.gnu.org/releases/tinycc/
TCC最新版本是0.9.26
下載執(zhí)行程序: tcc-0.9.26-win32-bin.zip
無(wú)需安裝的,只需要解壓即可。
解壓縮到 c:\tcc , 可見(jiàn)目錄下有 tcc.exe, 這個(gè)是編譯器命令行程序,沒(méi)有IDE界面的
將 c:\tcc 加入到 系統(tǒng)路徑中 (PATH)后,則可以在任何命令行窗口中使用了。
二、使用TCC
用notepad寫一個(gè)測(cè)試用的c程序,如下,存盤為 hello.c
#include <stdio.h> main() { printf("hello,world\n"); }
用tcc編譯,命令如下:
tcc hello.c
則將生成 hello.exe , 運(yùn)行hello.exe看看
TCC可以不編譯C程序,而是把它直接運(yùn)行,就像腳本解釋語(yǔ)言那樣。命令行如下:
tcc -run hello.c
效果:hello.c不需編譯,直接運(yùn)行了
這個(gè)將C程序直接運(yùn)行的功能,是TCC獨(dú)有的,其它C編譯器都不行。
三、更多例程
tcc\examples 目錄下有幾個(gè)例程
fib.c 是一個(gè)標(biāo)準(zhǔn)C語(yǔ)言例程,不多說(shuō) , 編譯它:tcc fib.c
hello_win.c 是一個(gè)Windows GUI例程, 編譯它:tcc hello_win.c
dll.c 是一個(gè)dll 例程,編譯它:
tcc -shared dll.c //生成dll.dll文件
tiny_impdef dll.dll // 生成dll.def文件
tcc hello_dll.c dll.def //hello_dll.c 是調(diào)用 dll.dll 的例程
四,用TCC編譯TCC
書上一直是這樣說(shuō)的: C語(yǔ)言是自己編譯自己的, 就是說(shuō)C語(yǔ)言的編譯器是用C語(yǔ)言寫的,把編譯器的源代碼編譯一下,就成了C語(yǔ)言編譯器
做一下這個(gè)實(shí)驗(yàn): 用TCC編譯TCC源碼
首先下載TCC的源碼,下載頁(yè): http://download.savannah.gnu.org/releases/tinycc, 下載源碼:tcc-0.9.26.tar.bz2
解壓縮到 c:\tcc-0.9.26
其中的文件主要有:
tcc.c 主程序
libtcc.c c語(yǔ)言標(biāo)準(zhǔn)庫(kù)
寫一個(gè)BAT批處理文件,用于處理編譯過(guò)程,存盤到c:\tcc-0.9.26\build.bat, 文件內(nèi)容如下:
@echo ====用TCC編譯TCC==== @set /p VERSION= < VERSION @echo>config.h #define TCC_VERSION "%VERSION%" @echo 設(shè)置tcc為c語(yǔ)言編譯器 @set CC=tcc @set target=-DTCC_TARGET_PE -DTCC_TARGET_I386 @echo 編譯工具軟件:tiny_impdef.exe, tiny_libmaker.exe @%CC% %target% win32/tools/tiny_impdef.c -o tiny_impdef.exe @%CC% %target% win32/tools/tiny_libmaker.c -o tiny_libmaker.exe @echo 編譯libtcc.dll @if not exist libtcc\nul mkdir libtcc @%CC% %target% -w -shared -DLIBTCC_AS_DLL -DONE_SOURCE libtcc.c -o libtcc.dll -w @tiny_impdef libtcc.dll -o libtcc/libtcc.def @echo 編譯tc.exe @%CC% %target% tcc.c -o tc.exe -ltcc -Llibtcc @echo 編譯結(jié)束, 生成文件: tc.exe
運(yùn)行 build.bat, 結(jié)果如下
C:\tcc-0.9.26>build
====用TCC編譯TCC====
設(shè)置tcc為c語(yǔ)言編譯器
編譯工具軟件:tiny_impdef.exe, tiny_libmaker.exe
編譯libtcc.dll
編譯tc.exe
tcc.c:81: warning: assignment from incompatible pointer type
編譯結(jié)束, 生成文件: tc.exe
OK, 生成 tc.exe, 這個(gè)就是新的C語(yǔ)言編譯器了
我讓編譯后生成的文件名是 tc.exe 而不是tcc.exe, 這樣是為了方便與原始的編譯器tcc.exe區(qū)分開(kāi)
試用一下新的編譯器tc.exe, 編譯一下之前的 hello.c
tc hello.c
顯示有錯(cuò)誤:
hello.c:1: error: include file 'stdio.h' not found
為什么 stdio.h 沒(méi)找到呢? 因?yàn)楫?dāng)前目錄下的includes目錄中沒(méi)有stdio.h
新建一個(gè)目錄 mkdir c:\newtcc
把相關(guān)文件復(fù)制進(jìn)去
copy c:\tcc-0.9.26\*.exe c:\newtcc
copy c:\tcc-0.9.26\libtcc.dll c:\newtcc
xcopy /E c:\tcc\include c:\newtcc\include\
xcopy /E c:\tcc\libtcc c:\newtcc\libtcc\
xcopy /E c:\tcc\lib c:\newtcc\lib\
再用新目錄下的 tc.exe 作為編譯器
c:\newtcc\tc.exe hello.c
編譯正確,生成 hello.exe
運(yùn)行hello.exe, 則出現(xiàn)
hello, world
OK, 正確了
相關(guān)文章
WebStorm如何調(diào)試Vue項(xiàng)目? webstorm配置vue開(kāi)發(fā)環(huán)境指南
WebStorm 支持多種調(diào)試工具,包括瀏覽器的開(kāi)發(fā)者工具,但本文主要講解的是使用 WebStorm 自帶的調(diào)試功能2025-04-15VSCode和webstorm怎么設(shè)置綠色護(hù)眼背景? 綠豆沙背景色的設(shè)置方法
護(hù)眼色一定程度能保護(hù)眼睛,緩解疲勞,VSCode和webstorm這兩款常用的軟件怎么設(shè)置護(hù)眼色呢?詳細(xì)請(qǐng)看下文介紹2025-04-15WebStorm常用插件以及實(shí)用設(shè)置分享
WebStorm本身已經(jīng)足夠強(qiáng)大,但一些優(yōu)秀的插件能錦上添花,顯著提升開(kāi)發(fā)效率,詳細(xì)請(qǐng)看下文介紹2025-04-15如何安裝配置WebStorm? WebStorm安裝與使用全方位指南
WebStorm軟件在前端和后端開(kāi)發(fā)領(lǐng)域都備受青睞,很多朋友不知道該怎么下載安裝,下面我們就來(lái)看看詳細(xì)的安裝配置教程2025-04-15Webstorm怎么配置? Webstorm入門之軟件配置教程
WebStorm是一款功能強(qiáng)大的集成開(kāi)發(fā)環(huán)境(IDE),支持各種前端開(kāi)發(fā)技術(shù),今天我們就來(lái)看看Webstorm的配置教程2025-04-15Webstorm怎么設(shè)置字體大小/背景顏色/背景圖片?
WebStorm 允許您自定義界面顏色,以創(chuàng)建更個(gè)性化和美觀的工作空間,今天我們就來(lái)看看Webstorm改變字體大小、背景顏色、設(shè)置背景圖片的方法2025-04-15VScode上ESP32開(kāi)發(fā)插件安裝失敗怎么辦?
VScode上安裝PlatformIO插件能成功安裝,嘗試卸載VScode并刪除插件,這些錯(cuò)誤仍然存在,下面我們就來(lái)看看這個(gè)問(wèn)題的解決辦法2025-04-03提升代碼搜索效率! VSCode里DeepSeek插件安裝與配置指南
今天我們將向大家介紹如何在Visual Studio Code中安裝并配置 DeepSeek 插件,幫助你更高效地進(jìn)行代碼搜索2025-04-07提升你的編程效率! VSCode的初級(jí)使用教程超詳細(xì)版
VSCode是一款免費(fèi)且開(kāi)源的代碼編輯器,因其強(qiáng)大的功能和良好的用戶體驗(yàn)而廣受歡迎,本文將詳細(xì)介紹 VSCode 的基本使用方法,并通過(guò)插圖幫助你更好地理解2025-04-03- 今天我們來(lái)聊聊如何安裝和配置VS Code,讓它成為你編程路上的得力助手,這個(gè)過(guò)程其實(shí)很簡(jiǎn)單,只要跟著我的步驟走,你絕對(duì)能搞定2025-04-03