色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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語言代碼。 到此你是否就懂了黑客破解軟件的原理了? 是否明白程序加密的重要性了? 是否懂了那些抄芯片的人工作內容是啥了嗎? 所以現在是否恍然大悟了呢? 總之懂得單片機底層原理對我們理解程序執行還是很重要的,當然這也是編譯原理的基礎。

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

    關注

    6050

    文章

    44687

    瀏覽量

    641186
  • C語言
    +關注

    關注

    180

    文章

    7618

    瀏覽量

    138661
  • 文件
    +關注

    關注

    1

    文章

    573

    瀏覽量

    24928
  • keil
    +關注

    關注

    69

    文章

    1214

    瀏覽量

    167732
  • 編譯器
    +關注

    關注

    1

    文章

    1645

    瀏覽量

    49463
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    簡單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-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 ?878次閱讀

    簡單聊聊C語言執行步驟

    我們初學C語言時老師肯定講過C語言執行過程:預處理——編譯——匯編——鏈接。
    發表于 07-31 11:28 ?1456次閱讀
    <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 ?2960次閱讀

    oracle執行sql查詢語句的步驟是什么

    。以下是對每個步驟的詳盡、詳實、細致的解釋。 編寫SQL語句: SQL(結構化查詢語言)是一種用于與數據庫進行通信的標準語言。在使用Oracle執行SQL查詢之前,首先需要編寫SQL語
    的頭像 發表于 12-06 10:49 ?1115次閱讀
    主站蜘蛛池模板: 深夜草逼逼 | 日本女人水多 | 亚洲午夜精品aaa级久久久久 | 果冻传媒在线观看视频 | 一本道久在线综合色色 | 男人和女人一起愁愁愁很痛 | 亚洲精品AV无码喷奶水糖心 | 东京热 百度影音 | A国产一区二区免费入口 | 久久国产36精品色熟妇 | 儿子日母亲B好爽 | 国产三级精品三级在线观看 | 免费网站在线观看国产v片 免费完整版观看 | 裸妇厨房风流在线观看 | 5G在线观看免费年龄确认18 | jiucao在线观看精品 | 国产欧美无码亚洲 | 狠狠干女人 | 扒开美女的内衣亲吻漫画 | 小寡妇好紧进去了好大看视频 | 无套内射纹身女视频 | 青柠在线观看免费高清电视剧荣耀 | 新妺妺窝人体色WWW 新金梅瓶玉蒲团性奴3 | 中俄两军在日本海等上空战略巡航 | 超碰免费碰免费视频 | 美美哒高清在线播放8 | 手机在线亚洲日韩国产 | 内射气质御姐视频在线播放 | 一起洗澡的老师免费播放 | 麻豆国产人妻精品无码AV | 国产午夜人做人免费视频中文 | 午夜一个人在线观看完整版 | 97视频免费在线 | 美女内射视频WWW网站午夜 | 国内久久久久影院精品 | 秘密教学93话恩爱久等了免费 | 99re8热视频这在线视频 | 国产精品JIZZ视频免费 | 不良网站进入窗口软件下载免费 | 欧美老少欢杂交另类 | 欧美精品专区免费观看 |