1. 程式人生 > 其它 >[C語言筆記]與Nios34一同開發掃雷:(1)開始前的準備

[C語言筆記]與Nios34一同開發掃雷:(1)開始前的準備

前言

開學季的忙忙碌碌之後終於有時間搞搞自己的事情。
在這學期初的C語言課程緩考後不久,Nios34突然提出要教我程式設計的想法,我也很愉快的答應了,畢竟在這之前學校課程上學到的和我心中預期的程式設計還是有很大的區別。

IDE與編譯器##

要進行程式設計首先需要一個IDE(廢話),在這之前我一直在用學校推薦的CODE::BLOCKS和個人覺得在Windows下還算好用的DevC++(當然,現在讓Windows系統先滾蛋吧,下面都會在Linux下進行操作),不過在這一次我們用了擴充套件性較強的VSCodium(開源版的VSCode),主要是因為VSCodium能夠安裝“Live Share“外掛來實現”聯機敲程式碼“的功能。
在這裡

下載Live_Share外掛,隨後在VSCodium裡按+

,在彈出的搜尋框輸入> vsix然後開啟Live Share外掛的檔案。
隨後只要主機share自己的工作區,然後其他使用者Join就行了。
有了IDE還需要編譯器,一般情況下用包管理器安裝gcc或clang就夠了。
噢,如果你想知道VSCodium如何安裝的話,不妨看看VSCodium的官網

這一次我們主要用到的庫是ncurses
什麼是ncurses? 其實ncurses在很多軟體中都有用到,比如vim,emacs,screen......
我們將要使用ncurses在終端裡生成一個基於文字的使用者介面,在那上面實現我們的掃雷程式。
使用包管理器就可以安裝ncurses庫了,以debian係為例:sudo apt-get install libncurses5-dev

接著我們就可以先跑一個"Hello,World!",我們先建立一個hello.c檔案

//hello.c
#include <string.h>
#include <ncurses.h>

int main(int argc,char* argv[]){
    initscr();
    raw();
    noecho();
    curs_set(0);

    char* c = "Hello, World!";

    mvprintw(LINES/2,(COLS-strlen(c))/2,c);
    refresh();

    getch();
    endwin();

    return 0;
}

終端輸入gcc -lncurses hello.c -o hello編譯程式並生成可執行檔案,輸入./hello就能看到Hello,World!的執行結果。
這裡gcc後加的-lncurses意思是連線到ncurses庫,屬於動態連線

小結

以上我們已經完成了準備階段,接下來幾篇文章將會繼續記錄掃雷的開發過程。
感謝Nios34對我的指導與教學,你是最棒的老師。