为什么mex.h中有一些错误?

时间:2010-09-08 13:34:19

标签: c matlab turbo-c

我在Turbo C中打开了一个c文件,这个c文件的开头是这样的:

#include <math.h>
#include <stdio.h>
#include "mex.h"
#include "matrix.h"

它使用了一些matlab结构并在c中做了一些事情 我检查了目录,确信它们是正确的。但是当我尝试编译它时,这里有一些错误(我只是复制一些并粘贴,它们看起来很相似):

  

错误C:\ MYFILE~1 \ TC2.0 \ MEX.H 1:非法字符'#'(0x23)
      错误C:\ MYFILE~1 \ TC2.0 \ MEX.H 1:有条件的文件意外结束...
      错误C:\ MYFILE~1 \ TC2.0 \ MATRIX.H 1:表达式语法

怎么了?似乎是这些文件中的错误,但我只是将这些文件复制到正确的文件夹中......谢谢!!

3 个答案:

答案 0 :(得分:2)

Turbo C?真的吗?它像20岁一样 (这是一个经典之作,我很喜欢它......我也不喜欢它。它已经不再适用了。)

mex.h肯定会使用现在在Turbo C时代无效的方面。

或者,你需要做一些移植工作来修复mex.hmatrix.h,或者你需要一个现代编译器(几个好的编译器是免费的)。

答案 1 :(得分:2)

检查文件的日期是否与1990年相同,而不是2010年!

检查文件是否为纯ASCII(开头没有BOM) 检查最后一行是否以换行符结束。

如果您使用某个编辑器打开并保存文件,则可能已将其更改为与Turbo C不兼容的格式。

答案 2 :(得分:1)

MEX.H的第1行似乎有一个迷路'#'。

没有看到文件,很难说出问题所在。可能是'#'之前有空格或注释 - 但该行是一个有效的#ifdef行。很久以前(但可能在创建Turbo C时),C预处理程序指令需要第1列中的“#”。

相关问题