首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROBOTC:为什么#pragma config()预处理器指令必须是源文件的第一行?

ROBOTC:为什么#pragma config()预处理器指令必须是源文件的第一行?
EN

Stack Overflow用户
提问于 2015-11-12 10:22:13
回答 1查看 612关注 0票数 0

我是一名机器人专业本科生的导师,我们使用robotC (用于NXT机器人,4.50版)作为我们选择的平台。我注意到robotC中有一个奇怪的现象,那就是,出于某种原因,#杂注配置预处理器指令只有在程序的第一行才起作用。

代码语言:javascript
复制
#pragma config(Sensor, S1, touch, SensorTouch)
//comment
#pragma config(Sensor, S2, touch2, SensorTouch)

task main()
{
    while(true){
        nxtDisplayTextLine(0,"%i",SensorValue(touch));
        nxtDisplayTextLine(1,"%i",SensorValue(touch2));
    }
}

当我运行这个简单的程序时,我得到以下编译错误:

代码语言:javascript
复制
**Error**:'#pragma config(...)' must be first lines of source file
**Error**:Undefined variable 'touch2'. 'short' assumed.

第一个错误的原因是什么?我在文档中找不到任何东西列出了为什么必须在源文件的第一行使用#pragma config()的原因,只是它必须是。

编辑:澄清。我知道这个错误是由于在程序的第二行有//注释引起的,因为#pragma config()行必须是程序的第一行。我想知道为什么#杂注配置行必须是第一行。

EN

回答 1

Stack Overflow用户

发布于 2015-11-13 23:49:14

我不确定它的可信度,但我找到了宾夕法尼亚州立大学阿宾顿分校的ROBOTC指南。该指南提到#杂注语句必须是前几行。它后来说,他们甚至必须在任何评论之前。所以这里发生的问题是由

代码语言:javascript
复制
//comment

在代码的第二行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33663362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档