色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡單聊聊C語言執行步驟

CHANBAEK ? 來源:落木青云 ? 作者:落木青云 ? 2023-03-22 16:14 ? 次閱讀

簡單聊聊C語言執行步驟

前面寫的那篇關于了解單片機底層邏輯文章因為涉及到“深奧”匯編語言所以看的人沒多少,理解了的朋友估計就更少了吧,最后剩下兩個問題也一直沒寫,今天就做個了結吧。 我們初學C語言時老師肯定講過C語言的執行過程:預處理——編譯——匯編——鏈接。 就這四個步驟,說簡單吧,應該就是賊簡單的; 說復雜呢,可以寫一本書,幸好已經有前輩寫了關于這一部分內容的經典巨著了。 所以今天又來推薦去讀書的,這本書被稱為龍書,叫做《編譯原理》,值得編程人員去讀,特別是計算機專業的研究生更值得一看了。 我寫的內容絕對不會比書中寫得詳細具體,所以今天這里就簡單說吧,用一張圖說明今天所有內容:

wKgaomQauEGAUVZoAAB3xuBWswQ923.jpg


C語言程序執行流程圖

wKgaomQauEGAbEffAABA_x-Fx0o326.jpg

英文原圖

上圖已經很清楚的說明了C語言轉化匯編的方法以及匯編轉機器語言的方法了,所以問題可算是over了。

是否更加云里霧里

圖已看,問題關系也說明了,但更迷糊了不? 其實隨便一個C語言編譯器都能幫我們理解這個過程。 因為只要編譯C語言就不得不具備圖中的這些工具,不管是你用的是VC6.0,還是VS,或是GCC,甚至是Keil

因為我們這里是講單片機所以接下來我們就以keil為例做個說明,先上個圖:

wKgZomQauEGAdloGAAHVIicdki8510.jpg

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

HEX文件解讀

在這里hex文件就是我們程序編譯出來的目標文件,它存儲的是一些按一定規則組合起來的機器代碼。 就像最原始的機器代碼是以紙為媒介存儲一樣,hex文件也相當于機器代碼的一種存儲媒介,當我們要將文件下載到單片機時,下載軟件會對其進行解析,最后將其存儲的機器代碼裝載到單片機的flash中。 當然HEX文件不止一種規則,不過我們一般用到的規則都是intel公司的,其他的規則可自行了解。 下面以intel公司的hex文件規則進行說明。

舉例一段HEX內容說明:

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

解釋:冒號為每行數據的開始符號; 藍色表示此行數據長度,十六進制,如0E就是14; 紅色是數據存放的地址,如0003; 粉紅色是表示數據類型,00表示數據記錄,01表示文件結束,02表示擴展段地址記錄,03表示開始段地址記錄,04表示擴展線性地址記錄,05表示開始線性地址記錄; 后面緊跟著的是N位數據,長度由藍色的長度位決定; 天藍色為校驗位。

wKgZomQauEGAfHS5AAAcU-chaPg679.jpg

對比這張圖片內容和上一張keil軟件生成的文件圖片你發現了說明信息

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6039

    文章

    44579

    瀏覽量

    636462
  • C語言
    +關注

    關注

    180

    文章

    7608

    瀏覽量

    137130
  • 文件
    +關注

    關注

    1

    文章

    569

    瀏覽量

    24769
  • keil
    +關注

    關注

    68

    文章

    1213

    瀏覽量

    166983
  • 編譯器
    +關注

    關注

    1

    文章

    1636

    瀏覽量

    49173
收藏 人收藏

    評論

    相關推薦

    C語言變成可執行文件的四大步驟

    C語言變成最終的可執行文件,需要經過四步。
    發表于 10-18 10:37 ?5644次閱讀

    聊聊Rust與C語言交互的具體步驟

    rust FFI 是rust與其他語言互調的橋梁,通過FFI rust 可以有效繼承 C 語言的歷史資產。本期通過幾個例子來聊聊rust與 C
    發表于 07-06 11:15 ?1719次閱讀

    簡單C語言

    簡單C語言簡單C語言簡單
    發表于 07-14 20:12

    C語言概述

    簡單C語言程序 1.5 運行C程序的步驟和方法1.1計算機與程序、程序設計語言1.1計算機與程序、程序設計
    發表于 09-01 06:41

    C語言的編譯步驟

    嵌入式C語言開發入門——程序編譯計算機語言發展過程C語言編譯步驟GCC編譯命令程序
    發表于 12-15 08:21

    C語言簡單概述

    C語言簡介C語言簡介C語言簡介C
    發表于 11-20 14:14 ?0次下載

    pid算法原理和C語言簡單實現

    pid算法原理和C語言簡單實現,有興趣的可以看看
    發表于 12-07 18:34 ?9次下載

    單片機蜂鳴器簡單發聲程序【C語言版】

    單片機蜂鳴器簡單發聲程序【C語言版】單片機蜂鳴器簡單發聲程序【C語言版】單片機蜂鳴器
    發表于 12-29 13:53 ?0次下載

    C語言教程之簡單計算器

    C語言教程之簡單計算器,很好的C語言資料,快來學習吧。
    發表于 04-25 09:38 ?0次下載

    簡單實用——C語言入門程序練習

    C語言入門程序練習,簡單實用
    發表于 04-04 10:14 ?31次下載

    C語言簡單介紹

    C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發。C語言能以簡易的方式編譯、處理低級存儲器。
    發表于 01-02 08:00 ?1次下載

    設計模式:簡單工廠模式——基于C語言

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

    c語言|簡單的狀態機

    不管做什么或者實現什么功能,必定會有實現需求的步驟簡單理解就是在某個狀態下做某事,這就很符合C語言面向過程的特點,個人認為面向對象其實是面向過程的封裝,封裝的好處自然就是符合人的思維
    的頭像 發表于 06-14 09:13 ?768次閱讀

    簡單聊聊C語言執行步驟

    我們初學C語言時老師肯定講過C語言執行過程:預處理——編譯——匯編——鏈接。
    發表于 07-31 11:28 ?1266次閱讀
    <b class='flag-5'>簡單</b><b class='flag-5'>聊聊</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>的<b class='flag-5'>執行</b><b class='flag-5'>步驟</b>

    c語言源程序main函數的位置

    理解C語言程序的執行過程。 C語言程序的執行過程可以簡單
    的頭像 發表于 11-24 10:23 ?2622次閱讀
    主站蜘蛛池模板: 大桥未久在线看| 九九热综合| 女同志videos最新另| AV97最新无码喷水叫床| 日本伦理电影聚| 国产欧美日韩精品a在线观看高清| 亚洲国产日韩欧美视频二区| 久久青青无码AV亚洲黑人| 99re久久热在这里精品| 色美妞论坛| 精品国产90后在线观看| 9797在线看片亚洲精品| 日本浴室日产在线系列| 国产呦精品一区二区三区下载| 伊人久久国产精品| 欧美日韩无套内射另类| 国产露脸无码A区久久| 伊人久久精品午夜| 日本无码免费久久久精品| 国产在线不卡| 99久久免费热在线精品| 无限资源网免费看| 伦理片a在线线2| 国产 亚洲 中文字幕 在线| 亚洲精品国产国语| 欧美派对xxxhdparty| 国产女高清在线看免费观看| 永久免费在线视频| 色婷婷五月综合久久中文字幕| 极品少妇高潮啪啪AV无码| 扒开女生尿口| 一区二区三区无码高清视频| 日韩精品久久久久影院| 久草精品视频| 国产传媒18精品A片在线观看| 中文字幕在线观看亚洲日韩| 天堂网久久| 欧美兽交YOYO| 国产一区二区青青精品久久| 成人女人A级毛片免费软件| 国产在线观看www|