2 个解决方案
#1
同问 ,我也需要
#2
首先回答将C文件嵌入到arm嵌入式程序中的问题,根据你的问题,你所编写的程序属于运行于操作系统之上的程序,与硬件平台应该是没有太多关系的。所以所有的c语言程序都可以链接到你原有的程序代码里。
其次,在之前VC联合matlab的时候,之所以要添加dll,是因为你所用的代码引用了dll中编译好的函数。dll是matlab公司将具有某一部分功能的源程序编译好生成了一个dll文件。如果你没有添加这些dll,就应该会有运行时的错误,找不到函数入口,只有函数声明,却找不到函数实现。
再次,在嵌入式环境下,要看你的matlab的C文件有没有引用外部的函数,如果你能把所有引用到的函数的定义全部转成C文件,就不再需要添加dll。
如果你的matlab的c文件还引用了其他函数,这些函数实现就在某个dll,你就需要链接那个dll。
但是,在arm嵌入式下和你的vcwindows x86平台下,动态库编译是不一样的,linux下的动态库是.so文件。就是说,你要将生产dll的源代码拿来重新编译生成linux下的so文件才行。
其次,在之前VC联合matlab的时候,之所以要添加dll,是因为你所用的代码引用了dll中编译好的函数。dll是matlab公司将具有某一部分功能的源程序编译好生成了一个dll文件。如果你没有添加这些dll,就应该会有运行时的错误,找不到函数入口,只有函数声明,却找不到函数实现。
再次,在嵌入式环境下,要看你的matlab的C文件有没有引用外部的函数,如果你能把所有引用到的函数的定义全部转成C文件,就不再需要添加dll。
如果你的matlab的c文件还引用了其他函数,这些函数实现就在某个dll,你就需要链接那个dll。
但是,在arm嵌入式下和你的vcwindows x86平台下,动态库编译是不一样的,linux下的动态库是.so文件。就是说,你要将生产dll的源代码拿来重新编译生成linux下的so文件才行。
#1
同问 ,我也需要
#2
首先回答将C文件嵌入到arm嵌入式程序中的问题,根据你的问题,你所编写的程序属于运行于操作系统之上的程序,与硬件平台应该是没有太多关系的。所以所有的c语言程序都可以链接到你原有的程序代码里。
其次,在之前VC联合matlab的时候,之所以要添加dll,是因为你所用的代码引用了dll中编译好的函数。dll是matlab公司将具有某一部分功能的源程序编译好生成了一个dll文件。如果你没有添加这些dll,就应该会有运行时的错误,找不到函数入口,只有函数声明,却找不到函数实现。
再次,在嵌入式环境下,要看你的matlab的C文件有没有引用外部的函数,如果你能把所有引用到的函数的定义全部转成C文件,就不再需要添加dll。
如果你的matlab的c文件还引用了其他函数,这些函数实现就在某个dll,你就需要链接那个dll。
但是,在arm嵌入式下和你的vcwindows x86平台下,动态库编译是不一样的,linux下的动态库是.so文件。就是说,你要将生产dll的源代码拿来重新编译生成linux下的so文件才行。
其次,在之前VC联合matlab的时候,之所以要添加dll,是因为你所用的代码引用了dll中编译好的函数。dll是matlab公司将具有某一部分功能的源程序编译好生成了一个dll文件。如果你没有添加这些dll,就应该会有运行时的错误,找不到函数入口,只有函数声明,却找不到函数实现。
再次,在嵌入式环境下,要看你的matlab的C文件有没有引用外部的函数,如果你能把所有引用到的函数的定义全部转成C文件,就不再需要添加dll。
如果你的matlab的c文件还引用了其他函数,这些函数实现就在某个dll,你就需要链接那个dll。
但是,在arm嵌入式下和你的vcwindows x86平台下,动态库编译是不一样的,linux下的动态库是.so文件。就是说,你要将生产dll的源代码拿来重新编译生成linux下的so文件才行。