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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言必備知識頭文件包含

CHANBAEK ? 來源:小李的創(chuàng)客實(shí)驗(yàn)室 ? 作者: 初出茅廬的小李 ? 2023-12-01 18:20 ? 次閱讀

頭文件包含

頭文件在C語言中是非常重要的組成部分。

  1. 系統(tǒng)級頭文件和自定義頭文件:
    • 是用于包含系統(tǒng)級頭文件,這些頭文件通常是C標(biāo)準(zhǔn)庫或者其他系統(tǒng)提供的庫的頭文件,例如 stdio.hstring.hmath.h 等。
    • "xxx.h" 是用于包含自定義頭文件,這些頭文件通常是你自己或者團(tuán)隊(duì)編寫的,用于組織和聲明你的程序中的函數(shù)、變量、宏等。
  2. 預(yù)處理階段的替換:
    在預(yù)處理階段,#include 指令會將指定的頭文件內(nèi)容原樣替換到包含它的源文件中。這樣,在編譯階段時就可以知道函數(shù)的聲明,使得調(diào)用函數(shù)時不會出現(xiàn)未聲明的情況。
  3. 一個完整的C代碼的組織:
    • xxx.c 源文件包含了函數(shù)的定義和調(diào)用,實(shí)現(xiàn)了具體的功能。
    • xxx.h 頭文件包含了對應(yīng) xxx.c 中函數(shù)的聲明,起到了接口的作用,使得其他文件在調(diào)用這些函數(shù)時能夠正確地使用。
  4. 頭文件保護(hù)(Include Guards): 為了防止頭文件被重復(fù)包含導(dǎo)致的重定義問題,通常在頭文件的開頭和結(jié)尾加入預(yù)處理指令,例如:
#ifndef XXX_H
#define XXX_H

// 內(nèi)容

#endif // XXX_H

這樣可以確保頭文件只被包含一次。

  1. 命名規(guī)范: 通常頭文件的命名使用全小寫,可以包含下劃線,以反映與源文件的關(guān)系。例如,如果有一個源文件 led.c,那么對應(yīng)的頭文件可能是 led.h

整體來說,頭文件的正確使用有助于代碼的模塊化、可維護(hù)性和可讀性。

單片機(jī)中l(wèi)ed.c

#include "led.h"//私有庫
#include "stdio.h"

//.c寫函數(shù)的
//無參無返的函數(shù)
//函數(shù)名:LED_Config //入口地址
//LED1- >PC4 低電平點(diǎn)亮
//LED2- >PC5 低電平點(diǎn)亮
//LED3- >PC6 低電平點(diǎn)亮
//LED4- >PC7 低電平點(diǎn)亮

void LED_Config(void)
{
	#if (REG_CODE)
	
	RCC- >AHB1ENR |= 1< 2;      //GPIOC的時鐘開關(guān)

	GPIOC- >MODER &= ~(3< 2*4);//把89位清00 PC4
	GPIOC- >MODER |=  (1< 2*4);//只是把第89位置01
	
	GPIOC- >MODER &= ~(3< 2*5);//把10 11位清00 PC5
	GPIOC- >MODER |=  (1< 2*5);//只是把第89位置01
	
	GPIOC- >MODER &= ~(3< 2*6);//把11 12位清00 PC6
	GPIOC- >MODER |=  (1< 2*6);//只是把第89位置01
	
	GPIOC- >MODER &= ~(3< 2*7);//把89位清00  PC7
	GPIOC- >MODER |=  (1< 2*7);//只是把第89位置01
	
	GPIOC- >OTYPER &= ~(1< 4); //推挽模式//0xFFFF FFEF 
	GPIOC- >OTYPER &= ~(1< 5);
	GPIOC- >OTYPER &= ~(1< 6);
	GPIOC- >OTYPER &= ~(1< 7);
	
	
	//假設(shè)輸出狀態(tài) 燈的開關(guān)
	GPIOC- >ODR |=  (1< 4)| (1< 5)|(1< 6) |(1< 7);  //默認(rèn)全關(guān)
	printf("寄存器代碼...rn");
	#else
	printf("LED庫函數(shù)代碼...rn");
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
	
        GPIO_InitTypeDef  GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Mode   = GPIO_Mode_OUT;
	GPIO_InitStruct.GPIO_OType  = GPIO_OType_PP;
	GPIO_InitStruct.GPIO_Pin    = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
	GPIO_InitStruct.GPIO_PuPd   = GPIO_PuPd_NOPULL;
	GPIO_InitStruct.GPIO_Speed  = GPIO_High_Speed;
	
	GPIO_Init(GPIOB,&GPIO_InitStruct);
	
	
	#endif
	
}

//開燈代碼
void LED1_On(void)
{
	GPIOC- >ODR &= ~(1< 4);
}
//關(guān)燈代碼
void LED1_Off(void)
{
	GPIOC- >ODR |= (1< 4);
}
//閃燈代碼
void LED1_Tog(void)
{
	GPIOC- >ODR ^= (1< 4);
}

單片機(jī)中l(wèi)ed.h

#ifndef _LED_H_
#define _LED_H_

//.h 聲明函數(shù)
#include "stm32f4xx.h"//公共的庫

//函數(shù)指針:指向函數(shù)的指針變量 變量被賦的值就是LED_Config
void LED_Config(void);//
void LED1_On(void);
void LED1_Off(void);
void LED1_Tog(void);

#endif

至此,頭文件包含相關(guān)內(nèi)容就介紹完了

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7623

    瀏覽量

    139374
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4361

    瀏覽量

    63581
  • C代碼
    +關(guān)注

    關(guān)注

    1

    文章

    90

    瀏覽量

    14578
  • 頭文件
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    9979
  • 源文件
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    4700
收藏 人收藏

    評論

    相關(guān)推薦

    【Makefile】C文件包含頭文件修改,但不重新編譯?

    【Linux + Makefile】Makefile的高階用法:解決C文件包含頭文件修改了,但C文件
    的頭像 發(fā)表于 09-08 08:53 ?5819次閱讀
    【Makefile】<b class='flag-5'>C</b><b class='flag-5'>文件</b><b class='flag-5'>包含</b>的<b class='flag-5'>頭文件</b>修改,但不重新編譯?

    你應(yīng)該搞懂的 C 語言頭文件路徑問題

    前段時間在寫 Linux 專欄的過程中,忽然想到一個問題 :C語言頭文件路徑,因?yàn)樵贕CC環(huán)境下面,可以很直觀的了解到程序?qū)?b class='flag-5'>頭文件的查找位置,但是對于使用集成開發(fā)環(huán)境 KEIL 或者
    的頭像 發(fā)表于 06-14 11:41 ?5658次閱讀
    你應(yīng)該搞懂的 <b class='flag-5'>C</b> <b class='flag-5'>語言</b><b class='flag-5'>頭文件</b>路徑問題

    c51單片機(jī)必備c語言知識

    c51單片機(jī)必備c語言知識
    發(fā)表于 01-05 22:51

    VxWorks BSP框架源代碼包含頭文件和驅(qū)動

    VxWorks BSP框架源代碼包含頭文件和驅(qū)動
    發(fā)表于 03-26 15:58 ?114次下載

    F28035實(shí)現(xiàn)雙電機(jī)控制的程序,包含C文件、關(guān)鍵頭文件和CMD

    F28035實(shí)現(xiàn)雙電機(jī)控制的程序,包含C文件、關(guān)鍵頭文件和CMD文件
    發(fā)表于 11-02 10:57 ?40次下載

    單片機(jī)C語言頭文件

    介紹有關(guān)于單片機(jī)C51編程時候有關(guān)頭文件的相關(guān)知識,自己整理,歡迎指正!
    發(fā)表于 12-10 15:56 ?12次下載

    如何在C++代碼中使用C頭文件

    如何在C++代碼中使用C頭文件。從C++調(diào)用C頭文件之前,C
    發(fā)表于 10-19 09:24 ?3次下載

    C語言中程序員編寫的頭文件和編譯器自帶的頭文件

    #include 指令會指示 C 預(yù)處理器瀏覽指定的文件作為輸入。預(yù)處理器的輸出包含了已經(jīng)生成的輸出,被引用文件生成的輸出以及 #include 指令之后的文本輸出。例如,如果您
    的頭像 發(fā)表于 11-12 14:55 ?8006次閱讀

    C語言頭文件是做什么的

    c語言程序代碼文件擴(kuò)展名只能是.c或者.h,換句話說,c語言程序代碼只能在擴(kuò)展名為.
    的頭像 發(fā)表于 02-13 15:29 ?9597次閱讀

    C語言頭文件組織作用與包含原則詳解

    說明 本文假定讀者已具備基本的C編譯知識。 如非特殊說明,文中源文件指 * .c文件頭文件
    的頭像 發(fā)表于 11-12 17:49 ?3027次閱讀

    C語言頭文件組織與包含原則

    說明本文假定讀者已具備基本的C編譯知識。 如非特殊說明,文中“源文件”指 * .c文件,“頭文件
    的頭像 發(fā)表于 11-14 11:31 ?3670次閱讀

    C語言中頭文件包含里的那些事

    就是編碼格式的規(guī)范化處理) 曾以為,一個.c文件對應(yīng)一個.h文件,.c文件包含它自身的.h
    的頭像 發(fā)表于 03-25 13:57 ?2501次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中頭文件</b><b class='flag-5'>包含</b>里的那些事

    C 語言頭文件路徑位置問題

    前言 前段時間在寫 Linux 專欄的過程中,忽然想到一個問題 :C語言頭文件路徑,因?yàn)樵贕CC環(huán)境下面,可以很直觀的了解到程序?qū)?b class='flag-5'>頭文件的查找位置,但是對于使用集成開發(fā)環(huán)境 KEIL
    的頭像 發(fā)表于 06-22 10:05 ?6639次閱讀
    <b class='flag-5'>C</b> <b class='flag-5'>語言</b>的<b class='flag-5'>頭文件</b>路徑位置問題

    C語言編程必備知識合集

    電子發(fā)燒友網(wǎng)站提供《C語言編程必備知識合集.zip》資料免費(fèi)下載
    發(fā)表于 11-21 09:34 ?0次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>編程<b class='flag-5'>必備</b><b class='flag-5'>知識</b>合集

    C語言中的頭文件能不能重復(fù)包含

    C語言中的頭文件能不能重復(fù)包含? 比如代碼寫成這樣,stdio.h 連續(xù)包含了兩次。 #include #include int main(
    的頭像 發(fā)表于 11-26 17:19 ?405次閱讀
    主站蜘蛛池模板: 亚洲第二页 | 人人看人人鲁狠狠高清 | 青草网址 | 黄黄网址| 亚洲怡红院在线 | 男女交性特一级 | 久久精品国产免费观看99 | 色五月视频| 欧美激情αv一区二区三区 欧美激情第一欧美在线 | 久久99爰这里有精品国产 | 色网站免费在线观看 | 久久国产成人精品国产成人亚洲 | 免费公开视频人人人人人人人 | 天天插天天操天天射 | 欧美色惰aⅴ | 在线观看a网站 | 天堂网www | 国产真实野战在线视频 | 五月天狠狠操 | 欧美成人一区二区三区在线视频 | 天堂网www在线 | 久久草在线视频播放 | 又粗又长又色又爽视频 | 诱人的老师bd高清日本在线观看 | 国产69久久精品成人看 | 亚洲欧美日韩动漫 | 四虎8848精品永久在线观看 | 欧美高清milf在线播放 | 免费看污黄视频软件 | 午夜美女久久久久爽久久 | 午夜影院免费 | 狠狠干激情 | 亚洲精品系列 | 色婷婷综合在线视频最新 | 欧美午夜精品久久久久久黑人 | 四虎国产精品成人永久免费影视 | 亚洲国产成人久久午夜 | 加勒比一本大道香蕉在线视频 | 中文字幕在线一区二区三区 | 中国一级特黄aa毛片大片 | 视频在线视频免费观看 |