草庐IT

c# - 将 C++ 库移植到 C# 的最佳方法是什么?

我有一个(仅header)C++库,我希望将其移植到C#。它是我为特定目的制作的winapi的包装器。我想将它移植到C#,因为我想使用C#进一步开发它。移植它的最有效(也是最简单的?)方法是什么。请注意,我不想忙乱,因为我不想花更多的时间来移植库,而不是首先制作该库。那么有什么办法吗? 最佳答案 这在很大程度上取决于您的库有多大、它的结构如何、您的内存分配情况如何、您使用了多少C#中不可用的库(如C++std库)、多少C++模板编程你用过等不同的策略可能是尝试通过您自己的代码生成器自动移植(部分)不要将它移植到C#,而是使用C++/

c++ - 如何使用 CLR 创建一个混合了 C 和 C++ 的 Visual Studio 项目?

我正在使用VisualStudio2008将构建在Unix上的GCC上的代码移植到Windows。Windows操作系统。我的代码包含zlib,它本身包含C文件,我可以构建这些文件并将其链接到我的Unix可执行文件中。在我开始尝试构建时,遇到的第一个错误是zlib中的C代码无法使用CLR构建,因为它不是C++。我看到有人建议将其分解为一个单独的DLL,该DLL将链接到我的可执行文件中,但我想尽可能避免共享库的复杂性。(也许这种回避更复杂?)有没有办法将我的C++与zlib的C代码混合到一个带有CLR的可执行文件中?我当前的构建错误如下:1>cl:CommandlineerrorD804

java - JMX 的轻量级、多语言替代品?

我有一个需要广泛监控的软实时应用程序项目。JMX似乎很适合这项任务,除了这个应用程序项目是基于c++的。是否有JMX的任何轻量级替代品(带有c/c++支持库)对受监控应用程序的侵入性最小?(SNMP对我的需求来说似乎真的太过分了) 最佳答案 即使SNMP对于您的应用程序来说似乎有些过分,它仍然可能是您最好的选择。NetSNMP不难使用,它有一个众所周知的监控应用程序的标准。其他一些替代方案是:系统日志不过,您可能会遇到的问题是,将其集成到监控应用程序中可能更难。但它有一个众所周知的标准,可能值得一试。JunC++ion它有一个很好的

c++ - 在 gmp 任意精度上生成正态分布

所以,我正在尝试使用gmp对于我正在做的一些计算,在某些时候我需要从正态分布中生成一个伪随机数(prn)。由于gmp有一个统一的随机变量,这已经很有帮助了。但是,我发现很难选择应该使用哪种方法从统一的方法生成正态分布。实际上,我的问题是gmp只有简单的操作,所以例如我不能使用cos或erf评估,因为我必须自己实现。我的问题是我可以在多大程度上从gmp上的正态分布生成prn,如果这非常困难,是否有任何已经实现正态分布的任意精度库。作为无效方法的两个示例(从thisquestion检索):Zigguratalgorithm使用f的评估,在这种情况下它是一个非整数指数,因此不受gmp支持。B

c++ - 在 solaris 上链接 zeromq 静态库

我想在我的构建中链接zeromq库,这样它们就不必单独安装在最终用户的机器上。我使用以下方法配置了zeromq:./configure--enable-static--disable-shared--prefix=/home/xx/out但是当我这样做的时候:g++-ozclientzmqclient.o/home/xx/out/lib/libzmq.a我收到链接错误:Undefinedfirstreferencedsymbolinfilerecv/opt/zmq/out/lib/libzmq.a(libzmq_la-signaler.o)send/opt/zmq/out/lib/li

c++ - C/C++ 泊松圆盘采样的代码/库

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在寻找一个用C或C++实现泊松圆盘采样的库,或者另一个可以轻松翻译的库。最好不是令人难以置信的长资源,但如果是也可以。

c++ - 在 C++ Eigen 库中转换 vector 数组

开始使用Eigen数学库,我在完成一个非常简单的任务时遇到了麻烦:使用四元数转换一系列vector。似乎我所做的一切都没有找到operator*,或者将数组与矩阵混合。Eigen::Quaternionfrot=…;Eigen::Array3Xfseries=…;//expectedthistoworkasmatrix()returnsaTransformation:series.matrix().colwise()*=rot.matrix();//expectedthesetoworkasit'sstandardnotation:series=rot.matrix()*series.

c++ - boost 参数库

最近我发现ParametersBoost中的库。老实说,我不明白为什么这是Boost的一部分。当需要将多个参数传递给函数时,您可以从中创建一个结构,例如:structParameters{Parameters():strParam("DEFAULT"),intParam(0){}stringstrParam;intintParam;};voidfoo(constParameters¶ms){}Parametersparams;params.intParam=42;foo(params);这很容易写和理解。现在以使用Boost参数为例:BOOST_PARAMETER_NAME(p

c++ - 几何库中的算法和数据分离(需要三重调度?)

我在设计处理几何的应用程序部分时遇到问题。特别是,我希望有一个类的层次结构和用于交叉点的单独方法。问题层次结构是这样的:几何网格参数化盒子领域交集方法类似于:namespaceintersections{boolintersection(constBox&,constBox&);boolintersection(constBox&,constSphere&);}这很简单。现在问题出现了,当我想将所有几何图形一起存储在一个结构中时,例如std::vector(或KD树,或其他)。为此,我需要使用std::vector.然而,从这个vector中读取会让我得到Geometry*对象,因此我

c++ - 无法将 boost 库连接到我的项目 "symbol lookup error"

我有以下情况:我已经创建了动态库lib.so。这个库使用了另一个静态库lib.a。它们都使用Boost库(我将它们链接到CMake文件中)。(我在Java项目中使用了这个动态库)这是lib.so中file.cpp的代码,从lib.a调用getFilesFromDirectory()#include"DrawingDetector.h"#include"../../DrawingDetection.h"#include#includeusingnamespacestd;JNIEXPORTvoidJNICALLJava_DrawingDetector_detectImage(JNIEnv*