Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ SQL Server 2008,数字库,c++;,拉帕克,记忆问题_C++_Visual Studio 2008_Sql Server 2008_Memory_Lapack - Fatal编程技术网

C++ SQL Server 2008,数字库,c++;,拉帕克,记忆问题

C++ SQL Server 2008,数字库,c++;,拉帕克,记忆问题,c++,visual-studio-2008,sql-server-2008,memory,lapack,C++,Visual Studio 2008,Sql Server 2008,Memory,Lapack,我正在尝试在SQL Server 2008中发送一个数字表,如: 1att 2att 3att 4att 5att 6att 7att ... attn -------------------------------------------- 565 526 472 527 483 529 476 470 502 497 491 483 488 488 483 496 515 491 467 516 480 477 494 497 478 519

我正在尝试在SQL Server 2008中发送一个数字表,如:

1att 2att 3att 4att 5att 6att 7att ... attn
--------------------------------------------
565  526  472  527  483  529  476  470  502
497  491  483  488  488  483  496  515  491
467  516  480  477  494  497  478  519  471
488  466  547  498  477  466  475  480  516
543  491  449  485  495  468  452  479  516
473  475  431  474  460  342  471  386  549
489  477  462  428  489  491  481  483  475
485  474  472  452  525  508  459  561  529
473  457  476  498  485  465  540  475  525
455  477  415  434  475  499  476  482  551
463  476  476  471  488  526  394  439  475
479  473  491  519  483  474  476  474  478
455  518  465  445  496  500  518  470  536
557  498  492  449  478  491  492  476  460
484  509  538  473  548  497  551  477  498
471  430  482  437  516  483  487  453  456
505  476  489  495  472  476  487  516  466
466  495  488  475  550  565  510  473  515
470  490  480  475  479  544  468  486  496
484  495  524  435  469  612  493  467  477
....
....  (several more rows)
....
511  471  529  553  539  501  477  474  494

通过Visual Studio 2008(在C++项目中)到数学库<代码> LAPACK < /代码> ./P> < > > >代码> >将SQL Server中的表传递到LabCase<代码>(通过Visual Studio 2008中的C++)<强> >内存指针,或<强>存储RAM中的所有表,LAPACK读内存或指针指向内存,<强>但不写入文件并读取<<强> < /P> 您能建议如何将这样的表(可能是表在内存中的位置,或类似的内容)传递给LAPACK吗?
(所以我可以通过Visual Studio 2008 C++项目中存储的表中的LAPACK进行计算)

----编辑---

@MarkD,正如你在回答中所说的,你能给出一个例子,用这个例子中的思想计算SVD,使用std::vector类吗
?

LAPACK要求发送给它的数据采用FORTRAN样式(列顺序)数组。您无法将数据直接从SQL传递到LAPACK,但需要将数据读入按列排序的连续内存数组,并将指向数组第一个元素的指针传递给感兴趣的LAPACK例程

有许多用于C/C++的LAPACK包装器,使这变得更容易

编辑:刚才看到您专门寻找如何通过这样一个数组。正如我提到的,有很多包装器可以实现这一点(只需搜索C/C++LAPACK)。创建数组的一种简单方法是使用std::vector类。然后,您将逐列读取数据,并将元素添加到向量中-因此,如果您希望对exmaple中显示的数组进行列排序,那么向量最终将显示如下所示:

//Column 1            Column 2            Column 3          ...   last element 
 [565 497 467 488 ... 526 491 516 466 ... 472 483 480 547 ... ... 494]
然后将第一个元素的内存位置传递给感兴趣的LAPACK例程,例如:

&myVector[0]
这可以通过使用std::vector实现,因为标准确保向量使用连续内存存储。LAPACK例程还需要传递给它的矩阵/向量的大小/维度(因此需要为函数调用计算/指定这些值)


如果您可以发布您想要使用的特定LAPACK例程,我可以给出一个更详细的示例。

好的,我正在搜索,您是否使用过任何特定的LAPACK例程。。。很有趣,你的答案很好……DrkcSimple:我是FLAN库的粉丝,它有一些很好的矩阵/向量类,直接与LAPACK接口,虽然根据问题,我有时只卷自己的,使用CLAPACK接口。C++程序中通过VisualStudio与SQLServer进行通信,您是否会使用FLENS,将库添加到visual studio 2008?我想使用表中的SVD例程…@darkcminor:FLENS只是一个矩阵/容器/解算器库,与SQL无关。您需要一些其他库来与SQL Server通信,并读取值(不幸的是,我没有与C++中的SQL服务器交互的经验,也没有任何SQL库的建议)。您能给出一个计算SVD的例子吗?