Tag: 方法

Objective C方法和语法

使用objective-c时我有点困惑。 这部分特别让我感到困惑。 编写这样的代码之间的目的和/或区别是什么…… object = [object method]; 和 [object method]; 学习目标-c到现在为止,我总是认为我可以做这样的事情。 说我已经创造了这个.. NSString *object = [[NSString alloc]initWithFormat:@”%@”]; 然后我就可以做到我想要的东西,就像那样…… [object applyAnyMethodHere]; 但现在我看到这样的事情…… object = [object applyAnyMethodHere]; 这两者有什么区别?

C和Java通过Jni

我正在尝试从S调用java代码。此方法调用: cls = (* env) -> FindClass (env, “org / libsdl / app / SDLActivity”); mid = (* env) -> GetStaticMethodID (env, cls, “play”, “([Ljava / lang / String;) V”); (* env) -> CallVoidMethod (env, cls, mid); java方法: public static void play () { track.write (bytes, 0, bytes.length); } 导致此错误: 03-25 18:17:32.313:WARN / dalvikvm(655):JNI警告:exception调用JNI方法03-25 18:17:32.313:WARN […]

使用参数调用obj-c方法

我已经将c风格的函数更改为objective-c方法。 作为一种方法,我该如何使用它? NSString* myfunc( int x ) is now: – (NSString *)myFuncWithParam:(int)x c code: myString = myfunc(x); // works obj-c code: myString = myFuncWithParam(x); // fails to compile. 从其中一个答案:myString = [object myFuncWithParam:x]; 在那种情况下,什么会“反对”?

Objective-c:在方法中访问可变参数

可能重复: 如何在Objective-C中创建变量参数方法 Objective C中可变数量的方法参数 – 需要一个例子 以下是具有可变参数的方法的示例。 – (void)numberOfParameters:group,… { NSLog(@”%@”,group); } 在上面的方法中,我知道访问第一个可变参数。 你能帮助我访问其他人吗? 我正在阅读ObjC.pdf并且我正在阅读第35页,行号是4

编程语言和方法效率低下吗? (需要汇编和C知识)

很长一段时间,我正在思考和研究汇编forms的C语言编译器的输出,以及CPU架构。 我知道这对你来说可能很愚蠢,但在我看来,某些事情是非常无效的。 如果我错了,请不要生气,并且有一些原因我没有看到所有这些原则。 如果你告诉我为什么这样设计,我会很高兴的。 我实际上真的相信我错了,我知道让人们聚在一起的人的天才头脑知道这样做的理由。 究竟是什么,你问? 我马上告诉你,我用C作为例子: 1:堆栈本地范围内存分配: 因此,典型的本地内存分配使用堆栈。 只需将esp复制到ebp,然后通过ebp分配所有内存。 好吧,如果您明确需要默认堆栈RAM,我会理解这一点,但是如果我理解它正确,现代操作系统会使用分页作为应用程序和物理RAM之间的转换层,当您需要的地址在到达实际RAM之前进一步转换字节。 那么为什么不说0x00000000是int a,0x00000004是int b等等? 并通过mov 0x00000000,#10访问它们? 因为您实际上不会访问内存块0x00000000和0x00000004,而是您的操作系统将分页表设置为。 实际上,由于ebp和esp的内存分配使用间接寻址,“my”方式会更快。 2:变量分配的两面性: 运行应用程序时,Loader将其代码加载到RAM中。 当您创建变量或字符串时,编译器会生成在main中创建时将这些值推送到顶部堆栈的代码。 所以有实际的指令,以及内存中的实际数字。 因此,RAM中有2个相同值的条目。 一种是指令forms,第二种是RAM中实际字节的forms。 但为什么? 为什么不只是在声明变量计数到哪个内存块时比使用时,只需插入这个内存位置?

C基本字符串返回函数

我仍然是C的新手。我仍然不了解指针。 我正在尝试创建一个返回String的方法。 这是function,它仍然不完整。 char getS(char *fileName){ FILE *src; if((src = fopen(fileName, “r”)) == NULL){ printf(“%s %s %s”, “Cannot open file “, fileName, “. The program is now ending.”); exit(-1); } char *get = ” “; //insert getting a random word here return(*get); } 而我正试着这样调用这个方法 char *article = getS(“articles.txt”); char *noun = getS(“nouns.txt”); char *verb = […]

数值配方的LU分解不起作用; 我究竟做错了什么?

我已经从提供的用于就地LU矩阵分解的C的Numerical Recipes的源代码中复制和粘贴,问题是它无法正常工作。 我确信我做的事情很愚蠢,但我很高兴有人能指出我正确的方向; 我一整天都在努力,看不出我做错了什么。 POST-ANSWER UPDATE:项目已完成并正在运行 。 感谢大家的指导。 #include #include #include #define MAT1 3 #define TINY 1e-20 int h_NR_LU_decomp(float *a, int *indx){ //Taken from Numerical Recipies for C int i,imax,j,k; float big,dum,sum,temp; int n=MAT1; float vv[MAT1]; int d=1.0; //Loop over rows to get implicit scaling info for (i=0;i<n;i++) { big=0.0; for (j=0;j big) big=temp; if […]

从MATLAB中调用MEX中的C ++类方法

我有一个DLP工具包,我需要使用C ++ API通过MATLAB进行控制。 比如说,我在一个名为dlp_controller.cpp / .c的mex文件中使用C / C ++来实现{load_data, load_settings,display_data}函数/方法。 我知道我可以调用dlp_controller(); 用MATLAB。 有没有办法可以直接从MATLAB调用这个mex的方法? 说我的dlp_controller.cpp mex看起来像: class dlp{ … } dlp::dlp{ … } dlp::load_data{ … } dlp::load_settings{ … } dlp::display_data{ … } void mexFunction(int nlhs, mxArray *[],int nrhs, const mxArray *prhs[]{ … } 我可以以某种方式从MATLAB调用像dlp_controller.load_data这样的方法吗? 注意:解决方法可以是将变量发送到dlp_controller并使用该函数和传递的数据在内部调用该函数。

你如何在obj-c中定义一个简单的“min”方法

我想在Utils类中定义min和max方法。 @interface Utils int min(int a, int b); int max(int a, int b); @end 但我不想要命名参数。 这将是一个太沉重的表示法。 我想使用C风格的定义。 但是[Utils min(a, b)]作为通话不起作用。 我的问题是什么? 在此先感谢您的帮助

在C / C ++中实现派生

如何通过编程方式计算f(x)的导数以确保最大精度? 我正在实现Newton-Raphson方法,它需要获取函数的导数。