Tcc學習筆記(二) 安裝和配置


1.下載和編譯

repo.or.cz/tinycc.git下載最新的snapshot壓縮包,

或者用git命令下載: git clone git://repo.or.cz/tinycc.git

Linux下在路徑下輸入: ./configure && make && make install

Windows下先進入win32目錄,使用vs2015或使用build-tcc.bat結合GCC[推薦環境為MSYS2]。

編譯完成后的得到tcc的可執行文件。Windows下為tcc.exe以及輔助工具tiny_impdef.exe和tiny_libmaker.exe。

注:對於Windows,如果需要排除多余的.dll依賴,先要修改build-tcc.bat ,然后用tcc再編譯一遍自己。

  最簡單方法: tcc -DONE_SOURCE -DTCC_TARGET_PE tcc.c

  對於VS2017寫了一個run.bat,可以改成其他版本:

git.exe clone http://repo.or.cz/tinycc.git 
@call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
@mkdir tcc
@cd tinycc\win32
@call build-tcc.bat -c cl -t 32 -i ..\..\tcc
@cd ..
@pause
@cls
..\tcc\tcc.exe -DONE_SOURCE -DTCC_TARGET_PE -run tcc.c

  你甚至可以進行編譯器的自舉: ..\tcc\tcc.exe -DONE_SOURCE -DTCC_TARGET_PE -run tcc.c -DONE_SOURCE -DTCC_TARGET_PE -run tcc.c  

2.TCC配置

tcc最吸引人的特點是把C語言當腳本運行,即 tcc -run filename.c

HelloWorld.c的例子:

1 #include <stdlib.h>
2 #include <stdio.h>
3 
4 int main()
5 {
6     printf("Hello World\n");
7     return 0;
8 }
View Code

2.1命令行測試:

$ tcc -run HelloWorld.c
Hello World

2.2Notepad++配置

先將tcc.exe所在路徑加入環境變量PATH。然后打開Notepad++,運行[F5],輸入:

cmd /c cd /d $(CURRENT_DIRECTORY) & tcc -run $(FILE_NAME) & pause

保存為TccRun命令,同時可以設置快捷鍵,如圖所示:

選擇運行->TccRun,執行HelloWorld.c。

Hello World
請按任意鍵繼續. . .

2.3 其他編輯器配置

Sublime Text配置:Tools->New Build System。

SciTE配置:修改cpp.properties中的go命令為:

command.go.*.c=tcc -run ./$(FileNameExt)

Vim配置:修改~/.vimrc,加入語句。

"--------------------------------------"
func CodeRun()
    exec "w"
    if &filetype=="c"
        exec "!clear&&tcc -run %"
    elseif &filetype=="cpp"
        exec "!clear&&g++ -o %< && ./%<"
    elseif &filetype=="java"
        exec "!clear&&javac % && java %<"
    elseif &filetype=="python"
        exec "!clear&&python %"
    endif
endfunc
"--------------------------------------"
map <F5> <ESC> :call CodeRun()<CR>
imap <F5> <ESC> :call CodeRun()<CR>
vmap <F5> <ESC> :call CodeRun()<CR>

Visual Studio配置:新建Visual Studio空白解決方案進行配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM