C语言__LINE__和#line学习

这是ANSI C 预定义的,

__LINE__ ,包含当前行号,一个十进制常量;
#line指令用于改变 __LINE__的内容;

先看一下VC6控制台程序,

C语言__LINE__和#line学习_第1张图片

    printf这行是第五行,输出了 5 ;

使用#line重新定义了行号,#line 100,则这句后面的一行是100行,输出如下;

C语言__LINE__和#line学习_第2张图片 

#include 
  
#line 100
int main()                             // line 100
{                                      // line 101
	printf("%d\n",__LINE__);       // line102
	return 0;
}

VC6 单文档工程;开发环境中看一下,str1.Format(...)这行是63行; 

C语言__LINE__和#line学习_第3张图片 

运行之后输出如下;

C语言__LINE__和#line学习_第4张图片 

使用#line后输出如下;

C语言__LINE__和#line学习_第5张图片 

void CLinetestView::OnDraw(CDC* pDC)
{
	CLinetestDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;

	#line 1000
	str1.Format("当前行:%d", __LINE__);
	pDC->TextOut(50, 50, str1);
}

 

 

 

你可能感兴趣的:(VC++,#ine,__LINE__)