草庐IT

mini-program-iconfont-cli

全部标签

c# - 引用 C++/CLI 项目,C++/CLI 枚举未显示在 C# 中

我无法让C++/CLI枚举的内容显示在C#项目中。我可以看到我编写的类内部,甚至可以看到枚举,但看不到枚举值。所以我不能在我的C#端使用这个东西。C++/CLI枚举的内容不显示的任何原因。我的C++/CLI项目被混合编译以重用C++库。我使用的是VisualStudio2005。 最佳答案 确保您使用enumclass创建与.NET兼容的枚举,而不是原生C++enum类型。更高版本的VisualC++需要publicenumclass,以消除enumclass上下文关键字的歧义,它是C++11的一部分(因此创建了一个本地类型).

c - Boost.Program_options 的良好 C 替代方案?

用C编写的任何替代Boost.Program_options的好选择?鉴于它能够解析:短选项,如-h像--help--input-file这样的长选项解析重复的键/选项接受键值对:--mysql=/usr/lib解析环境变量和XML/INI文件是可选的。 最佳答案 如果您同意GPL许可证,您需要GNUgetopt. 关于c-Boost.Program_options的良好C替代方案?,我们在StackOverflow上找到一个类似的问题: https://st

c++ - "program to interfaces"是C++项目中常见的设计原则吗?

最近几天我读了很多关于“程序到接口(interface)”和“控制反转”的内容。主要是在Java语言的上下文中。我的问题是这是否也是C++开发中的常见做法。有什么好处?有什么缺点?是否值得申请小型项目(例如15-20节课)? 最佳答案 是的,这很常见,但不是您所期望的形式。在Java中,接口(interface)是形式化和显式的,针对接口(interface)编程意味着实现特定的接口(interface)。在C++中,有时也会这样做(尽管使用抽象基类而不是接口(interface)),但在C++中,另一种常见的做法是使用模板,其中接

c++ - 如何在不使用变量的情况下启用 Boost Program Options 中的其他选项?

我使用程序选项来解析我的应用程序的命令行选项。我有几个选项,例如-Ox、-Oy、-Oz,...我想要一个super选项-Oall启用Ox和Oy,另一个-Osub启用Oz和Ow。有没有办法使用BoostProgramOptions来做到这一点?一开始想查看Oall的值,然后手动启用Ox和Oy,但是解析后无法编辑值。我想避免使用变量来存储Ox、Oy的值,因为我可以有很多这些选项。谢谢 最佳答案 我在您的程序逻辑中更多地看到了这一点,所以我怀疑程序选项是否提供了这一点。简单地使用if(Oall){Ox=Oy=Oz=true;}等等

c++ - 获取 OpenCV 错误 : Insufficient memory while running OpenCV Sample Program: "stitching_detailed.cpp"

我最近开始使用OpenCV,目的是将大量图像拼接在一起以创建大型全景图。为了开始我的实验,我查看了OpenCV文件附带的示例程序,以了解如何实现OpenCV库。因为我对图像拼接很感兴趣,所以我直接找到了“stitching_detailed.cpp”。代码可以在以下位置找到:https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/cpp/stitching_detailed.cpp?rev=6856现在,这个程序完成了我需要它完成的大部分工作,但我遇到了一些有趣的事情。我发现对于15个可选投影变形器中的9个,我在尝试运

c++ - Qt "The program has unexpectedly finished."关闭

我有一个关于QML2(Qt5.2.1)的项目。似乎可以正常工作。但是当我在QtCreator的“应用程序输出”(底部的那个东西)中关闭正在运行的项目(ALT+F4或其他)时,在1-2秒,我收到以下消息:Theprogramhasunexpectedlyfinished.bla-bla-bla.execrashed这发生在发布和Debug模式中。我在调试下启动,但没有收到任何错误。我从最后一个析构函数开始一步一步地进行,直到返回1的returnapp.exec();。我的意思是除了这个-我没有看到任何错误。我应该为此担心吗?我可以知道此消息的原因吗?有没有办法获得更具体的消息?我尝试从c

c++ - 更好地处理 boost::program_options 中丢失/错误的键

有没有办法知道当像下面这样的调用失败时涉及到哪个键?boost::program_options::variables_mapvm;...intfoo_bar=vm["some_key"].as();如果键从映射中丢失,或者不能转换为int,我会得到一个相当无用的bad_any_cast,并且我不知道以下任何内容:涉及的关键储值,或者即使它存在。涉及的类型我找不到任何不涉及修改boostheader或将对上述内容的每次调用包装在try..catchblock中的解决方案。我认为这是一个常见问题,所以也许其他人知道更好的方法。 最佳答案

.net - 如何在托管 CLR(不使用 C++/CLI)的 native C++ 应用程序中创建通用 .NET 类型?

在.NET程序中我可以createagenerictype通过:System::Type::MakeGenericType(...)必须有一种方法可以在nativeC++中为.NET类型执行此操作(使用_TypePtr)。我正在托管我自己的CLR实例,而不是使用C++/CLI。(Here'sanexampleofhowthatcanbedone。)我的方法是:_TypePtrBuildGenericType(_TypePtrspGenericType,_TypePtrspTypeArgs[]){returnspGenericType->.....???}但是没有MakeGenericT

c# - C++/CLI 中的 System::IntPtr 到 int*

我正在尝试使用C++/CLI互操作层从C#应用程序调用现有的C++库。我有一个看起来像这样的C++函数:voiddoSomething(int*foo,intsize);还有一个C#对象,它包含两个字段,一个IntPtrstart和一个intsize。我编写了一个如下所示的托管C++类:publicrefclassWrapper{public:voidrun(System::IntPtritn,intsize);};现在我想在Wrapper::run中调用doSomething,并让doSomething可以访问C#对象指向的同一数据block。如果没有拷贝,我尝试做的事情是否可行?如

C++ 结构大小不等于 C++/CLI 中的 C++ 结构大小?

我的问题是指标题中提到的问题。我在头文件中有一个简单的结构,如下所示:typedefstruct{WORDFileType;//FileID(0x7000)WORDHeaderSize;//SizeofthisfileheaderinBytesWORDHeaderVersion;//yy.yULONGFileSize;//SizeofthewholefileinBytesWORDImageHeaderSize;//SizeoftheimageheaderinBytesWORDULX,ULY,BRX,BRY;//boundingrectangleoftheimageWORDNrOfFra