如何从Objective-C调用一个C函数

3

我正在研究如何从obj-c文件中调用c函数。我看到了一些很好的例子,可以了解如何做相反的事情。

在下面的示例中,我有一个objective c文件。它包含一个名为setup的c函数。 我希望能够以常规方式创建我的obj-c文件的实例,然后调用setup函数。

头文件

#import <Foundation/Foundation.h>

void setup(int,float);

@interface Test : NSObject {
}

@end

源代码

#import "Test.h"
#include <stdio.h>
#include <stdlib.h>

void setup(int val1,float val2)
{
    //do something with values  
}

@implementation Test

@end

视图加载完成

Test *test =[Test alloc]init]

//this does not work
test.setup(6,1.4);

使用“init”函数来设置对象有什么问题? - Abizern
1个回答

10

只需调用setup()函数。如声明所述,它与任何对象都没有关系 - 它只是一个普通的C函数。


请原谅我的无知,假设我在test中有一个名为myStruct的结构体,我该如何确保调用setup函数会操作该结构体的值?我是否需要将实际指针传递给setup函数或其他什么方法? - dubbeat
是的,你会的。在面向对象的世界中,C仍然是C。 - Jonathan Grynspan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接