freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

uclinux下應(yīng)用程序開發(fā)(文件)

2025-06-06 11:59 上一頁面

下一頁面
 

【正文】 時(shí)候,用一個(gè) $ 符號開始后跟圓括號,在圓括號內(nèi)包含函數(shù)名,空格后跟一系列由逗號分隔的參數(shù)??梢韵裣旅嫠臼褂眠@個(gè)命令: SOURCES = $(wildcard *.c) 這樣會產(chǎn)生一個(gè)所有以 39。 另一個(gè)有用的函數(shù)是 patsubst (patten substitude, 匹配替換的縮寫 ) 函數(shù)。的文件 ,用 39。 取代。 INCLUDES =I … 39。 EXT_CC_OPTS = DEXT_MODE 39。CFLAGS =O g 39。 SRCS = … 39。 RM = rm –f 39。 LD= gcc39。 \39。 在 makefile文件中 , 用符號 39。 使用 GDB調(diào)試程序 無論是多么資深的程序員在編寫的程序時(shí) , 都不大可能一次性就會成功 , 在程序運(yùn)行時(shí) , 會出現(xiàn)許許多多意想不到的錯(cuò)誤 , 一味地只是查看程序用處不大 , 最有效的方法通過一些手段進(jìn)入到程序內(nèi)部進(jìn)行調(diào)試 。在程序運(yùn)行出錯(cuò)時(shí),它為程序開發(fā)者提供程序運(yùn)行時(shí)的詳細(xì)細(xì)節(jié),從而找到出錯(cuò)的原因。用了 g選項(xiàng)后,程序在編譯的時(shí)候就會包含調(diào)試信息,這些調(diào)試信息存在目標(biāo)文件中,它描述了每個(gè)函數(shù)或變量的數(shù)據(jù)類型以及源碼行號和可執(zhí)行代碼地址間對應(yīng)關(guān)系, gdb正是通過這些信息使源碼和機(jī)器碼相關(guān)聯(lián)的,它實(shí)現(xiàn)了源碼級的調(diào)試。 當(dāng)然,也可以使用行號設(shè)置中斷位置,上面設(shè)置中斷的語句可以等價(jià)為 break 604, 可以在屏幕上看到相同的效果。如果想查看目前設(shè)置斷點(diǎn)的情況,可以使用命令 info break, 屏幕會顯示出每一個(gè)設(shè)置的斷點(diǎn)信息 在 gdb提示符下使用 help命令 , 會給出有關(guān) gdb命令的一個(gè)簡短描述和命令分類 。 當(dāng)在調(diào)試過程中 , 想查看一個(gè)變量值的時(shí)候 , 可以在 gdb環(huán)境下 輸 入 命 令 : watch variablename , 這 里 的variablename是你想觀察的變量名 。 int *xptr = amp。x)。 } void display(int z, int *zptr) { printf(In display():\n)。 } 要使用 gdb調(diào)試程序 , 一定要在編譯程序時(shí) , 使用 g編譯選項(xiàng) , 以生成參數(shù)符號表( augmented symbol table), 提供調(diào)試信息 。在 gdb下,Linux最常用文本編輯命令 vi不能使用,可以使用 list命令列出可執(zhí)行文件的源代碼的一部分,為了列出源代碼的全部,只要多鍵入幾次 list命令即可。x。 (gdb) next x is 5 and is stored at 0xbffffb44. 9 printf( xptr holds %p and points to %d.\n, xptr, *xptr)。 要退出 gdb, 請鍵入命令 quit, 如果程序此時(shí)仍在進(jìn)行 ,gdb會讓你確認(rèn)是否真的要退出 , 屏幕會出現(xiàn)類似下面的提示信息: (gdb) quit The program is running. Exit anyway? (y or n) 按下 ‘ y’即退出調(diào)試程序,如果程序本身已經(jīng)運(yùn)行完畢,則quit命令鍵入后,會直接退出 gdb,而不出現(xiàn)任何提示信息 。 } s_1。 } s_2。c39。 fflush(stdout)。 fwrite(amp。 } gcc和 vc的結(jié)果是 9, 12, tc2的結(jié)果都是 5,因?yàn)?tc的 int是 2位的,對于 pc的開發(fā)問題不是很大,但是對于嵌入式開發(fā),必須考慮到內(nèi)存浪費(fèi)的問題。 盡管 i只有一個(gè)字節(jié), j占 4個(gè)字節(jié),但編譯器可能為了對齊為 i分配 4個(gè)字節(jié),結(jié)果整個(gè)結(jié)構(gòu)是 8個(gè)字節(jié),這就是 4字節(jié)對齊的情況,而在編譯器設(shè)為單字節(jié)對齊時(shí)則正好是 5個(gè)字節(jié)。 如果效率非常重要,就盡量不要使用 pragma pack, 如果必須使用,也最好僅在需要的地方進(jìn)行設(shè)置。字節(jié)對齊,會減少很多麻煩。 這特別表現(xiàn)在為別人開發(fā)庫文件時(shí),如果一個(gè)庫函數(shù)使用了 struct作為其參數(shù),當(dāng)調(diào)用者與庫文件開發(fā)者使用不同的 pack時(shí),就會造成錯(cuò)誤,而且該類錯(cuò)誤很不好查。這個(gè)參數(shù)對數(shù)據(jù)包網(wǎng)絡(luò)傳輸?shù)葢?yīng)用尤為重要,不是存取速度問題,而是數(shù)據(jù)位的精確定義問題,一般在程序中使用 pragma pack來指定。 int j。 fflush(stdout)。 = 0x4D4E4F50。 fwrite(amp。 = 0x45464748。 int j。 int j。 為了進(jìn)入到函數(shù) display內(nèi)部進(jìn)行調(diào)試 , 輸入命令 step, 即: (gdb) step display (z=5, zptr=0xbffffb44) at :15 15 printf(In display():\n)。 (gdb) next In main(): 8 printf( x is %d and is stored at %p.\n, x, amp。 上述信息表明 , gdb已經(jīng)開始執(zhí)行可執(zhí)行程序 , 目前程序運(yùn)行到 程序中 main()函數(shù)的第五行處停止 , 并且顯示出即將要執(zhí)行的第五行語句 。在 bash提示符下,鍵入命令 :gdb example1, 啟動(dòng)了對可執(zhí)行文件example1 的調(diào)試,在屏幕上會出現(xiàn)下面的信息: [nieuClinux nie]$ gdb example1 GNU gdb Red Hat Linux () (MI_OUT) Copyright 2021 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are wele to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as i386redhatlinux... (gdb) 最后一行 (gdb)就是進(jìn)入到 gdb調(diào)試中的提示符,此時(shí)可以在提示符下輸入任何想鍵入的命令。z)。 display(x, xptr)。 printf(In main():\n)。 源程序名為 , 代碼如下: /******************************************************* * Institute of Automation, Chinese Academy of Sciences * File Name: * Description: introduce how to use gdb * Author: Xueyuan Nie * Date: *******************************************************/ include static void display(int i, int *ptr)。 continue命令是繼續(xù)運(yùn)行程序 , 直到遇到下一個(gè)斷點(diǎn)或程序結(jié)束 。 (gdb) 當(dāng)想將某個(gè)斷點(diǎn)除去,可以在 gdb提示符下輸入命令: delete N, 這里 N表示第幾個(gè)中斷,第一個(gè)設(shè)置的中斷序號為 1,第二個(gè)設(shè)置的序號為 2,依次類推。 就在上一小節(jié)中所舉 makefile例子來說 ,就是鍵入 gdb tune1, 則在屏幕上會出現(xiàn) : [nieuClinux mysrc]$ gdb tune1 GNU gdb Red Hat Linux () (MI_OUT) Copyright 2
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1