在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡(jiǎn)單聊聊C語(yǔ)言執(zhí)行步驟

CHANBAEK ? 來(lái)源:落木青云 ? 作者:落木青云 ? 2023-03-22 16:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡(jiǎn)單聊聊C語(yǔ)言執(zhí)行步驟

前面寫的那篇關(guān)于了解單片機(jī)底層邏輯文章因?yàn)樯婕暗健吧願(yuàn)W”匯編語(yǔ)言所以看的人沒(méi)多少,理解了的朋友估計(jì)就更少了吧,最后剩下兩個(gè)問(wèn)題也一直沒(méi)寫,今天就做個(gè)了結(jié)吧。 我們初學(xué)C語(yǔ)言時(shí)老師肯定講過(guò)C語(yǔ)言的執(zhí)行過(guò)程:預(yù)處理——編譯——匯編——鏈接。 就這四個(gè)步驟,說(shuō)簡(jiǎn)單吧,應(yīng)該就是賊簡(jiǎn)單的; 說(shuō)復(fù)雜呢,可以寫一本書,幸好已經(jīng)有前輩寫了關(guān)于這一部分內(nèi)容的經(jīng)典巨著了。 所以今天又來(lái)推薦去讀書的,這本書被稱為龍書,叫做《編譯原理》,值得編程人員去讀,特別是計(jì)算機(jī)專業(yè)的研究生更值得一看了。 我寫的內(nèi)容絕對(duì)不會(huì)比書中寫得詳細(xì)具體,所以今天這里就簡(jiǎn)單說(shuō)吧,用一張圖說(shuō)明今天所有內(nèi)容:

wKgaomQauEGAUVZoAAB3xuBWswQ923.jpg


C語(yǔ)言程序執(zhí)行流程圖

wKgaomQauEGAbEffAABA_x-Fx0o326.jpg

英文原圖

上圖已經(jīng)很清楚的說(shuō)明了C語(yǔ)言轉(zhuǎn)化匯編的方法以及匯編轉(zhuǎn)機(jī)器語(yǔ)言的方法了,所以問(wèn)題可算是over了。

是否更加云里霧里

圖已看,問(wèn)題關(guān)系也說(shuō)明了,但更迷糊了不? 其實(shí)隨便一個(gè)C語(yǔ)言編譯器都能幫我們理解這個(gè)過(guò)程。 因?yàn)橹灰幾gC語(yǔ)言就不得不具備圖中的這些工具,不管是你用的是VC6.0,還是VS,或是GCC,甚至是Keil

因?yàn)槲覀冞@里是講單片機(jī)所以接下來(lái)我們就以keil為例做個(gè)說(shuō)明,先上個(gè)圖:

wKgZomQauEGAdloGAAHVIicdki8510.jpg

我們編譯通過(guò)的程序編譯器軟件會(huì)自動(dòng)生成對(duì)應(yīng)的文件,甚至在這個(gè)生成的文件中機(jī)器代碼都已經(jīng)給到了我們,并且哪句C語(yǔ)言代碼對(duì)應(yīng)的匯編指令都一一對(duì)應(yīng)了。 所以通過(guò)這個(gè)文件我們就可以很清楚的知道C語(yǔ)言與匯編語(yǔ)言的對(duì)應(yīng)關(guān)系,匯編語(yǔ)言與機(jī)器語(yǔ)言的對(duì)應(yīng)關(guān)系。 通過(guò)分析這個(gè)文件就能幫我們更好的理解單片機(jī)的執(zhí)行過(guò)程,也有助于我們進(jìn)一步理解匯編語(yǔ)言。 到最后我們的程序成功編譯之后我們通常都是把HEX文件下載到單片機(jī)中運(yùn)行,那hex文件又是怎么回事呢?

HEX文件解讀

在這里hex文件就是我們程序編譯出來(lái)的目標(biāo)文件,它存儲(chǔ)的是一些按一定規(guī)則組合起來(lái)的機(jī)器代碼。 就像最原始的機(jī)器代碼是以紙為媒介存儲(chǔ)一樣,hex文件也相當(dāng)于機(jī)器代碼的一種存儲(chǔ)媒介,當(dāng)我們要將文件下載到單片機(jī)時(shí),下載軟件會(huì)對(duì)其進(jìn)行解析,最后將其存儲(chǔ)的機(jī)器代碼裝載到單片機(jī)的flash中。 當(dāng)然HEX文件不止一種規(guī)則,不過(guò)我們一般用到的規(guī)則都是intel公司的,其他的規(guī)則可自行了解。 下面以intel公司的hex文件規(guī)則進(jìn)行說(shuō)明。

舉例一段HEX內(nèi)容說(shuō)明:

:0E00030075801175902275A03375B04480FE93
:030000000020011EA
:0C001100787FE4F6D8FD7581070200033B
:00000001FF

解釋:冒號(hào)為每行數(shù)據(jù)的開始符號(hào); 藍(lán)色表示此行數(shù)據(jù)長(zhǎng)度,十六進(jìn)制,如0E就是14; 紅色是數(shù)據(jù)存放的地址,如0003; 粉紅色是表示數(shù)據(jù)類型,00表示數(shù)據(jù)記錄,01表示文件結(jié)束,02表示擴(kuò)展段地址記錄,03表示開始段地址記錄,04表示擴(kuò)展線性地址記錄,05表示開始線性地址記錄; 后面緊跟著的是N位數(shù)據(jù),長(zhǎng)度由藍(lán)色的長(zhǎng)度位決定; 天藍(lán)色為校驗(yàn)位。

wKgZomQauEGAfHS5AAAcU-chaPg679.jpg

對(duì)比這張圖片內(nèi)容和上一張keil軟件生成的文件圖片你發(fā)現(xiàn)了說(shuō)明信息?

我想通過(guò)今天的內(nèi)容你心中應(yīng)該對(duì)單片機(jī)代碼執(zhí)行過(guò)程有一定了解了吧? 如果還是不懂,就多去調(diào)試一下代碼吧,調(diào)多了你自然而然就懂了。 另外,通過(guò)機(jī)械代碼我們也可以推導(dǎo)出匯編程序,進(jìn)而可以編出C語(yǔ)言代碼。 到此你是否就懂了黑客破解軟件的原理了? 是否明白程序加密的重要性了? 是否懂了那些抄芯片的人工作內(nèi)容是啥了嗎? 所以現(xiàn)在是否恍然大悟了呢? 總之懂得單片機(jī)底層原理對(duì)我們理解程序執(zhí)行還是很重要的,當(dāng)然這也是編譯原理的基礎(chǔ)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44973

    瀏覽量

    649855
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141442
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    579

    瀏覽量

    25342
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1223

    瀏覽量

    169492
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1661

    瀏覽量

    50152
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C語(yǔ)言變成可執(zhí)行文件的四大步驟

    C語(yǔ)言變成最終的可執(zhí)行文件,需要經(jīng)過(guò)四步。
    發(fā)表于 10-18 10:37 ?5913次閱讀

    聊聊Rust與C語(yǔ)言交互的具體步驟

    rust FFI 是rust與其他語(yǔ)言互調(diào)的橋梁,通過(guò)FFI rust 可以有效繼承 C 語(yǔ)言的歷史資產(chǎn)。本期通過(guò)幾個(gè)例子來(lái)聊聊rust與 C
    發(fā)表于 07-06 11:15 ?2078次閱讀

    簡(jiǎn)單C語(yǔ)言

    簡(jiǎn)單C語(yǔ)言簡(jiǎn)單C語(yǔ)言簡(jiǎn)單
    發(fā)表于 07-14 20:12

    C語(yǔ)言概述

    簡(jiǎn)單C語(yǔ)言程序 1.5 運(yùn)行C程序的步驟和方法1.1計(jì)算機(jī)與程序、程序設(shè)計(jì)語(yǔ)言1.1計(jì)算機(jī)與程序、程序設(shè)計(jì)
    發(fā)表于 09-01 06:41

    C語(yǔ)言的編譯步驟

    嵌入式C語(yǔ)言開發(fā)入門——程序編譯計(jì)算機(jī)語(yǔ)言發(fā)展過(guò)程C語(yǔ)言編譯步驟GCC編譯命令程序
    發(fā)表于 12-15 08:21

    C語(yǔ)言簡(jiǎn)單概述

    C語(yǔ)言簡(jiǎn)介C語(yǔ)言簡(jiǎn)介C語(yǔ)言簡(jiǎn)介C
    發(fā)表于 11-20 14:14 ?0次下載

    pid算法原理和C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)

    pid算法原理和C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn),有興趣的可以看看
    發(fā)表于 12-07 18:34 ?9次下載

    單片機(jī)蜂鳴器簡(jiǎn)單發(fā)聲程序【C語(yǔ)言版】

    單片機(jī)蜂鳴器簡(jiǎn)單發(fā)聲程序【C語(yǔ)言版】單片機(jī)蜂鳴器簡(jiǎn)單發(fā)聲程序【C語(yǔ)言版】單片機(jī)蜂鳴器
    發(fā)表于 12-29 13:53 ?0次下載

    C語(yǔ)言教程之簡(jiǎn)單計(jì)算器

    C語(yǔ)言教程之簡(jiǎn)單計(jì)算器,很好的C語(yǔ)言資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-25 09:38 ?0次下載

    簡(jiǎn)單實(shí)用——C語(yǔ)言入門程序練習(xí)

    C語(yǔ)言入門程序練習(xí),簡(jiǎn)單實(shí)用
    發(fā)表于 04-04 10:14 ?31次下載

    設(shè)計(jì)模式:簡(jiǎn)單工廠模式——基于C語(yǔ)言

    設(shè)計(jì)模式:簡(jiǎn)單工廠模式——基于C語(yǔ)言背景 看了劉偉、胡志剛的《C#設(shè)計(jì)模式(第二版)》——清華大學(xué)出版社,利用里面闡述的簡(jiǎn)單工廠模式創(chuàng)造一
    發(fā)表于 01-13 13:45 ?6次下載
    設(shè)計(jì)模式:<b class='flag-5'>簡(jiǎn)單</b>工廠模式——基于<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>

    c語(yǔ)言|簡(jiǎn)單的狀態(tài)機(jī)

    不管做什么或者實(shí)現(xiàn)什么功能,必定會(huì)有實(shí)現(xiàn)需求的步驟簡(jiǎn)單理解就是在某個(gè)狀態(tài)下做某事,這就很符合C語(yǔ)言面向過(guò)程的特點(diǎn),個(gè)人認(rèn)為面向?qū)ο笃鋵?shí)是面向過(guò)程的封裝,封裝的好處自然就是符合人的思維
    的頭像 發(fā)表于 06-14 09:13 ?1070次閱讀

    簡(jiǎn)單聊聊C語(yǔ)言執(zhí)行步驟

    我們初學(xué)C語(yǔ)言時(shí)老師肯定講過(guò)C語(yǔ)言執(zhí)行過(guò)程:預(yù)處理——編譯——匯編——鏈接。
    發(fā)表于 07-31 11:28 ?1762次閱讀
    <b class='flag-5'>簡(jiǎn)單</b><b class='flag-5'>聊聊</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>的<b class='flag-5'>執(zhí)行</b><b class='flag-5'>步驟</b>

    c語(yǔ)言源程序main函數(shù)的位置

    理解C語(yǔ)言程序的執(zhí)行過(guò)程。 C語(yǔ)言程序的執(zhí)行過(guò)程可以簡(jiǎn)單
    的頭像 發(fā)表于 11-24 10:23 ?3542次閱讀

    oracle執(zhí)行sql查詢語(yǔ)句的步驟是什么

    。以下是對(duì)每個(gè)步驟的詳盡、詳實(shí)、細(xì)致的解釋。 編寫SQL語(yǔ)句: SQL(結(jié)構(gòu)化查詢語(yǔ)言)是一種用于與數(shù)據(jù)庫(kù)進(jìn)行通信的標(biāo)準(zhǔn)語(yǔ)言。在使用Oracle執(zhí)行SQL查詢之前,首先需要編寫SQL語(yǔ)
    的頭像 發(fā)表于 12-06 10:49 ?1341次閱讀
    主站蜘蛛池模板: 久久国产免费观看精品 | 亚洲天天做日日做天天看2018 | 亚洲午夜久久久精品影院 | 亚洲最新在线 | 钻石午夜影院 | 亚洲一区二区三区播放在线 | 欧美一欧美一区二三区性 | 操您啦 | 永久免费视频网站在线观看 | 狠狠色丁香婷婷综合欧美 | 亚洲aⅴ久久久噜噜噜噜 | 日本亚洲卡一卡2卡二卡三卡四卡 | 天天干成人网 | 日本精品视频四虎在线观看 | sese亚洲| 8x8x极品国产在线 | 夜夜爽www| 午夜视频福利在线 | 欧美色伊人 | 美女网站黄页 | 成年美女黄网站色大免费视频 | 狠狠色婷婷丁香六月 | 在线视频亚洲色图 | 六月婷婷在线观看 | 狠狠色噜噜噜噜狠狠狠狠狠狠奇米 | 色视频www在线播放国产人成 | 国产成人精品日本亚洲语音1 | xxxxxx性bbbbbb| 中文字幕网资源站永久资源 | 国产精品主播在线 | 日本视频不卡 | 香蕉视频黄色在线观看 | 久久精品亚洲青青草原 | 色网站在线视频 | 欧美一区二区高清 | 欧美黄视频在线观看 | 免费一级欧美片在线观看 | 色多多入口 | 日本69sex护士hd | 成人在线精品 | 不卡一区二区在线观看 |