【问题标题】:C file will not compileC 文件不会编译
【发布时间】:2016-10-05 03:55:09
【问题描述】:

我在 OS X 10.10 上的 XCode 6.2 中有一个小型 swift 项目,并在该项目中添加了一个小型 C 文件,简化为:

#include <stdio.h>
void function1(unsigned char buf) {}
unsigned char abuf;
function1(abuf);

我无法编译任何版本的 C 文件。上面的具体代码会产生2个错误:“缺少类型说明符,默认为'int'”和“只允许在函数定义中使用没有类型的参数列表”

我的假设是该项目在某种程度上没有正确设置来编译 C 文件,但我无法弄清楚缺少什么。 (请注意,最终 C 文件将用于访问外部库,并且已生成当前为空的“project-Bridging-Header.h”文件。)有人可以帮忙吗?

【问题讨论】:

  • function1(abuf);这样的函数调用必须在某个函数中。
  • 尝试编译一个有效的 C源代码。
  • 这是什么:void function1(unsigned char buf) {}?!
  • MikeCat - 你是否建议函数调用必须在 main() 等效项中(在 swift 项目中不会出现) - 看起来我最近做了太多 javascript ...

标签: c swift macos cocoa


【解决方案1】:

它不是有效的 C,这就是它无法编译的原因。它与 Swift 无关。你声明一个函数,你声明一个外部变量,然后,不知从何而来,看起来像是一个函数调用。

在 C 中,代码只能是函数实现的一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-05
    • 2019-07-31
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多