阅读:1053回复:11
C++老手提一个有趣的问题
:)标准c/c++库中,提供有 assert()函数 ,方便调试。
:(但是输出语句时,只好用 #ifdef MY_DEBUG cout<<\"*************\"<<endl; 或者 printf(\"*********\\n\"); #endif 很不方便。 :o是否有类似于assert()的函数呢? :cool:比如在Windows的MFC中有Trace()函数。 |
|
沙发#
发布于:2003-03-05 12:34
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2003-03-06 10:38
老手同志,Windows下可以用OutputDebugString,Dos下可以用Printf。TRACE是宏,不是函数。
|
|
|
地板#
发布于:2003-03-06 10:49
老手同志,Windows下可以用OutputDebugString,Dos下可以用Printf。TRACE是宏,不是函数。 花猫,我是问在 c/c++的标准库 中是否有 类似于trace的函数? windows下专用的函数恐怕会有移植问题。 |
|
地下室#
发布于:2003-03-07 09:32
花猫,我是问在 c/c++的标准库 中是否有 大兄弟,调试一般都和操作系统密切相关,没有什么标准函数。 比如在Linux下,即使在X-Window中printf依然可以显示在标准输出中,而Windows则不行,除非你自己创建一个Console。 |
|
|
5楼#
发布于:2003-03-07 09:55
大花猫:
我决定写个函数模板,把cout包装一下。 |
|
6楼#
发布于:2003-03-07 09:56
大花猫:
我决定写个函数模板,使用c/c++标准库,把cout包装一下。 |
|
7楼#
发布于:2003-03-07 10:21
大花猫: cout本来就是标准的东西了,你还包什么? 再说,Windows上cout无法输出调试信息 |
|
|
8楼#
发布于:2003-03-07 10:27
花(心)猫,你总是不懂我的心!
就是把#ifdef MYDEBUG也包含进去啦。 大概写个宏好一点吧! |
|
9楼#
发布于:2003-03-07 10:27
花(心)猫,你总是不懂我的心!
就是把#ifdef MYDEBUG也包含进去啦。 大概写个宏好一点吧! 主要是在Linux上用。 |
|
10楼#
发布于:2003-03-07 10:35
用宏好
在不同OS上实现不同的TRACE 我的原则是,尽量把问题简单化,能用C的,就不要用C++ |
|
|
11楼#
发布于:2003-03-07 10:40
有道理!
|
|