當前位置:首頁 » 編程語言 » c語言怎麼用gdb
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼用gdb

發布時間: 2022-10-20 02:23:08

c語言 gdb 指針 內存

一般常量在代碼段,看地址沒問題,str2和str3被優化後指向同一個字元串常量,滅毛病
p &("world")這里的world就不是程序里的那個字元串而是gdb裡面的一個變數了,怎麼可能還和str2在一起呢?

② 怎麼用debug c語言

簡單來說,有兩種方式,一種是源碼debug,即分析源碼來找出bug位置,一般使用printf()列印出程序執行每一步的信息,一種是可執行文件debug,需要使用調試器來進行。

1、源碼debug

類似於下面的源碼,主要通過程序執行時輸出的信息,來定位bug出現的位置,然後再修改源碼。


#include<stdio.h>

voidf(){;}

intmain()
{
#ifdef_DEBUG
printf("startmainfunction! ");
#endif
voidf();
#ifdef_DEBUG
printf("leavemainfunction! ");
#endif
return0;
}

2、可執行文件調試,windows平台常用的就是vs/vc自帶的調試,另外一個就是微軟自家開發的調試器windbg。Linux平台以gdb為常用。

IDE自帶的調試器以VC6.0為例,編寫完代碼後,按快截鍵盤F11,即可進入調試,此時右鍵,選擇「go to disassembly"即可查看到程序的反匯編代碼 。一般這種情況,主要是為了對C語言進行反匯編學習。

③ 怎麼用gdb和bochs調試內核

gdbstub可以使得Bochs程序在本地1234網路埠偵聽接收gdb的命令,並且向gdb發送命令執行結果。從而我們可以利用gdb對Linux 0.11內核進行C語言級的調試。當然,Linux 0.11內核也需要進行使用-g選項重新編譯。

14.13.1 編譯帶gdbstub的Bochs系統{.j,
Bochs用戶手冊中介紹了自行編譯Bochs系統的方法。這里我們給出編譯帶gdbstub的Bochs系統的方法和步驟。首先從下面網站下載最新Bochs系統源代碼(例如:bochs-2.2.tar.gz):U
使用tar對軟體包解壓後會在當前目錄中生成一個bochs-2.2子目錄。進入該子目錄後帶選項「--enable-gdb-stub」運行配置程序configure,然後運行make和make install即可,見如下所示:
[root@plinux bochs-2.2]# ./configure --enable-gdb-stubI0B%
checking build system type... i686-pc-linux-gnu7.tY.
checking host system type... i686-pc-linux-gnuQ
checking target system type... i686-pc-linux-gnu{
...©OldLinux論壇 -- 有關早期Linux內核代碼發展的論壇。M
[root@plinux bochs-2.2]# makeQ
[root@plinux bochs-2.2]# make installN?
©OldLinux論壇 -- 有關早期Linux內核代碼發展的論壇。ufVz
若在運行./configure時我們碰到一些問題而不能生成編譯使用的Makefile文件,那麼這通常是由於沒有安裝X window開發環境軟體或相關庫文件造成的。此時我們就必須先安裝這些必要的軟體。>1z<z

14.13.2 編譯帶調試信息的Linux 0.11內核"jmg
通過把Bochs的模擬運行環境與gdb符號調試工具聯系起來,我們既可以使用Linux 0.11系統下編譯的帶調試信息的內核模塊來調試,也可以使用在RedHat 9環境下編譯的0.11內核模塊來調試。這兩種環境下都需要對0.11內核源代碼目錄中所有Makefile文件進行修改,即在其中編譯標志行上添加-g標志,並去掉鏈接標志行上的-s選項:2

LDFLAGS = -M -x // 去掉 -s 標志。XJFU)Y
CFLAGS =-Wall -O -g -fomit-frame-pointer / // 添加 -g 標志。iMN

進入內核源代碼目錄後,利用find命令我們可以找到以下所有需要修改的Makefile文件:_6

[root@plinux linux-0.11]# find ./ -name MakefileSn^
./fs/Makefile-
./kernel/Makefile/"`p%
./kernel/chr_drv/Makefile(pyM
./kernel/math/MakefileV
./kernel/blk_drv/Makefiles/CDu
./lib/Makefile[x~
./Makefile980
./mm/Makefile/zb
[root@plinux linux-0.11]#S9/Q

另外,由於此時編譯出的內核代碼模塊中含有調試信息,因此system模塊大小可能會超過寫入內核代碼映像文件的默認最大值SYSSIZE = 0x3000(定義在boot/bootsect.s文件第6行)。我們可以按以下方法修改源代碼根目錄中的Makefile文件中產生Image文件的規則,即把內核代碼模塊system中的符號信息去掉後再寫入Image文件中,而原始帶符號信息的system模塊保留用作gdb調試器使用。注意,目標的實現命令需要以一個製表符(TAB)作為一行的開始。pP

Image: boot/bootsect boot/setup tools/system tools/build)=1
cp -f tools/system system.tmp=-&a
strip system.tmphQ6n0S
tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) $(SWAP_DEV) > ImageA-)
rm -f system.tmpY3w[/@
sync9=P2n
©OldLinux論壇 -- 有關早期Linux內核代碼發展的論壇。KuEo
當然,我們也可以把boot/bootsect.s和tools/build.c中的SYSSIZE值修改成0x8000來處理這種情況。a?g4

14.13.3 調試方法和步驟;M]3!
下面我們根據在現代Linux系統(例如RedHat 9)系統上和運行在Bochs中Linux 0.11系統上編譯出的內核代碼分別來說明調試方法和步驟。
1 調試現代Linux系統上編譯出的Linux 0.11內核?E
假設我們的Linux 0.11內核源代碼根目錄是linux-rh9-gdb/,則我們首先在該目錄中按照上面方法修改所有Makefile文件,然後在linux-rh9-gdb/目錄下創建一個bochs運行配置文件並下載一個配套使用的根文件系統映像文件。我們可以直接從網站下載已經設置好的如下軟體包來做實驗:
使用命令「tar zxvf linux-gdb-rh9-050619.tar.gz」解開這個軟體包後,可以看到其中包含以下幾個文件和目錄:MX{-
©OldLinux論壇 -- 有關早期Linux內核代碼發展的論壇。X
[root@plinux linux-gdb-rh9]# ll'*5tfq
total 1600bJT~Q
-rw-r--r-- 1 root root 18055 Jun 18 15:07 bochsrc-fd1-gdb.bxrcf%J2s
drwxr-xr-x 10 root root 4096 Jun 18 22:55 linux[dM&
-rw-r--r-- 1 root root 1474560 Jun 18 20:21 rootimage-0.11-for-orig8EIChk
-rwxr-xr-x 1 root root 35 Jun 18 16:54 run{gj
[root@plinux linux--gdb-rh9]#t|f

這里的bochs配置文件與其他Linux 0.11配置文件的主要區別是在文件頭部添加有以下一行內容,表示當bochs使用這個配置文件運行時將在本地網路埠1234上偵聽gdb調試器的命令:NhL

gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0J,i/6

運行這個實驗的基本步驟如下:@EkQ

(1).啟動X window系統後打開兩個終端窗口;(mPN
(2).在一個窗口中,把工作目錄切換進linux-gdb-rh9/目錄中,並運行程序「./run」,此時該窗口中會顯示一條等待gdb來連接的信息:「Wait for gdb connection on localhost:1234」,並且系統會創建一個Bochs主窗口(此時無內容);1P=VI<
(3).在另一個窗口中,我們把工作目錄切換到內核源代碼目錄中linux-gdb-rh9/linux/,並運行命令:「gdb tools/system」;iDqm8
(4).在運行gdb的窗口中鍵入命令「break main」和「target remote localhost:1234」,此時gdb會顯示已經連接到Bochs的信息;p
(5).在gdb環境中再執行命令「cont」,稍過一會gdb會顯示程序停止在init/main.c的main()函數處。v3L2

下面是運行gdb和在其中執行的一些命令示例。[2;jS

[root@plinux linux]# gdb tools/system hI/
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)!mC}
Copyright 2003 Free Software Foundation, Inc.|3
GDB is free software, covered by the GNU General Public License, and you areC$NY4
welcome to change it and/or distribute copies of it under certain conditions.boNdAL
Type "show ing" to see the conditions.3[nfHW
There is absolutely no warranty for GDB. Type "show warranty" for details.'1-V
This GDB was configured as "i386-redhat-linux-gnu"...Oq&*[
(gdb) break main }<;
Breakpoint 1 at 0x6621: file init/main.c, line 110.+%!.]{
(gdb) target remote localhost:12342 .yc
Remote debugging using localhost:1234X6X&7
0x0000fff0 in sys_mkdir (pathname=0x0, mode=0) at namei.c:481(
481 namei.c: No such file or directory.5QU
in namei.c&%P'
(gdb) cont Pv'/S$
Continuing.P:O_{
Breakpoint 1, main () at init/main.c:110 *
110 ROOT_DEV = ORIG_ROOT_DEV;T7PkpD
(gdb) list 5XT
105 { /* The startup routine assumes (well, ...) this */2L$
106 /*_c
107 * Interrupts are still disabled. Do necessary setups, then)Z0k
108 * enable themjZ@+wn
109 */u
110 ROOT_DEV = ORIG_ROOT_DEV;d&!*`
111 drive_info = DRIVE_INFO;#yRW,
112 memory_end = (1<<20) + (EXT_MEM_K<<10);9Uaw
113 memory_end &= 0xfffff000;`v8fAR
114 if (memory_end > 16*1024*1024)lA#
(gdb) next DH.zM
111 drive_info = DRIVE_INFO;X
(gdb) next ?+S:q
112 memory_end = (1<<20) + (EXT_MEM_K<<10);iXdDt
(gdb) print /x ROOT_DEV <W<
$3 = 0x21d }{%Q
(gdb) quit |
The program is running. Exit anyway? (y or n) yt
[root@plinux linux]#lixBs
=====================================================
14.1 利用bochs調試內核%UU
Bochs具有非常強大的操作系統內核調試功能。這也是本文選擇Bochs作為首選實驗環境的主要原因之一。有關Bochs調試功能的說明參見前面14.2節,這里基於Linux 0.11內核來說明Windows環境下Bochs系統調試操作的基本方法。m[2

14.1.1 運行Bochs調試程序.g8O
我們假設Bochs系統已被安裝在目錄「C:/Program Files/Bochs-2.1.1/」中,並且Linux 0.11系統的Bochs配置文件名稱是bochsrc-hd.bxrc。現在在包含內核Image文件的目錄下建立一個簡單的批處理文件run.bat,其內容如下:R

"C:/Program Files/Bochs-2.1.1/bochsdbg" -q -f bochsrc-hd.bxrcjFypV+

其中bochsdbg是Bochs系統的調試執行程序。運行該批處理命令即可進入調試環境。此時Bochs的主顯示窗口空白,而控制窗口將顯示以下類似內容:D8v~

C:/Documents and Settings/john1/桌面/Linux-0.11>"C:/Program Files/Bochs-2.1.1/boRW6RNY
chsdbg" -q -f bochsrc-hd.bxrc2
========================================================================`)2?os
Bochs x86 Emulator 2.1.13$O@R
February 08, 2004x2
========================================================================/26c3(
00000000000i[ ] reading configuration from bochsrc-hd.bxrcq4
00000000000i[ ] installing win32 mole as the Bochs GUI4UW
00000000000i[ ] Warning: no rc file specified.1dsv
00000000000i[ ] using log file bochsout.txtmM
Next at t=0*
(0) context not implemented because BX_HAVE_HASH_MAP=0c
[0x000ffff0] f000:fff0 (unk. ctxt): jmp f000:e05b ; ea5be000f0g$
<bochs:1>i/

此時Bochs調試系統已經准備好開始運行,CPU執行指針已指向ROM BIOS中地址0x000fffff0處的指令處。其中'<bochs:1>'是命令輸入提示符,其中的數字表示當前的命令序列號。在命令提示符'<bochs:1>'後面鍵入'help'命令,可以列出調試系統的基本命令。若要了解某個命令的具體使用方法,可以鍵入'help'命令並且後面跟隨一個用單引號括住的具體命令,例如:「help 'vbreak'」,如下面所示。V7

<bochs:1> help@n{L(
help - show list of debugger commands5&6^
help 'command'- show short command description~B
-*- Debugger control -*-e!/;l
help, q|quit|exit, set, instrument, show, trace-on, trace-off,u7J
record, playback, load-symbols, slistr2:
-*- Execution control -*-pOHjE
c|cont, s|step|stepi, p|n|next, modebpj
-*- Breakpoint management -*-|EQ
v|vbreak, lb|lbreak, pb|pbreak|b|break, sb, sba, blist,dL/rBI
bpe, bpd, d|del|deleteyR%|
-*- CPU and memory contents -*-xsMy
x, xp, u|disas|disassemble, r|reg|registers, setpmem, crc, info, mp_cpu,@|'p
set_cpu, ptime, print-stack, watch, unwatch, ?|calc7
<bochs:2> help 'vbreak'_t*<#o
help vbreak/?
vbreak seg:off - set a virtual address instruction breakpoint0
<bochs:3>flx+

為了讓Bochs直接模擬執行到Linux的引導啟動程序開始處,我們可以先使用斷點命令在0x7c00處設置一個斷點,然後讓系統連續運行到0x7c00處停下來。執行的命令序列如下:.Xfk

<bochs:3> vbreak 0x0000:0x7c00hDzuWy
<bochs:4> cfMH/'X
(0) Breakpoint 1, 0x7c00 (0x0:0x7c00))W&
Next at t=4409138<-0m5
(0) [0x00007c00] 0000:7c00 (unk. ctxt): mov ax, 0x7c0 ; b8c007b 03*
<bochs:5>3R28Q

此時,CPU執行到boot.s程序開始處的第1條指令處,Bochs主窗口將顯示出「Boot From floppy...」等一些信息。現在,我們可以利用單步執行命令's'或'n'(不跟蹤進入子程序)來跟蹤調試程序了。在調試時可以使用Bochs的斷點設置命令、反匯編命令、信息顯示命令等來輔助我們的調試操作。下面是一些常用命令的示例:J'P

<bochs:8> u /10 # 反匯編從當前地址開始的10條指令。,S/2
00007c00: ( ): mov ax, 0x7c0 ; b8c007Wvl
00007c03: ( ): mov ds, ax ; 8ed8)1f*
00007c05: ( ): mov ax, 0x9000 ; b80090WmD1
00007c08: ( ): mov es, ax ; 8ec0(`|
00007c0a: ( ): mov cx, 0x100 ; b90001iW1|1
00007c0d: ( ): sub si, si ; 29f6ze_QZY
00007c0f: ( ): sub di, di ; 29ffZStl
00007c11: ( ): rep movs word ptr [di], word ptr [si] ; f3a5=yF
00007c13: ( ): jmp 9000:0018 ; ea18000090!s?PR9
00007c18: ( ): mov ax, cs ; 8cc8(
<bochs:9> info r # 查看當前CPU寄存器的內容aM>/D
eax 0xaa55 436057a@`_
ecx 0x110001 1114113/$3$K"
edx 0x0 00j3G?
ebx 0x0 0gE
esp 0xfffe 0xfffee7{
ebp 0x0 0x0]*lX
esi 0x0 0m
edi 0xffe4 65508TD}Zo
eip 0x7c00 0x7c00e
eflags 0x282 642Wlg
cs 0x0 0b s=]
ss 0x0 0=Z'
ds 0x0 02R;%
es 0x0 0!
fs 0x0 0BX/
gs 0x0 0D*)}n{

④ Linux下調試編寫並調試C語言程序,怎麼查看它的內存和CPU信息GDB中可以實現嗎

內存和cpu是硬體的概念,在程序中只有被映射後的內存和線程/進程的概念,具體如何調度程序的內存地址和線程/進程的掛起和運行都是操作系統來做的。使用gdb能夠查看當前程序各個變數的內存數據內容此時的內存地址對程序員來說是沒什麼用的(除非是做硬體開發,可能會需要),gdb還能夠查看當前程序中那些線程被掛起或正在運行,但查詢不到當前線程在哪個cpu上運行。

⑤ c語言怎麼運行

1、創建一個文件名為main.c,然後用任意一個款你熟悉的文本編輯軟體,比如說記事本,在裡面輸入下面的代碼,記住,要用文本文件編輯軟體,不能用word的。

c語言特點:

C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。

C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。

不同的變數類型可以用結構體(struct)組合在一起。

只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。

部份的變數類型可以轉換,例如整型和字元型變數。

通過指針(pointer),C語言可以容易的對存儲器進行低級控制。

預編譯處理(preprocessor)讓C語言的編譯更具有彈性。

⑥ 大家初學c語言用的編輯器和編譯器是怎麼下載安裝詳細步驟

剛開始學推薦使用小熊貓dev C++,配置較少,安裝簡單。

⑦ linux中的c語言怎麼用gdb調試

編譯的時候加-g 跑的時候gdb ./可執行文件就行了 至於各種命令專門有手冊可查

⑧ c語言使用什麼軟體,該如何使用

C語言作為一門古老的編程語言,應用范圍非常廣,至於編程的軟體的話,其實就非常多了,下面我簡單介紹幾個不錯的C語言編程軟體,感興趣的朋友可以自己嘗試一下:

Dev-C++

這個是Windows環境下一個輕量級、免費的C/C++集成開發環境,自帶有TDM-GCC編譯器、GDB調試器,可以直接編譯運行C語言程序,輕快靈活,功能簡潔,支持代碼高顯亮,沒有自動語法提示和自動補全功能,對於初學者來說,非常鍛煉人,純手工編寫代碼,更能打好基礎:

VC++6.0

這個軟體的功能和Dev C++差不多,也是Windows環境下一個非常不錯的C/C++開發環境,在早期的學習中,經常會用到這個軟體,許多學校機房中都使用這個軟體教學,可以直接編輯運行C語言程序,功能比較簡單,沒有任何提示功能,都是手寫代碼,現在來說,使用不多了,但對於初學者來說,也是一個不錯的選擇:

CodeBlocks

相比較前面2個軟體,CodeBlocks的功能強大一些,開源、免費、跨平台,小巧靈活,支持代碼高亮、語法檢查、自動補全等功能,除此之外,還提供了許多現成的工程模板,可以快速創建控制台應用、Qt應用等,使用起來非常方便,也是一個非常不錯的C語言編程軟體:

VS Code

這是微軟開源、免費、跨平台的一個代碼編輯器,插件眾多,生態環境良好,配置GCC編譯器後,也可以直接編輯運行C語言程序(本身支持的編程語言也非常多),支持智能補全、語法提示、Git等功能,輕便靈活,使用起來非常不錯,也很好學習和掌握:

VS 2017

這是一個專業的C/C++開發環境,也是個人和公司使用最多的IDE,項目管理、團隊協作來說非常方便,集成的環境比較多,Python、VB、C#等,這個軟體都能很好的兼容,自動補全、語法檢查和提示功能這個軟體都支持,整個軟體比較大,運行起來電腦可能會比較卡,而且功能比較復雜,初學者來說,需要一段時間才能適應和基本掌握,但的確是一個值得學習和使用的IDE環境:

Vim

這也是一個非常經典的C語言編程環境,只不過在Linux環境下比較常用,免費、跨平台,插件擴展比較豐富,輕巧靈活,功能簡潔,安裝GCC編譯器後,也可以直接編譯運行C語言程序,對於在Linux環境下開發C來說,是一個非常不錯的選擇:

目前,就分享這6個不錯的C語言編程軟體吧,有Windows的,也有Linux的,對於初學者來說,完全可以滿足日常開發和使用,當然,你也可以使用其他軟體,像IDEA、Eclipse(安裝插件)等,也可以,適合自己就行,網上也有相關資料可供參考,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。

這個有好多,我先來說說我用過的有哪些?

我在Windows上一開始用的是 win-TC,這是一個新手軟體。

他有了界面,能夠使用滑鼠,具有語法高亮,可以嵌入匯編等特點,對新手一些,拜託了不能用滑鼠的困難。

我給你看看它的樣子

我再來講一個: dev-C++

這個軟體也挺好的,是windows下一款開發c/c++的開發環境,使用gcc為編譯器,遵循標准,功能比較強大,語法高亮,可以進行單步調試(這對排除錯誤很重要),進行斷點設置等功能,遵循C標准,是一款很強大的開發工具。

我來給你看看它的樣子

再來最有一個,他就是 VC++

微軟的產品,編譯器,鏈接器,運行,調試等功能於一體的強大開發工具,特點是功能十分強大,對於新手來說需要一段時間去摸索.

你自己考慮用哪個吧!

祝願你c語言學的越來越好!

C語言只是一門計算機編程語言,具體使用什麼軟體,你應該指的是要是用什麼樣的集成開發環境(IDE)去編譯。因為編輯C語言,可以說只要是能打字的就可以,記事本都可以,但是編譯的常見的有Visual Studio,GNU gcc等一般的編譯工具,但這僅限上層應用工具編譯的C語言代碼,也僅供上層應用使用,在嵌入式中最常用的是Keil,IAR這兩款IDE,也有部分使用eclipse,Qt Creator。具體看MCU支持的開發環境,我接觸過的有Visual C++,Visual studio,Keil,IAR,Atmel Studio,eclipse,

Simplicity Studio,ST Visual Develop,這些都是C語言的編程工具,使用的編譯交叉工具。有些用來編寫C語言的,我用過記事本,notepad++,Vim,sourceinsight,sublime等等。

我是Java軟體工程師,用專業角度分享干貨。在這里推薦三款軟體,足以滿足你學C語言的需求。



最經典的莫過於VC6.0

VC6.0是大部分科班出身的第一款編程軟體。本人軟體工程專業,大一就是使用這款軟體入門C語言,當然這款軟體也可以用來學習c加加。



既然是學院派軟體,那自然有教科書選擇它作為編程C語言入門的原因,簡朴的界面,容易上手的操作方式。

缺點是Windows10安裝有點麻煩,Windows7及以下可以兼容,而且官網也不對此軟體進行維護了。

升級版VC,Visual Studio

如果打算學C語言並且以後成為你謀生的工具,在Windows系統里首推VS,這款軟體不是免費的但是有社區版,當然仔細找找可以弄到破解版本也不是難事。



VS是非常強大的編譯軟體,不僅僅可以寫C語言以及其他帶c的語言,還可以寫Java等主流語言。個人用過2010版本寫c加加,確實是不錯的工具。

Linux系統必備,Vim

以上兩種是Windows用戶必備的C語言學習軟體,如果你想在Linux里掌握更加純粹的編程方式,那麼可以用Vim,這是簡單而又經典的C語言編譯工具。



當然它與前兩款有所不同,寫完以後沒有按鈕給你點擊運行,你必須在Linux的命令行上編譯運行,這對你掌握C語言的原理會有更好的幫助,順便還能把Linux知識掌握一番,一箭雙雕。

C語言使用的軟體可以分為兩種,一種是為懶人設計的可視化編輯工具:IDE,一種是」心中有劍「的無可視化編輯工具:文本。下面我來詳細說說。

一、C語言可視化編程工具IDE

IDE,全稱叫做「Integrated Development Enviroment」(此處我擦把汗,還好英文沒還給老師),中文名叫「集成開發環境」,關鍵字是「集成」。C語言IDE集成了C程序文件打開、保存、編譯、運行、調試、工具等各種功能,所以叫做集成開發環境。

目前有很多種IDE,比較著名的有Visual Studio、Eclipse CDT、Dev-C++等,根據每人不同的愛好去選擇。下面我大概說說Dev-C++主要功能。

1、新建一個C程序文件

開始編寫C程序代碼了,第一步當然是新建一個C程序代碼了,在菜單「File」下找到「New」即可:

可以單獨新建一個C程序代碼文件,也可以新建一個項目。順便說下,在「File」菜單下,還有諸多的其他功能,如打開已有的C語言程序代碼、保存當前的C程序代碼等,充分體現了IDE的「集成」概念。

2、編譯運行一個C程序文件

寫完一個C語言程序代碼後,可以在「Execute」菜單下找到「Compile」和「Run」,也就是編譯和運行的意思。

菜單「Execute」下的功能也是十分的豐富,有單獨的編譯、運行步驟,也有編譯與運行的集成步驟,還有重新編譯、C語言代碼語法檢查、參數設置、清空當前項目等諸多實用功能。

對於C語言初學者來說,Dev-C++是一個很不錯的IDE編程環境。

二、C語言不可視化編程環境

很多C語言編程高手從來不用IDE,你跟他說IDE,他會一臉茫然「那是個啥東西?」不少程序員編程直接打開文本文件,在文本文件上寫好C語言程序代碼,然後GCC編譯,結束!這就是採用不可視化編程環境。

例如上面的那段C語言代碼就寫在一個文本文件里,程序員靠著眼力看下程序沒有什麼語法錯誤,然後直接GCC編譯C程序代碼文件,如下:

上圖是使用GCC編譯時使用的一些編譯參數。可以看到相比較於IDE的一鍵式編譯,手動編譯需要自己指定編譯頭文件目錄、編譯C語言函數庫路徑等,比較麻煩。不過這也是手動編譯的魅力所在,就是其樂無窮!

編譯完了之後會生成一個C程序可執行文件,直接運行這個可執行文件即可。

使用C語言編寫程序,有兩種方式:一種是可視化編程環境,也就是我們常說的IDE(集成開發環境),一種是非可視化編程環境,純手工活兒。至於哪一種更好因人而異,希望能幫助你找到適合自己的編程開發環境!

老話說:欲先善其事必先利其器,所以說對於學習一種程序語言,選擇一個良好的工具是至關重要的!選擇工具之前,首先對語言得有個起碼的認識:

C語言的顯著特點

C語言是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。C語言的文件是由數據序列組成,可以構成二進制文件或文本文件。

常用的軟體有

一般常用IDE(集成開發環境)的有Microsoft Visual C++,Code::Blocks,Dev-C++,Watcom C++ ,Borland C++ Builder,Borland C++,GNU DJGPP C++ ,High C,Lccwin32 C Compiler 3.1,Turbo C,C-Free,win-tc 等等

對於新手小白來說

可以選擇Microsoft Visual C++,因為其特點是:界面友好,功能強大,尤其是調試也很方便。

安裝的方法:(以下是網路安裝經驗,僅供參考)https://jingyan..com/article/4ae03de32997a63eff9e6b33.html

另外推薦幾個視頻學習網站

網易雲課堂;騰訊課堂;慕課網等

***希望對您有幫助,有不同想法,歡迎在下方評論留言!!! 碼上有理友聚在這等著你

推薦VS2017

1、安裝VS2017 IDE軟體,不多說,安裝guide一步步安裝即可。

2、選擇File-New-Project,選擇Visual C++-general-Empty Project新建一個C++工程。

3、在右側的Resource files 右擊Add-New Item選擇C++ File(.cpp)

4、書生意氣風發的寫入Hello world

代碼如下:

#include 「stdio.h」

#include

Int main()

printf("Hello World!」);

system(「pause」);

return 0;

學c語言難道不是應該找學習方法嗎?找APP是不是方向錯了,


就算有課程的APP大多都是收費的,不如網上搜集點學習資料,找別人做好的開源代碼,學習別人的思想


學習編程最重要的是自己敲代碼

推薦一款windows和linux下通用的開放源碼的全功能c/c++集成開發環境:code::blocks


這是linux下的界面。

windows版可以漢化。

也可以使用Turbo c 3.0

⑨ gdb調試c語言的疑惑

都exit了你還調試什麼呀?程序都結束了。
你可以b exit,如果程序要退出之前設置一個斷點。避免程序退出。
需要調試哪個函數,就b 一下好了,分數很少,簡要回答了