欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
討論一個編程習(xí)慣的問題(關(guān)于宏定義)
[打印本頁]
作者:
Y_G_G
時間:
2022-8-31 00:42
標(biāo)題:
討論一個編程習(xí)慣的問題(關(guān)于宏定義)
C語言也學(xué)了有快一年了,不算很會,但也算是已經(jīng)入門了
有個問題一直搞不明白
我看了幾本書,書上都是推薦把宏定義放在.c文件中,然后,就開始說這樣做的各種優(yōu)點(diǎn)什么的(PIC單片機(jī)除外)
甚至是專門一個文件來放宏定義的,估計(jì)是大程序用的吧,咱沒玩過
網(wǎng)上有說放頭文件的,也有說放源文件的
但我看了好幾個老外的程序,很多宏定義都是放在.h文件中,而且是包含來包含去的,半天才找著
像這樣的
#define USER_NUM_CTRL_TICKS_PER_TRAJ_TICK (10)
然后,就在.c代碼中出現(xiàn)這樣的 USER_NUM_CTRL_TICKS_PER_TRAJ_TICK
我就在想,就讓老外來看,他也不一定能看明白 USER_NUM_CTRL_TICKS_PER_TRAJ_TICK 這是什么意思吧?
你們一般都是怎么處理的呢
作者:
188610329
時間:
2022-8-31 02:11
目的來講,他應(yīng)該不是為了隨便誰看一下就明白。目的是,當(dāng)數(shù)值調(diào)整時, 只需要修改 #define USER_NUM_CTRL_TICKS_PER_TRAJ_TICK (10) 這一句,就可以從 -10 變成其它任何值,為不需要去代碼里面一個個改。
作者:
yzwzfyz
時間:
2022-8-31 08:38
對于單個程序來說意義不大。
每個人有自己的習(xí)慣對一此東東進(jìn)行命名、定義。對于一個程序也只用一次。
但你總不至于只寫一個程序吧。每次都重復(fù)勞動一次累。不如次習(xí)慣性的東東打個包,建個庫文件,以例每次調(diào)用。能做到這一點(diǎn)就可以了。不在乎你用什么方案。
例如。將常用的命名、定義做成一個通用包文件。將特殊命名、定義做成一個特有名稱包文件。
這樣通用包的使用效率就高了。
一句話,只要你認(rèn)為方便,怎么做,你看了辦。
作者:
Hephaestus
時間:
2022-8-31 10:17
這有什么看不懂的?
作者:
cedtek
時間:
2022-8-31 10:48
宏的作用以及語法等可以看下這個專輯:為宏正名
作者:
munuc_w
時間:
2022-8-31 10:52
C語言的宏定義功能是很強(qiáng)大的,使用宏定義的主要目的是:程序的可讀性好,方便移植,方便修改。
作者:
cpu小白白
時間:
2022-8-31 11:10
我自己的習(xí)慣是,單片機(jī)經(jīng)常使用的宏定義會單獨(dú)創(chuàng)建一個define.h文件,里面包含開關(guān)串口等。一些外接設(shè)備例如oled,所使用的宏就寫在oled.h自己的頭文件中。
這樣也方便在移植外接設(shè)備的時候不用再添加。
單片機(jī)常用define頭文件
外接芯片頭文件
作者:
cpu小白白
時間:
2022-8-31 11:15
cpu小白白 發(fā)表于 2022-8-31 11:10
我自己的習(xí)慣是,單片機(jī)經(jīng)常使用的宏定義會單獨(dú)創(chuàng)建一個define.h文件 ...
**************define頭文件**************
#ifndef _DEFINE_H
#define _DEFINE_H
#include "stm32f10x.h"
/********** System_Enable ********/
#define DBUG_ENABLE 1
/*
@ UART_PRINT_ENABLE 串口打印開關(guān)
@ 默認(rèn)為串口1打印
# user_uart.h -> Gpio_Param 中修改或添加按鍵GPIO
*/
#define UART_PRINT_ENABLE 1
/*
@ KEY_ENABLE 按鍵使能開關(guān)
@ 定義為1后開啟按鍵功能
# 修改gpio: define.h -> Gpio_Param 中修改或添加按鍵GPIO
# user_gpio.c -> GPIO_Init() 中修改或添加按鍵編號
# 添加按鍵功能:key.c -> Key_Value() 中修改或添加按鍵
*/
#define KEY_ENABLE 0
/*
@ I2C_ENABLE 按鍵使能開關(guān)
@ 定義為1后開啟I2C功能
# define.h -> Gpio_Param 中修改I2C使用GPIO
*/
#define I2C_ENABLE 1
**************外設(shè)ads1115頭文件************
#ifndef _ADS1115_H
#define _ADS1115_H
#include "user_i2c.h"
#include "user_uart.h"
#include "variable.h"
#include "define.h"
#define CHANNEL_NUMBER 4
#define CHANNEL_BASE 0xc4e3
#define READ_ADS1115_TIME_INTERVAL 3
#define SEND_ADS1115_TIME_INTERVAL READ_ADS1115_TIME_INTERVAL*CHANNEL_NUMBER
//單次 單通道 4.096 連續(xù) 860sps
#define CHANNEL_0 0xc4e3 // 1 100 001 0 111 0 0 011 //01
#define CHANNEL_1 0xd4e3 // 1 101 001 0 111 0 0 011
#define CHANNEL_2 0xe4e3 // 1 110 001 0 111 0 0 011
#define CHANNEL_3 0xf4e3 // 1 111 001 0 111 0 0 011
//010 2.048
作者:
人工置頂員
時間:
2022-9-3 14:25
頂一下
作者:
dzbj
時間:
2022-9-21 13:02
無所謂吧 自己喜歡怎么弄就怎么弄 中國不是有句老話叫 汝之良藥吾之某某么 別人好的東西不一定合適自己
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1