Objective-C for Windows 集成实验系统2015 是一款付费软件,免费版无法使用多文件功能
因为主要的判断是是否只包含了Foundation类库,所以只能在Foundation.h类库动手脚了
将下列代码贴到Foundation/Foundation.h中:
#pragma mark - 个人包含区
#ifndef __cplusplus
#include "/OCProjects/OCMAKE.LIST"
#define OBJECT(n) (*n)
#define autoreleasepool "";argc;if(1) /* 引用变量 */
#endif
void OCMain(int,char**);
int main(int argc, const char *argv[],const char*env[]) {
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
OCMain(argc,argv);
[pool drain];
return 0;
}
嗯,很好
接着再创建OCProjects文件夹到根目录(默认C盘)
将下列内容保存到文件夹下,命名为OCMAKE.LIST:
/* Default默认工程 */
#define DEFAULT_PROJECT
#ifdef DEFAULT_PROJECT
#include "default.ocprj"
#endif
你可以借助宏来操作要保留当前哪个项目
接着再创建DEFAULT.OCPRJ:
#include "Default.cocoa"
/* 工程文件 */
在这里添加好所有项目源文件
看看.cocoa文件的格式:
#import "Default.h"
#import "Default.m"
没错!.cocoa的功能类似于XCode里的Cocoa Class功能,不过还可以把类说明、宏关键字写在这里面,主要功能就是更方便项目管理
接着就能编写多文件OC项目了
配置好环境后编写一段测试代码
Default.h
/* Default.h */
@interface Person : NSObject
{
@public
NSString*_name;
int _age;
}
-(void)sayHi;
@end
Default.m
/* Default.m */
@implementation Person
{}
-(void)sayHi{
NSLog(@"大家好,我是%@,我今年%d岁了!",_name,_age);
return;
}
@end
Person.m
#import <Foundation/Foundation.h>
void OCMain(int argc,char**argv){
@autoreleasepool{
Person*p1=[Person new];
p1->_name=@"jack";
p1->_age =19;
[p1 sayHi];
}
return;
}
确认所有文件都保存好后点击 运行
可以看到,项目成功运行了
注意事项:
不要在.h或.m文件中包含头文件,可以看出,这些文件最后是被贴在Foundation.h文件末尾
以及,如果你真的想做正儿八经的OC商业化项目,还是去报销台Mac OS X吧,这玩意没有拓展性,只供学习用