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

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

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

3天內不再提示

stdio.h實現了printf函數?

學益得智能硬件 ? 來源:學益得智能硬件 ? 2024-12-18 10:28 ? 次閱讀

我們平時包含的 stdio.h 頭文件,里面是不是實現了 printf 函數?

為什么會有這個疑問?因為每次使用 printf,就得包含 stdio.h ,這就導致很多同學誤以為,stdio.h 里面實現了 printf。

實際上并不是,這里就涉及了頭文件和庫的區別。

頭文件一般存放大家都要用的東西,比如函數的聲明,結構體的聲明,命名新的類型等等。

stdio.h 頭文件,里面也只是聲明了一下 printf 函數,作用就是告訴編譯器,printf 是個函數,編譯的時候不要報錯。

至于 printf 的實現,在一個名字類似于 libc.so 這樣的文件中。

.so 是 Linux 下的動態庫文件,里面存放了各個函數的實現,不過他也屬于二進制文件,想要看 printf 的具體實現,還得去其他地方找源碼。

所以,千萬不要再以為,包含 stdio.h 是因為里面實現了 printf。

那頭文件里面能不能實現函數?反正頭文件也只是在預處理的時候展開,想要在里面寫什么都行。

不過會有這樣的情況發生。

比如 1.h 實現了函數 test,1.c 和 2.c 都包含了 1.h,編譯的時候,就會提示函數 test 重復定義。

還有一個類似的問題,頭文件里面能不能定義變量,這個問題大家怎么看,如果你也遇到過這樣的情況,歡迎在評論區交流。

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

    關注

    3

    文章

    4331

    瀏覽量

    62618
  • Stdio
    +關注

    關注

    0

    文章

    2

    瀏覽量

    7515
  • Printf
    +關注

    關注

    0

    文章

    83

    瀏覽量

    13660

原文標題:stdio.h 實現了 printf 函數?

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【敏矽微ME32G070開發板免費體驗】使用JLINK的RTT功能實現類似串口printf打印功能

    收到這款敏矽微ME32G070開發板后,我發現我的這款板子是壞的,串口打印部分不能打印,我先燒錄了demo文件夾里的串口打印printf函數 打開串口助手 卻沒有任何數據,我用萬用表測量
    發表于 12-15 20:30

    51單片機中為什么很少出現printf的身影

    流,他能跟外部交互的,只有串口。 51單片機用的開發語言是C語言,雖然跟標準C有點區別,但是 printf 函數還是可以用的,只要修改 printf 的輸
    的頭像 發表于 12-03 10:46 ?295次閱讀
    51單片機中為什么很少出現<b class='flag-5'>printf</b>的身影

    C語言中的頭文件能不能重復包含

    C語言中的頭文件能不能重復包含? 比如代碼寫成這樣,stdio.h 連續包含了兩次。 #include #include int main(){ printf("helloworld
    的頭像 發表于 11-26 17:19 ?162次閱讀

    C語言為什么不需要包含stdio.h

    我們在寫單片機程序的時候,第一行都會包含 reg51.h,于是就有同學提出了疑問,為什么不需要包含 stdio.h?
    的頭像 發表于 10-29 15:48 ?340次閱讀

    重定向fputc及putchar函數,但printf沒有輸出,為什么?

    重定向fputc及putchar函數,但printf沒有輸出 刪除了drivers/drv_uart.c drv_uart.h 刪除了文件rt-thread\\components
    發表于 07-18 07:44

    在全志H616核桃派開發板上進行基于WiringPi的IO控制

    的編譯和運行方法,先在核桃派當前目錄新建一個test.c文件,輸入下面內容(該代碼實現在終端打印“Hello WalnutPi信息”): #include<stdio.h>
    發表于 05-17 09:38

    Saturday只是一個枚舉元素啊,而today是一個枚舉變量,為什么他倆所占的內存空間大小是一樣的? [

    #include \"stdio.h\" enum Season { spring, summer=100, fall=96, winter ,winter1
    發表于 05-10 07:07

    STM32CubeIDE中打印重定向報錯怎么解決?

    HAL_UART_Transmit( huart1 , (uint8_t *) ch, 1, 0xFFFF);報錯 printf重定向 報錯../Core/Src/main.c:42:21: error: \'huart1\' undeclared 已添加stdio.h
    發表于 04-03 07:33

    STM32的疑難雜癥之一:Printf的使用

    一、Printf簡介Printf是一個標準的C庫API,用來打印信息顯示的。Printf的底層輸出調用,在windows環境下是fputc函數,在GNUC環境下是__io_putcha
    的頭像 發表于 04-02 08:09 ?3711次閱讀
    STM32的疑難雜癥之一:<b class='flag-5'>Printf</b>的使用

    使用CubeMX生成STM32F103C8T6的DMA ADC代碼為什么無效?

    */ #include \"main.h\" #include \"stdio.h\" uint32_t ADC_Value=0; int main(void
    發表于 03-29 06:08

    求助,關于STM32CUBEIDE1.5.0使用Printf函數的疑問

    找的 #include \"stdio.h\" #ifdef __GNUC__ /* With GCC, small printf (option LD Linker-&
    發表于 03-22 06:47

    TLE9854 printf函數無法輸出是怎么回事?

    TLE9854 的串口能正常輸出,現在想配置成printf,使能STDOUT和STDIN,選擇MicroLIB,可是沒法輸出,懷疑是程序里這個函數沒被調用,這個
    發表于 02-02 16:05

    如何使用STM模塊測量函數的執行時間?

    計時器對其進行測量? 另外,要在執行期間獲取這些值,是必須通過調試還是可以通過 printf 打印出來? 我試過 printf 但無法打印出值(我已經包含了 stdio.h 圖書館)
    發表于 01-22 06:38

    M451在Keil中,printf函數打印輸出到哪里?

    在Keil中,printf函數,打印輸出到哪里? 我的項目中沒有使用UART0,而是使用了UART3
    發表于 01-17 07:55

    請問NuMaker Uni怎么使用printf函數?

    NuMakerUni怎么使用printf函數?使用后串口調試助手上沒有反應,求解。
    發表于 01-16 08:21
    主站蜘蛛池模板: 免费在线黄视频| 丁香九月婷婷| 夜夜cao| 1024国产手机视频基地| 在线免费观看一级毛片| 七月色婷婷| 午夜视频免费看| xxx日本69| 色吧在线视频| 一级特黄aaa大片免费看| 免费播放视频| 色综合精品| 又大又粗又爽黄毛片| 啪啪网站视频| 色偷偷人人| 一级一黄在线观看视频免费| 欧美最猛性xxxx高清| 五月开心六月伊人色婷婷| 国产福利网站| 欧美专区在线播放| 国产重口老太和小伙乱视频| av网站免费线看| 激情丁香小说| tdg58在线观看| 色婷婷777| 天天天天天天干| 韩国韩宝贝2020vip福利视频| 蕾丝视频在线播放| 国产精品久久久久久福利| 午夜片 飘香香影院| 在线观看天堂| 免费看的黄视频| 国产一区二区三区影院| 边摸边吃奶边做视频叫床韩剧| 五月激情综合| 午夜福利123| 曰本毛片| 又黑又长黑人欧美三级| 朋友夫妇和交换性bd高清| 精品伊人久久大香线蕉网站| 澳门色视频|