显示当前行号、文件名和函数名(二)

 为了测试__FILE__, __LINE__, __FUNCTION__, 又写了一个C++版本的测试程序,源码如下:

#include <iostream>
#include <string>using namespace std;class CUser
{
private:int m_nId;string m_sName;public:CUser(int id, string name);~CUser();void display();
};CUser::CUser(int id, string name)
{m_nId = id;m_sName = name;
}CUser::~CUser()
{cout<<"Bye-bye, "<<m_nId<<endl;
}void CUser::display()
{cout<<"File: "<<__FILE__<<", Line: "<<__LINE__<<", Function: "<<__FUNCTION__<<endl;cout<<"id: "<<m_nId<<", name: "<<m_sName<<endl;
}int main()
{CUser a(1, "Joe Black");CUser b(2, "Miss Right");a.display();b.display();return 0;
}

 

经过测试:

1. 上面的代码在vc6中编译出错,提示为:error C2065: '__FUNCTION__' : undeclared identifier

2. 上面的代码在vc2010中测试成功,运行结果为:

File: e:\program\vc2010\delme\delme\t.cpp, Line: 32, Function:CUser::display
id: 1, name: Joe Black
File: e:\program\vc2010\delme\delme\t.cpp, Line: 32, Function: CUser::display
id: 2, name: Miss Right
Bye-bye, 2
Bye-bye, 1
请按任意键继续. . .


3. 上面的代码在Fedora下测试也成功了,运行结果为:

File: t.cpp, Line: 32, Function:display
id: 1, name: Joe Black
File: t.cpp, Line: 32, Function: display
id: 2, name: Miss Right
Bye-bye, 2
Bye-bye, 1

 

注意到结果中的区别了吗?

1) 在VC2010中,__FILE__会把当前文件的全路径都输出来;但是在linux下,只是输出了文件名,不包含路径;

2) 在vc2010中,__FUNCTION__会把类名和函数名都输出来;但是在linux下,只是输出函数名,却不会输出类名。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件的删除和文件信息的读取

文件删除代码&#xff1a;<table border"1"> <tr> <td colspan"2" style"color: #660066;"> 删除文件&#xff1a; </td> </tr> …

vue与elementUI中给el-input绑定键盘按键--按键修饰符

vue怎么写键盘事件 vue允许将按键值作为修饰符来使用&#xff0c;如监听回车事件&#xff0c;有两种写法&#xff0c;如下代码&#xff1a; <input type"text" keyup.13"console.log($event)"></input><input type"text" keyup…

很好的理解遗传算法的样例

遗传算法的手工模拟计算演示样例 为更好地理解遗传算法的运算过程&#xff0c;以下用手工计算来简单地模拟遗传算法的各 个主要运行步骤。 例&#xff1a;求下述二元函数的最大值&#xff1a; (1) 个体编码 遗传算法的运算对象是表示个体的符号串&#xff0…

CSS之容器按比例缩放

1.对于图片&#xff0c;默认只设置图片的一个宽或高&#xff0c;那么另一个值就会按照图片真实比例缩放 图片因为本身存在宽高比&#xff0c;所以设置一个值&#xff0c;另一个值自动也就根据真实的比例对应上 2.但跟pc的不一样&#xff0c;移动端的图片很多都不是固定的宽高的…

[转载]vs2008下安装boost

vs2008下安装boost 1.下载boost_1_34_1压缩文件&#xff0c;解压缩到d&#xff1a;\boost_1_34_1\目录下 2.编译bjam 从vs2008的工具菜单进入命令提示窗口"Visual Studio 2008 Command Prompt"&#xff08;一定要从这进&#xff09;&#xff0c;cd到c:\boost_1_34_1\…

文件上传命令rz和下载命令sz的安装

一、xshell工具简介 Xshell 是一个强大的安全终端模拟软件&#xff0c;它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。其可以在Windows界面下用来访问远端不同系统下的服务器&#xff0c;从而比较好的达到远程控制终端的目的。 二、xshell连接虚拟机 1.打开xs…

python IDE比较与推荐

我先给一个初步的表格吧&#xff0c;大家如果有什么意见&#xff0c;或有补充&#xff0c;欢迎提出。有些我没有用过&#xff0c;先不写了。以下是我使用过的python IDE:(更新与2010年1月20日)┌─────┬────┬────┬──┬────┬──┬─────┬─────…

算法系列7《CVN》

计算CVN时使用二个64位的验证密钥&#xff0c;KeyA和KeyB。 1) 计算CVN 的数据源包括&#xff1a; 主账号&#xff08;PAN&#xff09;、卡失效期和服务代码&#xff0c;从左至右顺序编排。 41234567890123458701111 2) 将上述数据源扩展成128 位二进制数据&#xff08;不足128…

CSS之Box-sizing

W3C的标准盒模型&#xff1a; IE的传统盒模型&#xff1a; 实例&#xff1a; 1.W3C 盒子模型的范围包括 margin、border、padding、content&#xff0c;并且 content 部分不包含其他部分 2.IE 盒子模型的范围也包括 margin、border、padding、content&#xff0c;和标准 W3C 盒…

javascript学习系列(9):原数组发生变化的情况

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说形…

阿里云设置域名解析到主机ip

A记录 使用场景 添加 A 记录可实现将域名指向 IP 地址。 设置方法 登录云解析DNS控制台在域名解析页面&#xff0c;全部域名页签下&#xff0c;单击域名&#xff0c;进入解析设置页面 在解析设置页面&#xff0c;单击 添加记录 按钮 添加记录会话框中各项参数的添加说明。 …

python fabric实现远程操作和部署

博客迁往&#xff1a;新地址 &#xff08;点击直达&#xff09; 新博客使用markdown维护&#xff0c;线下有版本号库&#xff0c;自己写的所以会定时更新同步&#xff0c;同一时候提供更好的导航和阅读体验 csdn对markdown支持不好&#xff0c;所以旧版不会花时间进行同步修订&…

[Windows]python+PyQT+Eric安装配置

From: http://www.cnblogs.com/lhj588/archive/2011/10/05/2198472.html 一、大纲内容&#xff1a; 1、预备PC环境&#xff1a; 2、预备安装程序: 2、1、下载Python3.2 2、2、下载PyQt4 2、3、下载Eric5 3、安装配置步骤&#xff1a; 3、1、安装Pyhon3.2 3、2、安装Py…

CSS之BFC

1.BFC(Block Formatting Context)是Web页面中盒模型布局的CSS渲染模式。它的定位体系属于常规文档流 2.创建一个BFC 一个新的BFC可以通过给容器添加任何一个触发BFC的CSS样式&#xff0c;如overflow: scroll, overflow: hidden, display: flex, float: left,或者 display: tabl…

[导入]WINRAR 命令行语法[转载]

WINRAR 命令行语法 [ 2006-10-13 23:33:44 | 作者: 碳酸氢钠 ] Font Size: Large | Medium | Small 语法:RAR <命令> [-<开关>] <压缩包> <文件列表...> [<文件...>] [<解压缩路径\>]命令行选项(命令及开关)提供 RAR 创建及管理控制压缩包…

【计算机网络】端口和进程的区别

端口和进程的区别 用一个例子说明二者的区别 现在有一个手机&#xff0c;这个手机好比一个和外界通信的端口。 你现在想给你女朋友打电话&#xff0c;可是手机被占用了&#xff0c;你就开始大喊&#xff0c;谁拿了我的手机&#xff08;翻译一下就是&#xff1a;哪个进程占用…

[python]如何清屏?也就是实现clear?

import os os.system( cls ) 由此也可见,想要执行任何一条系统命令,都只需要执行os.system( COMMAND )就行了. 因此&#xff0c;在windows命令提示符下清屏就是&#xff1a;os.system("cls") 在linux终端下清屏就用&#xff1a;os.system("clear")

javascript学习系列(10):数组中的slice方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说s…