【问题标题】:UNIX - syntax error in my mainUNIX - 我的主要语法错误
【发布时间】:2011-05-05 10:18:43
【问题描述】:

我在以下主语句中遇到语法错误...

int main (int argc, char *argv[]) {

错误提示“意外标记 `(' 附近的语法错误”。

但是,如您所见,括号的数量是正确的。有什么问题?

谢谢!

更多代码:

/*Core Dump Program*/

#include <stdio.h>
#include <sys/resource.h>
#include <stdlib.h>
#include <errno.h>


int main (int argc, char *argv[])
 {
  struct rlimit limit;

  limit.rlim_cur = 0;
  limit.rlim_max = 0;
  if (setrlimit(RLIMIT_CORE, &limit) == -1){
    printf("Error preventing core dump errno=%d\n", errno);
    exit(10);
  }
  else {
    printf("The current core limit is %llu\n", limit.rlim_cur);
    printf("The core max limit is %llu\n", limit.rlim_max);
    exit(0);
  }
  if (getrlimit(RLIMIT_FSIZE, &limit) == -1){
    printf("getlimit() failed with errno=%d\n", errno);
    exit(1);
  }
  else {
    printf("The current core limit is %llu\n", limit.rlim_cur);
    printf("The core max limit is %llu\n", limit.rlim_max);
    exit(0);

  }
  if (getrlimit(RLIMIT_CPU, &limit) == -1){
    exit(1);
  }
  else {
    printf("The current core limit is %llu\n", limit.rlim_cur);
    printf("The core max limit is %llu\n", limit.rlim_max);
    exit(0);
  }

  if (getrlimit(RLIMIT_NOFILE, &limit) == -1){
      printf("Error preventing core dump errno=%d\n", errno);
      exit(1);
    }
  else {
      printf("The current core limit is %llu\n", limit.rlim_cur);
      printf("The core max limit is %llu\n", limit.rlim_max);
      exit(0);
  }

  if (getrlimit(RLIMIT_NPROC, &limit) == -1){
    printf("Error preventing core dump errno=%d\n", errno);
    exit(1);
  }
  else {
    printf("The current core limit is %llu\n", limit.rlim_cur);
    printf("The core max limit is %llu\n", limit.rlim_max);
    exit(0);

  }
  }

【问题讨论】:

  • 很明显,源代码中的某些内容。
  • 删除了克拉和包含 BTW 中的 # 符号
  • @D. Spigle:如果它们在代码块中,你可以离开它们。它会正常显示。
  • @D. Spigle:我们需要更多的代码。到目前为止,这段代码没有任何问题,只是它没有终止括号。
  • @D. Spigle - 当我编译它时,这段代码对我有用。

标签: c unix system


【解决方案1】:

上次我收到这样的错误是因为某些内容包含特殊字符。有时,当您复制网络内容时,会出现编译器无法识别的字符。

如果您使用的是 IDE,我建议您检查语法突出显示并查看是否有任何奇怪之处,例如引号不会导致颜色不同,然后替换它们。

更多信息:

http://support.microsoft.com/kb/887842

【讨论】:

  • @D. Spigle:你不应该也需要。
【解决方案2】:

检查您的代码中是否存在“不可见”字符。根据文件的创建方式,可能会获得在普通文本编辑器的正常操作模式中看不到的控制字符和/或 unicode 字符。许多编辑器具有“显示不可见字符”功能(或类似名称)。一些编辑器甚至具有查找和删除任何此类字符的功能(例如,Text Wrangler for OS-X 中的“Zap Gremlins”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 2011-10-13
    • 2019-04-02
    相关资源
    最近更新 更多