亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

  發(fā)布時(shí)間:2021-06-29 22:04:21   作者:佚名   我要評(píng)論
這篇文章主要介紹了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)文章

最新評(píng)論