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

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

    文章

    4327

    瀏覽量

    62569
  • Stdio
    +關注

    關注

    0

    文章

    2

    瀏覽量

    7513
  • Printf
    +關注

    關注

    0

    文章

    83

    瀏覽量

    13649

原文標題: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 ?258次閱讀
    51單片機中為什么很少出現<b class='flag-5'>printf</b>的身影

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

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

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

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

    重定向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 ?3611次閱讀
    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
    主站蜘蛛池模板: 高h喷水荡肉爽文总攻| 国语对白嫖老妇胖老太| 久久久国产精品免费A片蜜芽广 | 久9视频这里只有精品123| 日本2021免费一二三四区| 一个人在线观看免费中文www | 久久中文骚妇内射| 香港论理午夜电影网| vivoe另类| 开心成人社区| 亚洲精品m在线观看| 高挑人妻无奈张开腿| 免费国产久久啪在线| 夜色女人香| 国产三级视频在线| 乳色吐息在线观看全集免费观看| 19十主播福利视频| 久久国产精品人妻中文| 亚洲VA欧美VA天堂V国产综合| 东热rq大乱交| 欧美性猛交xxxxxxxx软件| 18禁在线无遮挡羞羞漫画| 极品美女穴| 亚洲精品AV中文字幕在线| 国产九色在线| 熟女久久久久久久久久久| 超级碰碰青草久热国产| 暖暖视频免费观看高清完整版 | 受喷汁红肿抽搐磨NP双性| ppypp日本欧美一区二区| 久久婷婷丁香五月色综合啪免费| 亚洲精品久久久一区| 国产久久热99视频| 受被攻做到腿发颤高h文| 高清无码中文字幕影片| 色婷婷亚洲五月| 俄罗斯老妇女BBXX| 肉肉的各种姿势高H细文| 芳草地社区在线视频| 日韩精品亚洲专区在线影院| YY600800新视觉理论私人|