Code::Blocks使用教程(使用Code::Blocks編寫C語言程序)

2021-02-13 平臺開發

前面我們給出了一段完整的 C 語言代碼,就是在顯示器上輸出 「C語言中文網」,如下所示:

#include <stdio.h>int main(){puts("C語言中文網");return 0;}

本節,我們就來看看如何通過 CodeBlocks 來運行這段代碼。

CodeBlocks 完全支持單個源文件的編譯,如果你的程序只有一個源文件(初學者基本上都是在單個源文件下編寫代碼),那麼不用創建項目,直接運行即可;如果有多個源文件,才需要創建項目。

1) 新建源文件

打開 CodeBlocks ,在上方菜單欄中選擇 「文件 --> 新建 --> 空白文件」,如下圖所示:



 

或者直接按下 Ctrl + Shift + N 組合鍵,都會新建一個空白的源文件,如下圖所示:



 

在空白源文件中輸入本文開頭的代碼:



 

在上方菜單欄中選擇 「文件 -->保存文件」,或者按下 Ctrl + S 組合鍵,都可以保存源文件,如下圖所示。


注意:保存時,將源文件後綴名改為 .c。

2) 生成可執行程序

在上方菜單欄中選擇 構建 --> 構建,就可以完成 hello.c 的編譯工作。



 

或者直接按 Ctrl + F9 組合鍵,也能夠完成編譯工作,這樣更加便捷。

如果代碼沒有錯誤,CodeBlocks 會在下方的  「構建信息」 窗口中看到編譯成功的提示,如下圖所示:



 

編譯完成後,打開源文件所在的目錄(本教程是 D:\Demo\),會看到多了兩個文件:

這說明,CodeBlocks 在編譯階段整合了 」編譯+連結」 的過程。

雙擊 hello.exe 運行,並沒有看到 「C語言中文」幾個字,而是會看到一個邊框一閃而過。這是因為,程序輸出 「C語言中文網」 後就運行結束了,窗口會自動關閉,時間非常短暫,所以看不到輸出結果,只能看到一個 」邊框」 一閃而過。

對上面的代碼稍作修改,讓程序輸出 「C語言中文網」後暫停下來:

#include<stdio.h>#include<stdlib.h>int main(){puts("C語言中文網");system("pause");return 0;}

system("pause"); 語句的作用就是讓程序暫停一下。注意開頭部分還添加了 #include<stdlib.h> 語句,否則當你重新編譯時,構建信息窗口會提示有關 system函數的警告,如下圖所示:



 

再次編譯、運行生成的 hello.exe ,終於如願以償,看到輸出結果,如下圖所示:



 

按下鍵盤上的任意一個鍵,程序就會關閉。

更加快捷的方式

實際開發中我們一般使用菜單中的」構建 --> 構建並運行」選項:



 

或者直接按下 F9 鍵,這樣能夠一鍵完成 「編譯 --> 連結 --> 運行」的全過程。這樣做的好處是,編譯器會讓程序自動暫停,我們也不用再添加 「system(「pause」)」 語句啦。

刪除上面代碼中的 「system(「pause」)」 語句,按下 F9 再次運行程序,結果如下:


3) 總結

現在,你就可以將 hello.exe 分享給你的朋友了,告訴他們這是你編寫的第一個C語言程序。雖然這個程序非常簡單,但是你已經越過了第一道障礙,學會了如何編寫代碼,如何將代碼生成可執行程序,這是一個完整的體驗。

在本教程的基礎部分,教大家編寫的程序都是這樣的「黑窗口」,與我們平時使用的軟體不同,它們沒有漂亮的界面,沒有複雜的功能,只能看到一些文字,這就是控制臺程序(Console Application),它與 DOS 非常相似,早期的電腦程式都是這樣的。

控制臺程序雖然看起來枯燥無趣,但是它非常簡單,適合入門,能夠讓大家學會編程的基本知識;只有夯實基本功,才能開發出健壯的GUI(Graphical User Interface,圖形用戶界面)程序,也就是帶界面的程序。

相關焦點

  • c語言入門之安裝code::blocks
    C語言是普適性最強的一種電腦程式編輯語言,它不僅可以發揮出高級程式語言的功用,還具有彙編語言的優點。工欲善其事必先利其器要學習c語言,第一步就是安裝一款c語言程序設計的開發工具。這裡分步說明著名的Code::Blocks安裝過程。
  • 小白使用VS code編寫python,如何優雅避坑
    拿這次要講的VS code編譯器來說,我們在網上隨便一查就可以找到很多資源,它們會給出很多詳細的教程。但是有很多小白可能會犯的低級錯誤,教程裡邊鮮有提及。這個其實也可以理解,畢竟在大佬的教程裡還附加一些所謂「低級」的見解,確實是一件比較掉面子的事情。所以就經常出現一些小白提著error和warning到處找人求醫問藥的場景。既然大佬們不願意做,那這個比較「掉面子」的事情就由小白學記來做吧!
  • C語言編程工具選擇
    一、編程工具計算機處理的數據、接受的指令是二進位數據,用C語言編寫的程序需要轉變成計算機能識別的二進位,才能讓計算機工作,這個轉換過程就是使用編譯器對源程序進行編譯,雖然可以使用命令行的方式編譯源程序,但使用編程工具不僅可以編譯源程序,還可以編寫、調試等,可以簡化編程工作。
  • 使用Visual studio code 作為外部 IDE 編寫 Blender2.9 腳本
    Blender 有自己的內置文本編輯器,用於編寫腳本和加載項,但在外部 IDE中開發它們非常方便,這些 IDE 為用戶提供了更多功能,如自動完成、語法突出顯示、與版本控制系統的集成以及其他使開發更快、更容易的工具。這是一個免費的通用環境,支持各種程式語言的開發,包括 Blender API 和 Python語言。
  • 一步步學寫Windows下的Shellcode
    為什麼會問這個問題,前段時間在做win下的Exploit,但是都是使用大佬寫的shellcode,無法實現個人的一些需求。而網絡上編寫shellcode的教程大多是關於Linux的,加之順帶學習PE文件結構,所以打算寫一篇關於Windows 下shellcode的編寫,為要編寫Shellcdoe的讀者提供一些參考。
  • 簡單shellcode學習
    ,簡單學習一下shellcode的編寫。輸入圖片說明思路首先程序禁用了execve系統調用,只開放了open,read,以及write的系統調用,意義很明確,是讓我們將flag都出來,而不是取得目標機器的shellshellcode的編寫在寫shellcode前,我們可以先用
  • shellcode編寫指南
    編寫shellcode3.1 c++庫文件配合內聯彙編先來針對指定系統的shellcode的編寫,指定系統的,我們首先通過LoadLibraryA函數導入相應的dll文件,獲得一個dll句柄,在把這個dll句柄當作參數傳入GetProcAddress 搜索查找指定函數,返回該函數的地址,然後通過函數的地址來調用函數,用c++代碼內聯彙編實現
  • 單片機C語言code與data的作用
    code的作用是告訴單片機,我定義的數據要放在ROM(程序存儲區)裡面,寫入後就不能再更改,其實是相當與彙編裡面的尋址MOVC(好像是),因為
  • Code Runner for VS Code 突破 2000 萬下載量!支持超過 50 種語言
    還記得五年前的夏天,我在巨硬寫著世界上最好的語言,有時也需要帶著遊標卡尺寫著另一門語言
  • 編寫Windows Kernel Shellcode
    最近有個想法,直接利用內核代碼執行權限,來寫文件,於是就抄起了VS,開始寫shellcode,開始以為和R3下面寫shellcode一樣簡單。新建個驅動的項目,按照下面修改項目的屬性,然後動態獲取API,再調API完成自己的功能。項目屬性配置好以後,開始寫shellcode,計算要使用的內核API的名稱hash,為了方便計算,我寫了一個簡單的MFC程序。
  • CTF必備技能丨Linux Pwn入門教程——ShellCode
    在上一篇文章中我們學習了怎麼使用棧溢出劫持程序的執行流程。為了減少難度,演示和作業題程序裡都帶有很明顯的後門。然而在現實世界裡並不是每個程序都有後門,即使是有,也沒有那麼好找。因此,我們就需要使用定製的ShellCode來執行自己需要的操作。
  • 如何編寫shellcode查找EIP & RIP
    我在學習OSCE認證時,花費了大量時間研究如何編寫自定義shellcode。這是我打算發布的一系列博客文章中的第一篇,其中將詳細介紹我在此過程中學到的一些技術。這篇博客文章的重點將是描述如何找到EIP / RIP,以及找到它可以做什麼。OSCE將精力集中在32位系統上,作為我繼續學習的一部分,我將研究和記錄適用於64位系統的方法。
  • Keepalived 2.0.14 發布,C 語言編寫的路由軟體
    Keepalived 2.0.14 已發布, Keepalived 是一款用 C 編寫的路由軟體。
  • 利用miasm解析shellcode(一)
    本文轉載自【微信公眾號:MicroPest,ID:gh_696c36c5382b】前面介紹了一些不同類型的逆向方法過程,這裡再介紹個shellcode的解析;在freebuf上看了利用miasm解析shellcode的文,覺得非常有意思,官網的推薦是這樣的:「miasm 是一個可以做動態及靜態分析的框架,支持很多處理器之外,也可以 load Windows
  • 編寫Shellcode:尋找EIP/RIP
    shellcode。{   int (*func)();   func = (int (*)()) code;   (int)(*func)();}i686-w64-mingw32-gcc-win32 method1.c
  • Matlab的加密程式語言——P Code
    Matlab作為一款科研工具,採用的時腳本語言–M語言進行編程和運行,腳本語言的特性就是其不需要編譯就可以運行,因此大家也通常直接使用原始語言進行程序的分享,從科學成果溝通共享的角度來看,這樣是更有利於科技的發展的。
  • 極速體驗|VS Code+Python敏捷開發
    VS Code在前端開發中,有一個非常好用的工具——Visual Studio Code,簡稱VS code。很多人使用後都會感嘆「用VS Code 寫代碼是真好用、真爽。」它是一款當下流行、十分出色的ide開發工具。
  • 《動物森友會》服裝Code碼分享與使用教程
    ,下面帶來由「伊Demi」分享的《集合啦動物森友會》服裝Code碼分享與使用教程,一起來看看吧。 服裝店開啟教程 集友會的服裝可以分享Code啦。分享和使用都需要裁縫店。 裁縫店開啟教程如下: 1.商店營業後,去商店會碰見刺蝟娟兒。跟它見面後它隨機會出現在廣場上賣衣服及飾品。 2.當你在娟兒那兒買夠5000領錢的商品後,下一次遇到它時它會告訴你想在島上開服裝店,拿到包裹後選好建設地址,再聽她對話。
  • 集合啦動物之森Code碼超詳細使用教程 動物森友會Code碼怎麼用?
    集合啦動物之森Code碼很多玩家還不清楚到底要怎麼使用,下面就來為大家詳細的介紹一下動物之森Code碼超詳細使用教程。集合啦動物之森Code碼超詳細使用教程集友會的服裝可以分享Code啦。
  • 使用Intel PT與IPTAnalyzer進行漏洞利用
    通過使用decode_blocks.py,可以生成塊緩存文件。你需要提供帶有IPT跟蹤文件名的-p選項和帶有進程內存轉儲文件的-d選項。  python %IPTANALYZER%\pyipttool\decode_blocks.py -p PT\EQNEDT32.pt -d ProcessMemory\EQNEDT32.dmp -c block.cache  下面顯示了並行的Python進程,它們對解碼文件進行解碼。