社区
C语言
帖子详情
#define EXTERN
vasilyben
2011-03-03 04:02:37
现在我手里有几个c文件,每个c文件的第一行是这样写的:
#define EXTERN
注意EXTERN后没有分号
谁能告诉我是什么意思,为什么要这样用,不用会是什么样子?
40分
...全文
739
15
打赏
收藏
#define EXTERN
现在我手里有几个c文件,每个c文件的第一行是这样写的: #define EXTERN 注意EXTERN后没有分号 谁能告诉我是什么意思,为什么要这样用,不用会是什么样子? 40分
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
水月天涯
2011-11-17
打赏
举报
回复
贴出代码如下:
#define _DEBUG
#define EXTERN
#include "global.h"
#include "init_h.h"
main()
{
init_McuInit();
nop();
while (1){
resetWatchDog();//127ms
}
}
其中连写两个 #define 我调试的时候 如果把他们屏蔽掉 就会报错~~~挺奇怪的~~~~不能省么?
李迟
2011-03-03
打赏
举报
回复
编译开关。
我见得最多的是调试信息DEBUG。在一个公共的头文件中宏定义了dbg(...)——当然,使用#ifdef DEBUG来控制,如果哪个文件需要打印调试信息,就在这个头文件包含之前#define DEBUG。
vasilyben
2011-03-03
打赏
举报
回复
[Quote=引用 12 楼 pengzhixi 的回复:]
你不是说没有#ifdef之类的吗?
[/Quote]
真没有,但想控制的时候,他就有了。
pengzhixi
2011-03-03
打赏
举报
回复
你不是说没有#ifdef之类的吗?
vasilyben
2011-03-03
打赏
举报
回复
它应该是一个开关
#define EXTERN
main()
{
#ifdef EXTERN
printf("有开关\n") ;
#else
printf("没开关\n") ;
#endif
}
Al_Ways
2011-03-03
打赏
举报
回复
#ifndef EXTERN //如果没有定义EXTERN
#define EXTERN //则定义EXTERN
//声明的部分,也就是你.H文件里的内容
#endif
再用include的时候就进行判断,看是否定义了EXTERN
如果没有,就定义EXTERN,然后包含中间那部分
如果你第二次用include包含这个头文件,则再判断是否定义EXTERN
因为是第二次,所以 之前已经定义了EXTERN,直接#endif
这样就不会再次包含中间的内容
vasilyben
2011-03-03
打赏
举报
回复
[Quote=引用 8 楼 al_ways 的回复:]
#ifndef EXTERN
#define EXTERN
//声明的部分
#endif
一般都是这样用的吧.
这样子可以防止重复包含
[/Quote]
放在C文件的第一行,是为了防止该C文件重复?
Al_Ways
2011-03-03
打赏
举报
回复
#ifndef EXTERN
#define EXTERN
//声明的部分
#endif
一般都是这样用的吧.
这样子可以防止重复包含
vasilyben
2011-03-03
打赏
举报
回复
一个开关而已?
vasilyben
2011-03-03
打赏
举报
回复
[Quote=引用 4 楼 bizet 的回复:]
表示EXTERN被定义过了?
文件中使用#if(n)def EXTERN 可以控制编译
[/Quote]
我感觉你的回答有道理了。
pengzhixi
2011-03-03
打赏
举报
回复
如果是这样,那么这个可有可无了。并不起什么作用。
Bizet
2011-03-03
打赏
举报
回复
表示EXTERN被定义过了?
文件中使用#if(n)def EXTERN 可以控制编译
yuyan_linger
2011-03-03
打赏
举报
回复
同一楼
我也是这么想的
pengzhixi
2011-03-03
打赏
举报
回复
额 没有其他的类似#ifndef之类的东西?
avr模拟信号采集键盘源代码
avr模拟信号采集键盘C源代码 , #
define
ADKEY_C #ifndef ADKEY_H #
define
ADKEY_H #
define
ADKEY_SET 128//256 #
define
ADKEY_INC 188//376 #
define
ADKEY_DEC 233//464//?? #
define
SET 1 //--?? #
define
INC 2 #
define
DEC 3 #
define
NOKEY 0 #ifdef ADKEY_C uint ad_scan(void); uchar Get_Key(void); uchar Key1_only(void); uchar adkey_scan(void); #else
extern
uint ad_scan(void);
extern
uchar Get_Key(void);
extern
uchar Key1_only(void);
extern
uchar adkey_scan(void); #endif
cy7c68013开发usb固件程序代码
#pragma NOIV #include "testheader.h" #include "testregs.h" #include "testdly.h"
extern
BOOL GotSUD;
extern
BOOL Sleep;
extern
BOOL Rwuen;
extern
BOOL Selfpwr; volatile BOOL wait_reg_return; BYTE Configuration; BYTE AlternateSetting; #
define
VR_NAKALL_ON 0xD0 #
define
VR_NAKALL_OFF 0xD1
#
define
Extern
后面怎么没有参数也行?
(转载加修改) #
define
Extern
后面怎么没有参数也行? 完整是这样: #
define
Extern
#include "ftp_var.h" int traceflag = 0; const char *home = "/"; 请大家解释一下!! 解答: #
define
Extern
代表
Extern
这个宏被定义了一般有这样的
#
define
EXTERN
#
define
EXTERN
表示 把所有的
EXTERN
都换成空格 这样就消除了
C语言 #
define
与
extern
的区别
define
用来定义常量,其格式为#
define
NAME n,表示用NAME代替n,其中n为常量,注意该表达式后面没有分号。
extern
用来定义全局变量或声明函数。
C语言
70,021
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章