社区
C#
帖子详情
如何使用#define
goodgod2015
2015-08-09 04:59:34
//以下代码编译不通过,怎么改
//错误提示两个:
//1.不能在文件的第一个标记之后,定义或取消定义预处理器符号
//2.应输入单行注释或行尾
#define RELEASE
using System;
#if RELEASE
#define GX_PROJECT GX_RELEASE
#else
#define GX_PROJECT GX_DEBUG
#endif
namespace GX_PROJECT
{
//...
}
...全文
420
5
打赏
收藏
如何使用#define
//以下代码编译不通过,怎么改 //错误提示两个: //1.不能在文件的第一个标记之后,定义或取消定义预处理器符号 //2.应输入单行注释或行尾 #define RELEASE using System; #if RELEASE #define GX_PROJECT GX_RELEASE #else #define GX_PROJECT GX_DEBUG #endif namespace GX_PROJECT { //... }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sinat_35994911
2016-08-29
打赏
举报
回复
我也碰到这个问题求解答
goodgod2015
2015-08-10
打赏
举报
回复
错误提示:应输入单行注释或行尾
goodgod2015
2015-08-10
打赏
举报
回复
回shingoscar 两个问题无了,但还是不行, c#不支持 #define GX_PROJECT GX_DEBUG 这种方式的。
Poopaye
2015-08-09
打赏
举报
回复
将using System;这行移动到#endif之后
江南小鱼
2015-08-09
打赏
举报
回复
1、#define,这玩意只能出现在首行 2、namespace和using之间,不能条件判断(#if) 3、条件编译,你没理由搞这么复杂嘛
(C++)举例说明可以
使用
const代替#
define
以消除#
define
的不安全性
举例说明可以
使用
const代替#
define
以消除#
define
的不安全性 在C中习惯
使用
#
define
来定义常量, 例如 : #
define
N 100 实际上这种方法只是在预编译时进行了字符置换, 把程序中出现的标识符N 全部置换成100. 在预编译之后, 程序中不再有N这个标识符. N不是变量,没有类型, 不占存储单元, 且易出错 . C++中提供了一种更灵活, 更安全的方式来定义常量...
带你清晰了解#
define
和宏
文章目录#
define
的简单
使用
#
define
的原理#
define
定义宏#
define
的替换规则#和## #
define
的简单
使用
语法: #
define
name stuff 对于#
define
的基本语法理解起来其实并不困难, 无非就是把name替换成stuff罢了。 但是,在这里,依然有一些需要我们注意的点。 首先,我们长期编写程序,都已经习惯了在语句后面加上; 其实,#
define
的后面是不需要加 ; 的。 我们可以看到,#
define
是不需要分号的,这样,我们可以很好的编译并且通过我们的程序
C++程序中尽量避免#
define
使用
const,enum替换#
define
定义常量C语言中常用#
define
来定义具有某种特殊意义的常量。但是,
使用
#
define
宏定义定义的符号会在编译前被替换掉,当因为该宏定义出现问题时,在错误信息中无法获得有关该宏的任何提示,这对错误的发现带来困难,,尽管可以通过查看预编译输出的方式尝试定位问题。同时预处理也会在程序中产生多份副本,造成代码量较大。为了解决这些问题,可以
使用
const常量替代宏
C++提倡尽量避免
使用
#
define
的原因
C++ 的书上常说,尽量不要用 #
define
来定义常量。这究竟是为什么呢? 其实 C++ 并不仅仅不提倡用宏来定义常量,而且还不提倡用宏来定义“函数”。事实上 C++ 并不是很喜欢预处理宏,在很多很多方面,如果不是必需,尽量不要
使用
预处理宏。 为什么 C++ 不喜欢预处理宏? 首先,预处理宏是“全局”的。所以,在 C++ 这样如此强调命名空间、类这样的东西的语言中,全局的东西真是越少越好。但是其实预处理宏的全局并不是语义上的全局,之所以叫预处理宏,是因为预处理宏会在编译器编译代码之前被简单地替换成.
关于在enum中
使用
#
define
的意义
real source: http://bbs.chinaunix.net/thread-795201-1-1.html 以下一段代码来自于linux中的pthread.h enum { PTHREAD_CANCEL_ENABLE, #
define
PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_DISABLE #defi...
C#
111,120
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章