#include <stdio.h>中的#标签不编译(C编程)

时间:2017-12-11 09:43:32

标签: c header syntax-error

我第一次尝试在C语言中完成了我的第一个程序,现在我想要一个新的工作区和一个新的项目,在我写完任何东西之前就已经向南了。

#include <stdio.h>

int main(int argc, char **argv)
{
    printf("hello world\n");
    return 0;
}

上面的代码应该打印出“hello world”。相反,我得到以下错误代码:

C:\Users\DavidH\Desktop\bingolotto\main.c:1
(function (exports, require, module, __filename, __dirname) { #include <stdio.
                                                              ^
SyntaxError: Unexpected token ILLEGAL
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
Press any key to continue . . .

我猜我有一些错误的目录或者类似的东西,但是我已经制作了新的工作空间,并尝试了至少两个新项目,但没有占上风。

我真的很想知道这里发生了什么:)

1 个答案:

答案 0 :(得分:5)

您几乎需要使用C compiler(不是node.js之类的其他内容)。我建议在命令行上使用GCC,例如在终端中(gcc的程序参数顺序很重要)。我建议启用所有警告和调试信息(默认情况下不启用),因此编译with

 gcc -Wall -Wextra -g helloworld.c -o helloworld.exe

改进您的代码,完全不收警告。

阅读每个已使用函数的documentation(例如printf),即使您最初并不了解所有函数。下载C11的规范,例如n1570,并查看内部并参考它。

scared undefined behavior。这很棘手(你的C程序看起来似乎大部分时间都在工作,但仍然非常错误和错误)。

学习使用调试器,例如use gdb(也许还有其他工具,例如valgrind)。

您可能应该学习使用某些version control系统(我推荐git)和一些build automation工具(例如GNU makeninja)。< / p>

请注意,编码约定和样式在C中很重要(例如参见this)。

PS。您可以考虑在笔记本电脑上安装一些Linux distribution,它非常适合学生和开发人员,主要由free software组成(对新手和/或专家C开发人员非常有用,无论是作为工具还是作为工具例子)。您还应该阅读(获取灵感)某些现有free software项目的源代码(例如,在github上)。