99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

程序小白
認證:優質創作者
所在專題目錄 查看專題
不一樣的宏定義(C語言小知識)
函數的調用和回調(OS小知識)
C語言指針數組(C語言小知識)
C語言中函數調用與堆棧詳解
被C標準和編譯器選項給狠狠的上了一課
extern "C" 的意義?——盤一下GCC!
作者動態 更多
基于stm32采用PWM驅動伺服控制器學習筆記
05-13 15:25
基于STM32驅動TM1638學習筆記——軟件篇
04-19 12:42
基于TM1638驅動8位數碼管設計分享
02-24 11:26
RT-Thread驅動之路: Studio創建FAL分區⑤
01-02 08:30
RT-Thread驅動之路: Studio 掛載通用SPI flash④
2024-12-23 13:41

被C標準和編譯器選項給狠狠的上了一課

  案發經過:

  最近更新了的QPC6.9.1A的源庫,和往常一樣掏出了大佬已經寫好的demo,根據平臺類型大佬給一分為三:qk(搶占式)、qv(合作式)、win32-gui(Windows平臺)

  果斷選擇最簡單的qv開擼,然后選擇編譯器類型,ARM-CM的內核還能選編譯器,不是選開發環境嗎?IAR或者KEIL,是的沒錯,其實他們的本質就是編譯器不同,除了開發環境以外,你可以選擇一款編譯器直接開擼,例如GNU。

  這里我選擇armclang,那是什么鬼?它是一個編譯器,是KEIL使用的編譯器,任何一款開發環境都需要編譯器的支持,ARM天下來來回回都是它們在辛苦的工作。

  第一次編譯就被來了個下馬威:TWO ERROR!

  找到這個定義的位置,看看什么情況,單從打印信息來看是講找不到定義。

  _delay的定義是與編譯器相關的,可是編譯器是內置的,應該不需要自己額外添加宏去打開編譯器。關于編譯器是什么樣的,他也沒有具體說清楚。IDE隱藏了太多的細節。

   繼續分析我們的錯誤,過程曲折,最終找到,是在C語言標準的問題上:

  C語言標準還是挺多的,C90 、C99 、C11 還有GNU版本。看樣子還是挺多的,我選的default,默認是GNU11版本。編譯錯誤消失了,但是問題不能這么放過,百度了一下關于C的標準,新標準兼容了很多新的東西,所以建議大家以后在配置工程時選用最新的C標準。

  另外關于GNU是什么鬼?GNU是編譯器,它也有很多能夠影響編譯規則的內容。

  國際標準組織發布c11后,gnu為自己的編譯器發布兩種標準gnu11和c11。

  gnu11:帶gnu c擴展的c11標準,如果你的代碼包含了typeof,__attribute__等等gnu的擴展,就必須用這個。

  c11:這個就是純c11的標準,不帶gnu擴展。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 3
收藏 3
關注 151
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 国产一区免费在线观看 | 亚洲精品一二三四五区 | 国产三级免费观看 | 精品国产一区二区三区久久久久 | 乱人伦人妻中文字幕无码久久网 | 性深夜免费福利视频 | 多人伦精品一区二区三区视频 | 亚洲综合图片区色 | 日韩成人在线免费视频 | 中文字幕av一区二区三区 | 久久成人免费精品网站 | 久久久一区二区三区 | 99精品黄色 | www.免费av | 色很久综合 | 视频自拍一区 | 热久久久久香蕉无品码 | 狠狠色婷婷久久一区二区三区91 | 情侣偷拍久久 | 成人网免费在线观看 | 人人摸人人操 | 少妇人妻偷人精品无码视频 | 国产一区视频在线 | 精品国产综合乱码久久久久久 | 日韩精品区一区二区三vr | 日本在线播放视频 | 直接看片的av网址在线看片 | 欧美日韩国产免费一区二区三区 | 久久久亚洲精品一区二区三区 | 免费看的黄色av网站 | 国产精品香蕉在线观看网 | 亚洲人成a | 丝袜无码一区二区三区 | 色老板精品视频在线观看 | 日本一区二区福利视频 | 欧美成人高清ww | 我的初次内射欧美成人影视 | 一本大道无码人妻精品专区 | 国产欧美一区二区三区视频 | 亚洲精品网站免费 | 巨大欧美黑人XXXXBBBB |