帮助解决从dll中导入函数的问题 - 页 8

 

阅读谷歌,看来我对stdafx.h的理解是正确的:-))

嗯......是的......。活到老,学到老...:-)

 

是的,是的。

很多时候,第一个链接就包含了你需要的一切。

 

有趣的是......在Bilder 6中,没有人真正对stdafx.h文件发誓,只有17个警告,文件的重量只有一半。

嗯...是的...

我现在有两个看起来可以工作的库:-)。我将在他们与数据合作的过程中检查他们。真的希望有一个积极的结果:-)))

 
jartmailru писал(а)>>

嗯...好吧,我有点不得不把所有的 文件粘在项目中

你送我的。

.

说实话,我甚至不会想到要去想

从*库中的文件集中选择哪一个文件

来添加到该项目中。

我以为它们是通过h-files自动向上拉的。然而,在我第一次只使用svd.cpp文件进行编译和链接时,在我加入extern之前没有任何错误。svd.cpp有一个与它的h文件的链接,它引用了其他h文件,而这些文件使用了同名的cpp文件。似乎和我想的一样有道理。我只是想为自己辩解一下,这样你就不会认为我完全是个傻瓜 :-))。当你得到这样一个关于你的意见时,真是太可惜了:-))。开玩笑的 :-))

 
boysn >> :

我以为它们是通过h文件自动拉上链的。然而,第一次,只使用svd.cpp文件,我编译并滑行,在我添加extern之前没有任何错误。svd.cpp有一个与它的h文件的链接,它引用了其他h文件,而这些文件使用了同名的cpp文件。似乎和我想的一样有道理。我只是想为自己辩解一下,这样你就不会认为我完全是个傻瓜 :-))。当你得到这样一个关于你的意见时,真是太可惜了:-))。开玩笑的 :-))

为了不犯这样的错误,你需要知道这一点。

* 为什么将文件分为.CPP/.H

* 函数声明和声明之间的区别

* 为什么我们需要内联/模板关键词?

* 如果你在类的声明中声明函数会发生什么?

* 编译和链接的目的

*.OBJ/.LIB/.DLL/.EXE的区别和用途

* 静态和动态连接

* 什么是链接器错误 = 未解决的函数

* 什么是链接器错误=多个符号

* 链接器如何构建二进制文件

* 什么是外部性

.

所以在某个地方。

 
jartmailru >> :
* 函数的声明和声明之间的区别。

好吧,宣言和声明是同一件事:)。

声明--定义。

 

是的...我意识到我错了...没关系,我们会学到...

关于收到的dll...不幸的是,到目前为止,它并没有达到我的期望:-),也就是说,它肯定没有马上就能成功。原则上说,如果能马上得到它,那就非常好了。

唉,奇迹永远不会发生......。:-)

我试着给它输入一个3x3的方形矩阵。我知道输出应该是什么,我从例子中知道。不幸的是,输出有零的奇异值,向量的输出矩阵也是奇异的。

也就是说,似乎做了什么,但我不知道是什么。根据我的理解,不可能在dll里面写输出信息......如print("a["+i+"]", a[i]), 因为它不会打印...这是我从这个主题的第一个例子中判断出来的......

那里是printf("GetDoubleValue需要%.8lf\n",dpar)函数

没有信息被打印到元交易员的日志中,只显示了返回的函数值(返回)。

所以,按照我的理解,我不能这样调试,对吗? 还是我又搞砸了?

现在我正试图创建一个exe项目而不是dll项目,因为你告诉我eche项目更容易调试...。

虽然WinMain功能出现在那里,我仍然无法弄清楚如何将我的项目正确地停靠到exe项目中......

我还不明白哪些功能的输出和哪些工具更适合我调试......。我现在正在读阿尔汉格尔斯基...

 
TheXpert >> :

嗯,声明和公告是同一件事 :)。

声明--定义。

谢谢你的错误。我知道它的英语:-)。

 
boysn >> :

然而,WinMain功能出现在那里,我还没有想出如何正确地停靠我的项目,为eche项目服务......

而且我还没有弄清楚我应该调试哪些输出函数和工具......。我现在正在读阿尔汉格尔斯基...

而你,同志,用你的矩阵3对3和调试输出写一个测试代码--一切都会成功的。

最主要的是,你需要一个*控制台*应用程序来实现printf()。

 
是的,我将尝试...