鱼C论坛

 找回密码
 立即注册
查看: 4144|回复: 5

一个关于#line的问题

[复制链接]
发表于 2013-7-21 19:07:35 | 显示全部楼层 |阅读模式
1鱼币
捕获.PNG
这上面的# line  不会错乱吗?  还有 后面加“lua.stx”是什么意思?

最佳答案

查看完整内容

#line 331 "lua.stx" 代表把下一行的 __LINE__ 这个宏更变为331,然后逐行递进 例如输出为 5,(目录名)\(文件名) 6,(目录名)\(文件名) 1,(目录名)\test 2,(目录名)\test
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-21 19:07:36 | 显示全部楼层
本帖最后由 565123 于 2013-7-21 19:57 编辑

#line 331 "lua.stx"
代表把下一行的 __LINE__ 这个宏更变为331,然后逐行递进
例如

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.         printf("%d,%s\n", __LINE__, __FILE__);
  6.         printf("%d,%s\n", __LINE__, __FILE__);
  7. #line 1 "test"
  8.         printf("%d,%s\n", __LINE__, __FILE__);
  9.         printf("%d,%s\n", __LINE__, __FILE__);
  10.         system("pause");
  11.         return 0;
  12. }
复制代码
输出为
5,(目录名)\(文件名)
6,(目录名)\(文件名)
1,(目录名)\test
2,(目录名)\test

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-21 19:56:32 | 显示全部楼层

那这里的 ”test“ 和 ”lua.stx“作用就是更改文件名?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-21 19:58:42 | 显示全部楼层
对啊,这是一个很少用到的功能,通常只用在调试
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-21 20:13:52 | 显示全部楼层
565123 发表于 2013-7-21 19:58
对啊,这是一个很少用到的功能,通常只用在调试

编译器里是不是会经常用到呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-7-21 20:24:41 | 显示全部楼层
什么意思??
编译器里??
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-18 20:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表