不要考虑语言差异即可。在统一的.net平台上,所有的DLL都可以互相引用,而且无需考虑细节。就是引用程序集罢了,一旦引入了.net的程序集(DLL)就可以使用其中公开的类。有源代码的话还可以跟踪调试,一会儿从C#跳转到C++一会儿又跳转到VB,很有趣。如果不是工作在统一的.net平台上就比较麻烦。我不知道FORTRAN是否可以编译成DLL,如果不能,写FORTRAN的就写控制台程序,调用FORTRAN程序的通过传递命令行参数进行。
VB.net、C#托管C++可以直接互相引用
原生C++的可以写COm组件,也可以写传统的DLL。
VB.net、C#托管C++可以直接互相引用
原生C++的可以写COm组件,也可以写传统的DLL。
也就是说在一个统一的平台下也只是通过.DLL一条途径进行交互咯?
如果都用.net的话基本没有问题,各做各的,然后项目相互引用;不是的话我就不清楚了
我以前做的时候虽然也是没统一语言好歹也是c# c++.net vb.net之中的不统一...
很显然,编程语言的区别不仅仅在于类型。例如,一些语言支持多继承性,一些语言支持无符号数据类型,一些语言支持运算符重载。.NET通过定义公共语言规范(CLS:Common Language Specification),限制了由这些不同引发的互操作性问题。CLS制定了一种以.NET平台为目标的语言所必须支持的最小特征,以及该语言与其他.NET语言之间实现互操作性所需要的完备特征。认识到这点很重要,这里讨论的特征问题已不仅仅是语言间的简单语法区别。例如,CLS并不去关心一种语言用什么关键字实现继承,只是关心该语言如何支持继承。
CLS是CTS的一个子集。这就意味着一种语言特征可能符合CTS标准,但又超出CLS的范畴。这样通过符合CLS的不同语言编译出的IL托管代码再通过CLR运行时生成CPU认识的机器码。
还有就是,我们这个小组确实比较麻烦,他们用的不是.NET平台下的c++和VB,是VC++6.0 VB6.0
难道说这样就没办法统一了吗?
我试过了 还是不行
宾果~!
OK了,可以跟踪进VC的程序了,原来这么简单,
就是把C#项目属性改为启用非托管调试。
:) --------------------------------------------------------Dll项目源代码里设置断点! --------------------------------------------------------还真的是这样,又学到一样好东西咯 --------------------------------------------------------就是把C#项目属性改为启用非托管调试。
------------------
学习了:)
但是,都是在.net下开发的,最后相互引用dll就可以了