我在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:表达式语法
怎么了?似乎是这些文件中的错误,但我只是将这些文件复制到正确的文件夹中......谢谢!!
答案 0 :(得分:2)
Turbo C?真的吗?它像20岁一样 (这是一个经典之作,我很喜欢它......我也不喜欢它。它已经不再适用了。)
mex.h
肯定会使用现在在Turbo C时代无效的方面。
或者,你需要做一些移植工作来修复mex.h
和matrix.h
,或者你需要一个现代编译器(几个好的编译器是免费的)。
答案 1 :(得分:2)
检查文件的日期是否与1990年相同,而不是2010年!
检查文件是否为纯ASCII(开头没有BOM) 检查最后一行是否以换行符结束。
如果您使用某个编辑器打开并保存文件,则可能已将其更改为与Turbo C不兼容的格式。
答案 2 :(得分:1)
MEX.H
的第1行似乎有一个迷路'#'。
没有看到文件,很难说出问题所在。可能是'#'之前有空格或注释 - 但该行是一个有效的#ifdef行。很久以前(但可能在创建Turbo C时),C预处理程序指令需要第1列中的“#”。