草庐IT

c++ - 从 C++ 调用 Haskell 库

我正在Qt(C++)中构建一个应用程序,它使用用Haskell编写的库作为后端。如何将Haskell库的接口(interface)导出到C++?当haskell库中的函数使用像int或float这样的简单类型时,这不是问题,但是当它们使用结构作为参数时呢?在这种情况下,最具扩展性的解决方案是什么? 最佳答案 您需要编写haskell代码来将这些数据结构编码为您可以在Haskell中使用的数据结构。c2hs工具在这方面很有帮助:http://hackage.haskell.org/package/c2hs虽然该工具似乎是为从Haske

c++ - 从 C++ 调用 Haskell 库

我正在Qt(C++)中构建一个应用程序,它使用用Haskell编写的库作为后端。如何将Haskell库的接口(interface)导出到C++?当haskell库中的函数使用像int或float这样的简单类型时,这不是问题,但是当它们使用结构作为参数时呢?在这种情况下,最具扩展性的解决方案是什么? 最佳答案 您需要编写haskell代码来将这些数据结构编码为您可以在Haskell中使用的数据结构。c2hs工具在这方面很有帮助:http://hackage.haskell.org/package/c2hs虽然该工具似乎是为从Haske

c++ - 是否有任何 C++ XSLT 库?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭5年前。Improvethisquestion我想将XSD文档转换为XML文档(模板),有C++XSLT库吗? 最佳答案 Xalan可能适合(我不知道所有功能,但它是一个可靠的XSLTC++转换库)。 关于c++-是否有任何C++XSLT库?,我们在StackOverflow上找到一个类似的问题:

c++ - 是否有任何 C++ XSLT 库?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭5年前。Improvethisquestion我想将XSD文档转换为XML文档(模板),有C++XSLT库吗? 最佳答案 Xalan可能适合(我不知道所有功能,但它是一个可靠的XSLTC++转换库)。 关于c++-是否有任何C++XSLT库?,我们在StackOverflow上找到一个类似的问题:

c++ - 如何在没有硬编码的完整依赖路径的情况下构建共享库(.so)?

我需要构建两个3rd方共享库,因此它们的.so文件将被其他项目重用。但是,在构建这些库之一后,包含到另一个库的硬编码路径。此路径在其他机器上无效并导致链接器警告。如何防止完整路径嵌入到生成的.so文件中?详情:第一个库源:~/dev/A第二个库源:~/dev/B它们都有configure脚本来生成make文件。库B依赖于A。所以,首先我构建A:$~/dev/A/configure--prefix=~/dev/A-install$make&&makeinstall然后我构建B:$~/dev/B/configure--prefix=~/dev/B-install--with-A=~/dev

c++ - 如何在没有硬编码的完整依赖路径的情况下构建共享库(.so)?

我需要构建两个3rd方共享库,因此它们的.so文件将被其他项目重用。但是,在构建这些库之一后,包含到另一个库的硬编码路径。此路径在其他机器上无效并导致链接器警告。如何防止完整路径嵌入到生成的.so文件中?详情:第一个库源:~/dev/A第二个库源:~/dev/B它们都有configure脚本来生成make文件。库B依赖于A。所以,首先我构建A:$~/dev/A/configure--prefix=~/dev/A-install$make&&makeinstall然后我构建B:$~/dev/B/configure--prefix=~/dev/B-install--with-A=~/dev

c++ - 是否有一个快速的内存队列我可以使用它在达到一定大小时交换项目?

我使用c/c++/cuda不到一周,并且不熟悉库方面的所有可用选项(抱歉,如果我的问题太古怪或不可能)。这是我的问题,我有一个过程,它获取数据并对其进行分析,然后执行3件事中的1件事,(1)保存结果,(2)丢弃结果或(3)分解数据并将其发送回处理。通常选项(3)会创建大量数据,并且我很快就会超过我可用的内存(我的服务器是16gigs)所以我解决这个问题的方法是设置一个队列服务器(rabbitmq),我将发送并从中接收工作(一旦达到一定大小的内存,它就会交换队列)。当我使用具有更快网卡的小型服务器来传输数据时,这非常有效,但最近我一直在学习并将我的代码从Java转换为c/c++并在GPU

c++ - 是否有一个快速的内存队列我可以使用它在达到一定大小时交换项目?

我使用c/c++/cuda不到一周,并且不熟悉库方面的所有可用选项(抱歉,如果我的问题太古怪或不可能)。这是我的问题,我有一个过程,它获取数据并对其进行分析,然后执行3件事中的1件事,(1)保存结果,(2)丢弃结果或(3)分解数据并将其发送回处理。通常选项(3)会创建大量数据,并且我很快就会超过我可用的内存(我的服务器是16gigs)所以我解决这个问题的方法是设置一个队列服务器(rabbitmq),我将发送并从中接收工作(一旦达到一定大小的内存,它就会交换队列)。当我使用具有更快网卡的小型服务器来传输数据时,这非常有效,但最近我一直在学习并将我的代码从Java转换为c/c++并在GPU

c++ - 如何在 GCC 中链接 libc 和 libstdc++ 的调试版本?

我知道thisquestion,但它似乎对我不起作用。对于设置,使用一个简单的C++程序hw.cpp,由:intmain(){}使用g++-ohwhw.cpp-O0-g编译时在Linux上,运行ldd./hw给出:linux-gate.so.1=>(0x003e5000)libstdc++.so.6=>/usr/local/lib/libstdc++.so.6(0x007c5000)libm.so.6=>/lib/tls/i686/cmov/libm.so.6(0x006a4000)libgcc_s.so.1=>/usr/local/lib/libgcc_s.so.1(0x00a400

c++ - 如何在 GCC 中链接 libc 和 libstdc++ 的调试版本?

我知道thisquestion,但它似乎对我不起作用。对于设置,使用一个简单的C++程序hw.cpp,由:intmain(){}使用g++-ohwhw.cpp-O0-g编译时在Linux上,运行ldd./hw给出:linux-gate.so.1=>(0x003e5000)libstdc++.so.6=>/usr/local/lib/libstdc++.so.6(0x007c5000)libm.so.6=>/lib/tls/i686/cmov/libm.so.6(0x006a4000)libgcc_s.so.1=>/usr/local/lib/libgcc_s.so.1(0x00a400