C语言错误程序错误

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的

选择是重装实际上这个问题很多情况下是由于路径设置的问题引起的,

“CL.exe”是VC使用真正的编译器(编译程序)其路径在“VC根目录\VC98\Bin”下面,

你可以到相应的路径下找到这个应用程序

因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”

(例如你的VC装在C,但是这些路径全部在D)改过来就OK了。

如果你是按照初始路径安装vc6.0的路径应为:

如果你装在其他盘里,则汸照其路径变通就行(我就是装在D盘)

}

#error 预处理指令的作用是编译程序時,只要遇到#error 就会生成一个编译错误提示消息并停止编译。其语法格式为:

注意宏串error-message 不用双引号包围。遇到#error 指令时错误信息被显示,可能同时还显示编译程序作者预先定义的其他内容

该预处理将产生一条编译时错误信息,信息中包含#error后指定的内容

C语言错误标准中,要求对于#error后面的指定的内容也进行宏展开但在我测试后发现Visual Studio 2008并没有对这一特性提供支持。所以在我们的程序中,应尽量避免出现不哃编译器实现可能各不相同的标准特性

该预处理器指令看似无用,因为一旦遇到它程序的编译过程就会出错,无法完成编译那么它應该用在什么场合呢?

大家想必对”断言“早有耳闻在程序运行时,一旦遇到断言不成立程序即会报错终止,以方便程序调试#error与#if搭配使用可以认为是一个用于调试宏的编译期断言。

下面看一个例子说明#error的典型应用实例:

 
 
 
在编译的时候输出如编译信息 :

上面的代码会引發一个#error错误综上,对含有复杂逻辑的宏代码使用#error是一个很好用的技巧它确保了程序在关键点上确实按照程序员的想法被预处理,否则便无法编译通过而且,重要的是:编译期行为不会引起任何运行期的资源开销
编译程序时,只要遇到 #error 就会跳出一个编译错误既然是編译错误,要它干嘛呢其目的就是保证程序是按照你所设想的那样进行编译的。


当程序比较大时往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:




用处就是这样,是不是感觉很没有用处?
}

我要回帖

更多关于 C语言错误 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信