欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

  發(fā)布時間:2021-06-29 22:04:21   作者:佚名   我要評論
這篇文章主要介紹了notepad++結(jié)合tcc構(gòu)建c語言開發(fā)環(huán)境的圖文方法,需要的朋友可以參考下

前言

原來大學(xué)剛學(xué)c語言時用的都是VC6.0編譯器,現(xiàn)在的老師之前推薦了tcc編譯器,并且推薦將tcc配置到notepad++,就可以很方便地很c語言了。
然后去查了下tcc編譯器的介紹和它的作者。
tcc(Tiny C Compiler)編譯器是世界上最小的C語言編譯器,而且是開源的, 小到只有約100K. (VC,GCC,動不動幾十M幾百M幾個G的,特別是安裝一次頭疼一次)。別看它小, 功能還是很強??梢跃幾g所有C99標(biāo)準(zhǔn)的ANSI C程序。支持CPU包括:X86 32或64位, ARM,支持Windows, Linux, OSX.(跨平臺跨系統(tǒng)的能力,比VC強)。
TCC是由大牛Fabrice Bellard開發(fā)的,這位大牛還開發(fā)過 Qemu, FFmepg(FFmepg被稱作音視頻處理的瑞士軍刀,沒有FFmepg,就沒有抄它的暴風(fēng)影音,格式工廠,騰訊視頻,以及其它好多好多音視頻播放器)。

tcc特點 ??!您可以在任何地方編譯和執(zhí)行C代碼,例如在救援磁盤上(x86 TCC可執(zhí)行文件大約100KB,包括C預(yù)處理器,C編譯器,匯編器和鏈接器)。快速!tcc生成x86代碼。沒有字節(jié)碼開銷。編譯,組裝和鏈接比GCC 快幾倍。無限!任何C動態(tài)庫都可以直接使用。TCC正在全面遵守ISOC99標(biāo)準(zhǔn)。TCC當(dāng)然可以編譯自己。安全!tcc包括一個可選的內(nèi)存和綁定檢查器。綁定的檢查代碼可以與標(biāo)準(zhǔn)代碼自由混合。直接編譯和執(zhí)行C源代碼。無需鏈接或組裝。包括完整的C預(yù)處理器和類似GNU的匯編程序。支持C腳本:只需在C源代碼的第一行添加“#!/ usr / local / bin / tcc -run”,然后直接從命令行執(zhí)行。使用libtcc,您可以使用TCC作為動態(tài)代碼生成的后端。

配置步驟

1、下載tcc軟件

作者主頁: http://bellard.org
tcc主頁:http://bellard.org/tcc/
下載頁: 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

無需安裝的,只需要解壓即可。
解壓縮到 c:\tcc , 可見目錄下有 tcc.exe, 這個是編譯器命令行程序,沒有IDE界面的。
將 c:\tcc 加入到 系統(tǒng)路徑中 (PATH)后,則可以在任何命令行窗口中使用了。

2、安裝Notepadd++

主頁:https://notepad-plus-plus.org/
Notepadd++最新版本是7.7.1(截止2019年6月29日)。
下載地址:npp.7.7.1.Installer.exe

3、打開Notepad++,一次打開菜單“NotePad++ --> 插件 -->Plugin Manager -->show Pluyin Manger -->安裝NppExec插件”。

方法一:在NotePad++中配置TCC編譯信息,此種方法可以生成.exe文件。

4、按F6出現(xiàn)Execute對話框,填寫如下信息:

NPP_SAVE
cd $(CURRENT_DIRECTORY)
tcc "$(CURRENT_DIRECTORY)\$(FILE_NAME)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"
echo
echo =================編譯成功后開始運行====================
"$(CURRENT_DIRECTORY)\$(NAME_part).exe"
 

5、點擊Save輸入名字,這里我命名為“tcc”然后點OK

在這里插入圖片描述

方法二:在NotePad++中配置TCC編譯信息,此種方法跳過編譯鏈接的步驟,直接運行程序。

6、按F6出現(xiàn)Execute對話框,參數(shù)如下:

NPP_SAVE
cd $(CURRENT_DIRECTORY)
tcc -run "$(CURRENT_DIRECTORY)\$(FILE_NAME)"
 

7、點擊Save輸入名字,這里我命名為“tcc_run”然后點OK;

在這里插入圖片描述

為tcc設(shè)置快捷鍵

8、NotePad++中依次點擊:插件 ->NppExec ->Advanced Options,然后如圖操作;

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
 

9、關(guān)閉notepadd++,重新打開notepadd++,依次點擊:宏 ->管理快捷鍵;

在這里插入圖片描述

10、在彈出的對話框中找到“插件命令”,然后找到“tcc”(若剛剛設(shè)置為其它名字,則這里為你設(shè)置的那個名字),雙擊打開;

在這里插入圖片描述

11、在彈發(fā)的對話框中設(shè)置快捷鍵,我這里我配置快捷鍵為alt+F9;

在這里插入圖片描述

12、"tcc_run"設(shè)置步驟也同上9、10、11步驟;
13、測試能否運行。

(注:用方法一編譯的c語言的.exe程序默認(rèn)名為 文件名.exe ,使用這種方法盡量為自己的程序新建一個文件夾)

Tiny C Compiler最小的C語言編譯器,自己編譯自己

最近,在學(xué)習(xí)編譯器技術(shù), 研究了一下TCC, 記錄一下。
Tiny C Compiler(簡稱TCC, 或Tiny CC)是世界上最小的C語言編譯器,而且是開源的, 小到只有約100K. (VC, GCC動不動幾十M幾百M的, 汗)
別看它小, 功能還是很強. 可以編譯所有C99標(biāo)準(zhǔn)的ANSI C程序 , 支持CPU包括:X86 32或64位, ARM,支持Windows, Linux, OSX.(跨平臺跨系統(tǒng)的能力,比VC強)
TCC是由大牛Fabrice Bellard開發(fā)的,這位大牛還開發(fā)過 Qemu, FFMpeg (沒有FFMpeg, 就沒有抄它的騰訊視頻,暴風(fēng)影音...)

一、下載TCC

主頁: http://bellard.org/tcc/
下載頁: http://download.savannah.gnu.org/releases/tinycc/

TCC最新版本是0.9.26
下載執(zhí)行程序: tcc-0.9.26-win32-bin.zip

無需安裝的,只需要解壓即可。
解壓縮到 c:\tcc , 可見目錄下有 tcc.exe, 這個是編譯器命令行程序,沒有IDE界面的
將 c:\tcc 加入到 系統(tǒng)路徑中 (PATH)后,則可以在任何命令行窗口中使用了。

二、使用TCC

用notepad寫一個測試用的c程序,如下,存盤為 hello.c
 

#include <stdio.h>
 
main() {
    printf("hello,world\n");
}

用tcc編譯,命令如下:
tcc hello.c

則將生成 hello.exe , 運行hello.exe看看

TCC可以不編譯C程序,而是把它直接運行,就像腳本解釋語言那樣。命令行如下:

tcc -run hello.c

效果:hello.c不需編譯,直接運行了

這個將C程序直接運行的功能,是TCC獨有的,其它C編譯器都不行。

三、更多例程

tcc\examples 目錄下有幾個例程

 

 fib.c 是一個標(biāo)準(zhǔn)C語言例程,不多說 , 編譯它:tcc fib.c

hello_win.c 是一個Windows GUI例程, 編譯它:tcc hello_win.c

 dll.c 是一個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

書上一直是這樣說的: C語言是自己編譯自己的, 就是說C語言的編譯器是用C語言寫的,把編譯器的源代碼編譯一下,就成了C語言編譯器

 做一下這個實驗: 用TCC編譯TCC源碼 

 首先下載TCC的源碼,下載頁: http://download.savannah.gnu.org/releases/tinycc, 下載源碼:tcc-0.9.26.tar.bz2

解壓縮到 c:\tcc-0.9.26

其中的文件主要有:

    tcc.c 主程序

libtcc.c c語言標(biāo)準(zhǔn)庫

寫一個BAT批處理文件,用于處理編譯過程,存盤到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語言編譯器
@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

運行 build.bat, 結(jié)果如下

C:\tcc-0.9.26>build
====用TCC編譯TCC====
設(shè)置tcc為c語言編譯器
編譯工具軟件: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, 這個就是新的C語言編譯器了
我讓編譯后生成的文件名是 tc.exe 而不是tcc.exe, 這樣是為了方便與原始的編譯器tcc.exe區(qū)分開

試用一下新的編譯器tc.exe, 編譯一下之前的 hello.c
 tc hello.c
顯示有錯誤:
hello.c:1: error: include file 'stdio.h' not found
為什么 stdio.h 沒找到呢? 因為當(dāng)前目錄下的includes目錄中沒有stdio.h

新建一個目錄 mkdir c:\newtcc
把相關(guān)文件復(fù)制進去
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
運行hello.exe, 則出現(xiàn)

hello, world

OK, 正確了

相關(guān)文章

最新評論